Yet more flake8 fixes

This contains some of the wordier whitespace fixes from flake8.
The remainder are the ones I think you want to keep as-is:

E203 whitespace before ':'
E231 missing whitespace after ':'
E501 line too long (89 > 79 characters)
F403 'from messages import *' used; unable to detect undefined names

Yup, these all look good, and you're correct that I want to keep those exceptions.


Use floating point for stakevote calculations

This fixes the rounding problem by using floats for the stakevote calculations. In order to not lose the security provided by safemath, I have updated safemath to allow for checked downcasts from float to int/uint.

Task linked: DEMZNE-1090 Use floating point for stakevote calculations


Logo is not showing up on SBH2

The logo should show up in the corner and on the front page.

/logo

Cache it in the cookie similar to theme and registries

Closed with #702


Can send response message with

In the reservations controller you can send a message to the host by sending back a <Message> TwiML where the to attribute is the intended receipient (e.g. it doesn't have to be a reply to the sender of the message).
This would eliminate an extra HTTP request, and looks like an extra database read too. Would also reduce code in the model.

Fixed: https://github.com/TwilioDevEd/anonymous-communications-rails/commit/15c754a48abf52096ecc611f97364dc4bd134972

The other bit in the controller still sends the message via the model code.

Well sure, but in that case we still have to do the extra ActiveRecord query, so there is little point in pulling that out.

Okay made the change, updated the tutorial. Leaving the model code, since it still has utility.


Legit crypto domains blocked

many legit crypto sites get blocked by the standard list...

binance.com
bitfinex.com
coinmarketcap.com
even bitcoin.org :-)

can you please remove the legit sites from the list?
or move all crypto sites to a sub-list?

+1 for this. Any reason for blocking them?

The right place to ask,complaint etc. is here: https://gitlab.com/ZeroDot1/CoinBlockerLists/issues

This has been partly addressed in https://gitlab.com/ZeroDot1/CoinBlockerLists/issues/48 and partly fixed in Release 2.5.8, a few minutes ago.

OK everyone, with Release 2.5.9 the CoinBlockerList is removed until their Issue 48 is resolved, which should be soon.
Closing.

Meanwhile, I would LOVE to know the Gitlab URL scheme to fetch the version of a file at a particular commit hash.
Because I tried to redefine the CoinBlockerList update.json url element, but I couldn't get it to work with the previous version of a file on GitLab.
That's why CoinBlockerList is temporarily dropped entirely, which is a suboptimal resolution.

https://gitlab.com/ZeroDot1/CoinBlockerLists/raw/2f489d2d926daa450db73853878cfd9e12db8ae4/hosts_browser

@spirillen I tried that; that URL, and all attempts using gitlab.com, did not work.
The URL we were using for CoinBlockerList was to domain zerodot1.gitlab.io.
Specifically,
https://zerodot1.gitlab.io/CoinBlockerLists/hosts_browser

That returns latest from master branch, which isn't what we want.

Hey @StevenBlack that was for the master, yes but it was for helping with the layout of the url as I understood your request was

@spirillen yes, we need to get the file from their commit 2f489d because our updateHostsFile.py presently fails when fetching from gitlab.com.  We know fetching from zerodot1.gitlab.io works, but how to get a prior version from there?

2f489d seems to be the latest...... = master
as i can understand the commit you search from #48 is a realease without the coinmarketcap.com
Let me do some digging a let me find the solution for you :)
Should it be a temponary or permanent solution?

Temporary until their Issue number 48 is sorted.

This should do it
it's released 2019-08-13 17:19:05
wget -qO - 'https://gitlab.com/ZeroDot1/CoinBlockerLists/raw/19245ea9fe8021c5c8d88128e4298085c47422e5/hosts_browser' | grep 'coinmarketcap.com'

wget -qO - 'https://gitlab.com/ZeroDot1/CoinBlockerLists/raw/19245ea9fe8021c5c8d88128e4298085c47422e5/hosts_browser' | more
# Contribute: https://gitlab.com/ZeroDot1/CoinBlockerLists/issues/new
# Copyright: (c) ZeroDot1, 2019
# Description: This list disables browser based miners such as coin-hive
# Donate: http://bit.ly/CBLDonate Every donation keeps the future development going. Thank you.
# Homepage: https://github.com/ZeroDot1/CoinBlockerLists
# Last modified: 2019-08-13 17:19:05
# License: https://gitlab.io/ZeroDot1/CoinBlockerLists/LICENSE
# [CoinBlocker hosts List optional by ZeroDot1]
<IP_ADDRESS> 000.0x1f4b0.com
<IP_ADDRESS> 001.0x1f4b0.com
<IP_ADDRESS> 002.0x1f4b0.com
<IP_ADDRESS> 003.0x1f4b0.com
<IP_ADDRESS> 004.0x1f4b0.com
<IP_ADDRESS> 005.0x1f4b0.com
<IP_ADDRESS> 006.0x1f4b0.com
<IP_ADDRESS> 007.0x1f4b0.com
<IP_ADDRESS> 008.0x1f4b0.com
<IP_ADDRESS> 009.0x1f4b0.com

@spirillen please.  Whatever you conjure, run it through UpdateHostsFile.py and see if it works.
Then and only then make this thread longer.
I didn't need this to be a long conversation.  I just want a solution.  Right now we're OK without CoinBlockerList.  I'm happy to leave it at that.

Hi Steve @StevenBlack! I don't use GitLab anymore but this is the URL scheme I used in the past for one of my private projects.
(Hopefully this still works 😅)
https://gitlab.com/{owner_login}/{project_login_or_name}/raw/{branch_name}/{filename_or_path}

Cheers!


Install phyloseq_from_dada2 1.46.0+galaxy0 at ORG

Following tools missing: toolshed.g2.bx.psu.edu/repos/iuc/phyloseq_from_dada2/phyloseq_from_dada2/1.46.0+galaxy0
https://training.galaxyproject.org/training-material/topics/microbiome/tutorials/dada-16S/workflows/

Installed now, thanks!


Automate publish to npm and bower using travis

Travis has an API to publish to npm. A bower publish could be triggered when travis finishes to publish to npm using the bower cli api. After that done may be easy to remove the dist from the repository (ref #18).

I wouldn't mind taking this on. How do you want to publication to happen? Do you want Travis to publish when you create a tag or deploy to a specific branch?

creating a tag will suit best


Add Heise Shariff support

This patch add support for the c't Shariff-Project to offer privacy enabled social media buttons. For more information, see Shariff on GitHub. You may refer to my web-site as an example.

Hi Daniel! Thanks for your contribution. I'd love to merge this, but could you please move the javascript tag from the base.html into the article.html, in the script block there? See this commit on how I did this for AddThis as well: https://github.com/DandyDev/pelican-bootstrap3/commit/b37323a0e7ddc1bda70a9bd8482ec09b024dbb51 That way the javascript only gets loaded when the template requires it :)

Ok, I’ll try if this works on the weekend.
Regards,
Daniel

Am 10.02.2015 um 20:56 schrieb Daan Debie<EMAIL_ADDRESS>Hi Daniel! Thanks for your contribution. I'd love to merge this, but could you please move the javascript tag from the base.html into the article.html, in the script block there? See this commit on how I did this for AddThis as well: b37323a That way the javascript only gets loaded when the template requires it :)
—
Reply to this email directly or view it on GitHub.

--
Daniel Kriesten
<EMAIL_ADDRESS>http://www.die-kriestens.de

I moved the code accordingly and updated shariff to v1.7.3. As far as I can see on my own site, the code is working and therefore ready to be merged :blush:

Great! Merged :)


Debug Assertion Failed: vector subscript out of range when _maxPollRecords reaches the value of 500

Subscript out of range when _maxPollRecords reaches the value of 500
Changing the default value using "max.poll.records" property fixes the issue if you don't reach the limit again.
// Wrap messages with ConsumerRecord
output.clear();
output.reserve(msgReceived);
=here===>    std::for_each(&msgPtrArray[0], &msgPtrArray[msgReceived], [&output](rd_kafka_message_t* rkMsg) { output.emplace_back(rkMsg); });

Did you get the error on a windows platform?
While I believe the problem has been fixed, https://github.com/morganstanley/modern-cpp-kafka/pull/100/files

On Windows. Yes, it seems to be fixed... I have to update my local copy, thanks!

On Windows. I have pending the update, but that seems not to solve the issue. The above change substitutes access operator [] with iterators, but nothing prevents that when the limit is reached a "array iterator + offset out of range" occurs .

The above change substitutes access operator [] with iterators, but nothing prevents that when the limit is reached a "array iterator + offset out of range" occurs .

Oh, sorry, I'm not a fun of Microsoft and had not tried with a local windows dev env. 😅 Could you please share the error message you met? and the build environment? (Visual C++?)
Actually, the array iterator + offset would not be out of range (neither the previous implementation), we were just trying to get rid of the "false alarm".

Microsoft is not so bad, nowadays is in love with Linux ;-)
Microsoft Visual Studio Community 2019 - Version 16.8.3

I have not had time to examine this issue in depth, and I'm sure I'm absolutely wrong, but it seems that a boundary condition needs to be managed in some way...
Thanks

Thank you for the detailed info, @jquare!
Could you please try with the fix from https://github.com/morganstanley/modern-cpp-kafka/pull/100?  (i.e. use msgPtrArray.begin() + msgReceived, instead of &msgPtrArray[msgReceived]) I guess it can't say "vector subscript out of range" this time? 🤔

It works perfectly. msgReceived never exceeds the limit set by _maxPollRecords and msgPtrArray.begin() + msgReceived  turns out to be a safe operation. The issue seems to have been solved by people smarter than me. Thank you very much, especially for creating a so elegant library that it abstracts you from librdkafka


Fix #370 Use ExtClassLoader instead of null as parent

Looks good to me. Now, we need to find out. why this isn't working on Windows. 🤔

It was not happy with * in the test name. It seems fine now.


[analysis_server] How to get whole method as a SourceRange

Is it possible to use addDartFileEdit to replace a method. I've been trying to search how I can easily use whole method as a SourceRange, but I've been unable to find any information regarding this.
Thanks.

That depends on what you mean by the "whole method". If you have a MethodDeclaration node, you can use RangeFactory (from the analyzer_plugin package) to get a SourceRange for everything covered by that node. The MethodDeclaration node covers everything from the beginning of the first documentation comment or annotation through the end of the method's body.
If you want a subset of that, for example everything except the documentation comment and annotations, then you'll need to use a method like RangeFactory.startEnd starting with the node.firstTokenAfterCommentAndMetadata and ending with the end of the method node.

@bwilkerson Thanks for your response. The latter one is what I was looking for.


Added icons and images in separate folders

Added all icons and images in folders
Located in the "public" folder as the QA guide rules mentioned.

Need a tab icon?

Not sure if all icons and images are added here it still has to be checked but i got permission from SM to review it as it is and merge it because we need them to go forward.


item's width too small when item size less than 3

BottomNavigationHelper --> getMeasurementsForFixedMode --> line 40
int maxWidth = (int) context.getResources().getDimension(R.dimen.fixed_min_width);
It will work normal as long as you change fix_min_width to fix_max_width .

please fix it！


Try two times to clear the reset alert bit

.. this is needed at least on CircuitPython 8.0.0-beta.6 and esp32-s3 (prototype esp32-s3 reverse tft feather)
With this change >3000 successive initializations succeeded. Before this change, it did not seem that initialization ever succeeded.
A delay alone was not sufficient to fix the problem.
Since this has only been seen on the esp32-s3, it's likely that this is really one of those core I2C bugs that we love chasing so much. But the workaround is simple and shouldn't hurt anything besides taking a few more bytes of CIRCUITPY.

.. but the second failure was different, it was a 'real' pylint failure. I corrected that, let's see how the next run goes.

and the other half of the failure is because I branched from an older spot, I think.


Added support for \mathbb, \mathrm, and \mathit

This addresses issue https://github.com/Khan/KaTeX/issues/19 and partially addresses issue https://github.com/Khan/KaTeX/issues/42.

Very nice. I pulled your mathrm_mathbb branch just so I could use this. \mathbb{R} for real numbers is essential. Is there a reason why this isn't merged yet? Can I help in any way?

Are you considering implementing this? I think mathbb would be a great addition.

:1234: :+1:

I agree this should be merged. This feature is absolutely critical for me to use KaTeX as I work with sets a lot.

I agree this should be merged.

@xymostech :+1:

:+1: Only found out KaTeX had no mathbb today, because I assumed it’d just have it – this is a must have!

I've rebased the code and added support for MathML.  I need to update the screenshots though using the new screenshotter.

The screenshots have been updated using the new screenshotter.  @xymostech This is ready for review now.

I should have looked at this before starting my own work on this issue, as I did in #258. Nice work already. Your MathML construction is very elegant with that math-variant thingy. It avoids those exotic unicode symbols which I had been using.
One thing that I think I got right is the list of supported characters for each font. With your code, if someone drops a lower-case letter in any of these functions (except for k in \mathbb), it will use the KaTeX_Main font and display a warning message about missing metrics. I think it would be better to fall back to normal italic symbols in those cases. That's what MathJax is doing there, and it feels right to me. LaTeX just renders whatever symbols happen to be in the AMS font in these locations, but I'd consider this a bug, not a feature. I haven't yet decided if the MathML should do such a fall-back as well, i.e. whether it should be closer to the input or closer to the output if these don't agree.
The global variable fontStack in buildMathML is really ugly. In particular, if one rendering run aborts due to an exception, subsequent runs may start with a non-empty stack. Perhaps we should add an options object, as it's used in buildHTML. Or perhaps we should make all of these functions methods of some object which can be used to hold such state. Or we should at least clean out the stack at the top level invocation for buildMathML.
Do you want to add \mathscr as well? Can this be distinguished from \mathcal in the MathML variant? How about the obsolete but shorter \Bbb synonym to \mathbb? I believe that there may be similar synonyms for the other fonts as well.

It should probably fallback to whatever font is appropriate.  We don't have double struck numbers so we should use KaTeX_Main for those and KaTeX_Math for lowercase letters (and Greek) as suggested.  MathJax's MathML output matches its fallbacks.
I will do something about the fontStack.  Thanks for pointing out the exception issue.
I can add \mathscr.  Its mathvariant would also be script.  MathJax adds an additional class attribute to make the distinction in its MathML rendering.
If \Bbb is obsolete what's the motivation in supporting it?

If \Bbb is obsolete what's the motivation in supporting it?

Because people are till using it. In my opinion it's the same reason which made you jump through hoops to get \over working despite the existence of \frac, except that there are no serious hoops involved for \Bbb. OK, \over is plain TeX, right, which hasn't really been “obsoleted” by LaTeX, but that's just a matter of terminology. Both have more modern replacements, both are being used nonetheless, and both are supported on the (La)TeX side, even if a notice gets displayed.

Good enough for me.

I got rid of fontStack and replaced it with an options parameter mirroring what was done in buildHTML.js.  I added some tests that verify that the mathvariant attribute is correct in the MathML output.  @gagern are there any other font aliases I should add?

are there any other font aliases I should add?

From my amstex.sty:
\def\frak{\mathfrak}
\def\Bbb{\mathbb}
\def\bold{\mathbf}

And from my article.cls:
\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
\DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal}
\DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal}

Looking at my amsldoc.pdf:

For more comprehensive information on font use in LaTeX, see the LaTeX font guide (fntguide.tex) or The LaTeX Companion [4]. The basic set of math font commands in LaTeX includes \mathbf, \mathrm, \mathcal, \mathsf, \mathtt, \mathit. Additional math alphabet commands such as \mathbb for blackboard bold, \mathfrak for Fraktur, and \mathscr for Euler script are available through the packages amsfonts and euscript (distributed separately).

So if you are aiming for completeness in terms of supported font commands (I'm not saying that you should be, if that means merging this feature will take considerably longer), then \mathbf, \mathsf and \mathtt should perhaps be added to your TODO list.
Another thing to consider is \boldsymbol, declared in amsmath.sty and amstex.sty. We probably could reproduce \pmb as well, but if we do, we should do it in the same “poor” way as \pmb does, i.e. by typesetting the same box repeatedly, with slight offsets. Or perhaps using the text-shadow CSS property to achieve something similar. I'd say that's a different issue, and not one for which I envision urgent need.

Implemented \imath and \jmath as per https://github.com/Khan/KaTeX/issues/191.

Personally, I'd combine all the screenshot tests into a single one, e.g. using the array environment for multi-line support. But that's just my taste, I guess, trying to keep the number of image files in the repository small.
I guess I'd also include \mathbb k in the mathbb screenshot. And perhaps the KaTeX symbol in one of them, to verify it's not affected by font changes.

The old font commands (those declared using \DeclareOldFontCommand) don't affect the single following group, but instead the current group to the end of that group, the way sizing commands work. So they are not exact synonyms. I guess that we generally should have a screenshot to verify the scope of each of these commands: affecting deep levels not just the top level, but ending after the argument (for the modern notation) resp. at the end of the current group (for the old notation).

Personally, I'd combine all the screenshot tests into a single one, e.g. using the array environment for multi-line support.

I was thinking about doing this, but I'm worried about having dependencies between tests.

The old font commands (those declared using \DeclareOldFontCommand) don't affect the single following group, but instead the current group to the end of that group, the way sizing commands work.

Thanks for highlighting the distinction.  I'll save those "alias" commands for another pull request.

I guess that we generally should have a screenshot to verify the scope of each of these commands

Agreed.

And perhaps the KaTeX symbol in one of them, to verify it's not affected by font changes.

Interestingly LaTeX doesn't support \LaTeX inside math mode.

The plan is to break this PR into 3 separate PRs, namely:

[ ] font metrics + CSS changes
[ ] HTML implementation + screenshot tests
[ ] MathML implementation + unit tests
Once each of these have been merged, I'll close this PR.

Depends on:

https://github.com/Khan/KaTeX/pull/290
https://github.com/Khan/KaTeX/pull/291
https://github.com/Khan/KaTeX/pull/292

Closing because this has been implemented in https://github.com/Khan/KaTeX/pull/290, https://github.com/Khan/KaTeX/pull/291, and https://github.com/Khan/KaTeX/pull/292.


int64_t(%lld) cannot be displayed correctly on esp32c2 (XTAL=26MHz) (IDFGH-12451)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
v5.2.1-210-gcf7b9bed4c
Espressif SoC revision.
esp32c2
Operating System used.
Linux
How did you build your project?
Command line with CMake
If you are using Windows, please specify command line type.
None
Development Kit.
esp32c2 development board
Power Supply used.
USB
What is the expected behavior?
%lld can be displayed correctly on esp32c2 (XTAL=26MHz)
What is the actual behavior?
%lld cannot be displayed correctly on esp32c2 (XTAL=26MHz)
Steps to reproduce.
Build this code to esp32c2(26MHz XTAL)
#include <stdio.h>
#include <inttypes.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_log.h"
#include "esp_timer.h"
#include "rom/ets_sys.h" // ets_get_cpu_frequency()

static const char *TAG = "MAIN";

void app_main()
{
#ifdef CONFIG_IDF_TARGET_ESP32
    ESP_LOGI(TAG, "Core is ESP32@%"PRIu32"Mhz", ets_get_cpu_frequency());
#elif defined CONFIG_IDF_TARGET_ESP32S2
    ESP_LOGI(TAG, "Core is ESP32S2@%"PRIu32"Mhz", ets_get_cpu_frequency());
#elif defined CONFIG_IDF_TARGET_ESP32S3
    ESP_LOGI(TAG, "Core is ESP32S3@%"PRIu32"Mhz", ets_get_cpu_frequency());
#elif defined CONFIG_IDF_TARGET_ESP32C2
    ESP_LOGI(TAG, "Core is ESP32C2@%"PRIu32"Mhz", ets_get_cpu_frequency());
#elif defined CONFIG_IDF_TARGET_ESP32C3
    ESP_LOGI(TAG, "Core is ESP32C3@%"PRIu32"Mhz", ets_get_cpu_frequency());
#elif defined CONFIG_IDF_TARGET_ESP32C6
    ESP_LOGI(TAG, "Core is ESP32C6@%"PRIu32"Mhz", ets_get_cpu_frequency());
#elif defined CONFIG_IDF_TARGET_ESP32H2
    ESP_LOGI(TAG, "Core is ESP32H2@%"PRIu32"Mhz", ets_get_cpu_frequency());
#endif
    int64_t time = esp_timer_get_time();
    ESP_LOGI(TAG, "time=%lld us", time);
}

Debug Logs.
I (315) MAIN: Core is ESP32@160Mhz
I (315) MAIN: time=34226 us

I (283) MAIN: Core is ESP32S2@160Mhz
I (293) MAIN: time=802396 us

I (305) MAIN: Core is ESP32S3@160Mhz
I (305) MAIN: time=307432 us

I (386) MAIN: Core is ESP32C2@120Mhz(26MHz XTAL)
I (386) MAIN: time=ld us

I (282) MAIN: Core is ESP32C3@160Mhz
I (292) MAIN: time=295127 us

I (283) MAIN: Core is ESP32C6@160Mhz
I (293) MAIN: time=295725 us

I (283) MAIN: Core is ESP32H2@96Mhz
I (293) MAIN: time=296210 us

More Information.
No response

You probably have CONFIG_NEWLIB_NANO_FORMAT enabled (as it is enabled by default on C2). Please try disabling, then 64-bit formatting should work.

Thank you for your reply.
I changed it and confirmed it works fine.

I (386) MAIN: Core is ESP32C2@120Mhz
I (386) MAIN: time=396460 us

I would like it to be disabled by default in C2 as well.


Default option of 'import/consistent-type-specifier-style' is 'prefer-inline' but it doesn't work as Doc's description

Description:
Problem in: "import/consistent-type-specifier-style" default option. My version is: 2.28.1
As Doc's description, By default the rule will use the  prefer-inline option.
Example:
code import React, { type ComponentProps } from 'react';
Works in: 'import/consistent-type-specifier-style': ['error', 'prefer-inline']
But fails in: 'import/consistent-type-specifier-style': 'error'
As Doc's description, By default the rule will use the  prefer-inline option, what am I doing wrong?

What version of TypeScript and the TS resolver do you have installed?

Hi @ljharb , my typescript version is  "typescript": "5.1.6" and resolver-typescript version is "eslint-import-resolver-typescript": "3.5.5",

Can you try updating to v3.6.0 of the resolver, and v5.2.2 of TS?


(WIP) Transport Compression

PR for #8. Opening here in case there are interim comments, suggestions, or requirements. I have seen the @athre0z branch and will incorporate as necessary. Plans are to finish remaining work as time permits.

[x]  Develop a CityHash128 library
[x] Test CityHash128 against ch hash values (only been hand tested)
[x] Implement new CompressedBlock or alternative refactoring

If time permits, I'd like to solicit some feedback on this implementation.
I can add more tests explicitly around reading/writing compressed blocks if desired. I stuck with @athre0z's sketch for chread and chwrite on the same Block structure instead of adding some more types & doing value dispatch on the compression method or something along those lines -- but happy to refactor as desired.

As an aside, this is just one of the features that I wanted for my own use, but my current plans are to implement the DBInterface next. This will require something akin to #9 - clickhouse-driver seems to have a simple implementation of that which I plan to follow. Following that, I'll beef up the docs.
I also think we should maybe tear out the explicit query building on insert ("INSERT INTO $(table) VALUES") and instead overload execute to take an iter wherein the ddl_query would be passed from the user as "INSERT INTO {{table}} VALUES" which I believe is more safer, more flexible, and more intuitive for users. We can move these discussions to issues but just wanted to jot down some thoughts.

city_hash_128 performance is now appropriate due to not allocating in fetch64 and friends. Benchmark for a 523001 length string.
Before:
BenchmarkTools.Trial: 260 samples with 1 evaluation.
 Range (min … max):  18.340 ms … 22.842 ms  ┊ GC (min … max): 0.00% … 16.17%
 Time  (median):     18.621 ms              ┊ GC (median):    0.00%
 Time  (mean ± σ):   19.274 ms ±  1.365 ms  ┊ GC (mean ± σ):  3.52% ±  6.18%

    ▂██
  ▂▄███▇▂▂▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▃▅▅▄▃▂ ▂
  18.3 ms         Histogram: frequency by time        22.2 ms <

 Memory estimate: 10.48 MiB, allocs estimate: 245180.

After:
BenchmarkTools.Trial: 6759 samples with 1 evaluation.
 Range (min … max):  684.250 μs …   3.343 ms  ┊ GC (min … max): 0.00% … 78.02%
 Time  (median):     717.375 μs               ┊ GC (median):    0.00%
 Time  (mean ± σ):   738.717 μs ± 202.423 μs  ┊ GC (mean ± σ):  2.70% ±  7.25%

                ▁▅▇█▇▄▂▁
  ▂▄▃▂▂▂▂▂▂▂▂▂▃▅████████▆▆▅▄▄▃▃▃▃▃▂▃▂▃▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▁▂▁▁▁▁▁▁▂▂ ▃
  684 μs           Histogram: frequency by time          795 μs <

 Memory estimate: 510.98 KiB, allocs estimate: 5.

The other suggested changes were also implemented (thanks)

@athre0z anything else you would like for this PR?

Thanks for the update and your patience -- my time has unfortunately been rather limited in the past few days and will likely continue to be for the next two weeks. I'll try to carve out some time tomorrow for a final review pass.
In the mean time: I noticed that the DelimitedFiles package is being used in the tests while not being listed in Project.toml, causing the tests to fail unless manually installed up front. We'll either want to add this as a test-dependency or stop using this package; adding a general dependency just for the tests seems a bit overkill. I don't really have a preference here: feel free to pick what is easier for you.

Thanks for the update and your patience -- my time has unfortunately been rather limited in the past few days and will likely continue to be so for the next two weeks. I'll try to carve out some time tomorrow for a final review pass.

No worries -- appreciate your thoughtful review! The comments you've made have been resolved. I will also see if I can squeeze a PR into CodecLz4.jl to fix the GC issue upstream and then later remove it here in a new PR.

In the mean time: I noticed that the DelimitedFiles package is being used in the tests while not being listed in Project.toml, causing the tests to fail unless manually installed up front. We'll either want to add this as a test-dependency or stop using this package; adding a general dependency just for the tests seems a bit overkill. I don't really have a preference here: feel free to pick what is easier for you.

Resolved - unnecessary dep.


decouple from frees-async

bring the listenableFuture2Async function to the project, and don't
use frees-async-* packages

is this fixing #297 ?

Ah yes, I forgot mentioning it in the comment

I'd suggest removing this: https://github.com/frees-io/freestyle-rpc/blob/master/project/ProjectPlugin.scala#L54.
We can use the grpc guava version, which it's already available in the classpath.


refactor: cleanup for revive rules

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

2 of 4 (50.0%)  changed or added relevant lines in 2 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.009%) to 75.112%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

api/handler/v1beta1/observer.go
0
2
0.0%

Files with Coverage Reduction
New Missed Lines
%

api/handler/v1beta1/adapter.go
1
73.78%

Totals

Change from base Build<PHONE_NUMBER>:
0.009%

Covered Lines:
6030

Relevant Lines:
8028

💛  - Coveralls


fix(CI): Broken formatting workflow (ELF not found).

This commit fixed the problem with formatting CI. Currently incorrect artifact was chosen due to the introduction of linux-aarch64 artifacts of latest stylua-action (a.k.a, v1.1.0), which would cause "ELF not found" related errors.

Ref: https://github.com/JohnnyMorganz/stylua-action/releases/tag/v1.1.1

Thanks you 🥲


Support context related options on ares-log

:Release Notes:
Support context related options on ares-log
:Detailed Notes:

Support to print context list
Support to set contex level
Update unit test case
Update help file for pmlogd

:Testing Performed:

Pass unit test on ose for pmlogd and journald
Pass eslint
Check below commands

ares-log -cl
ares-log -sl WAM debug

:Issues Addressed:
[WRN-6490] Add context related option for pmlogd

@ssuminahn , why don't you show the context list such as
{code}
$ ./ares-log.js -cl -d tv |grep WAM
MODULE1 : info
MODULE2 : debug
{code}


Feat: User auth v2 added helm permissions

Description
Added new apis for user auth, helm only.
exiting  apis modified for user helm permission with backward compatibility

Create
Update
Get
List
Api's for role group

Fixes # (issue): https://github.com/devtron-labs/devtron/issues/939
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[x] User Auth Role Apis - - Create, Update, Get, List
[x] User Auth Role Group Apis - Create, Update, Get, List
[x] Devtron apps + Helm apps, permission merged
[x] API spec updated

Checklist:

[ ] The title of the PR states what changed and the related issues number (used for the release note).
[ ] Does this PR require documentation updates?
[ ] I've updated documentation as required by this PR.
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have tested it for all user roles

not required, duplicate feature branch, incorrect base branch


Indented inline snapshots.

Summary
Inline snapshots are currently ugly. Not only are they not indented by default, but the matcher will fail if you indent them manually. This PR adds support for indented inline snapshots.
A few things to note:

Non-indented snapshots will continue to pass and will not be updated automatically unless a snapshot in the file is updated.
The extra indentation is not reflected in the reporter.

When/if this PR is accepted, I'll be trying to make a PR into Prettier for better UX, since Prettier won't currently update your inline snapshots formatting automatically.
Test plan

All existing tests pass, including e2e snapshot tests for inline tests.
Added a few more test cases specifically for this feature.
Tested manually against real tests.

Codecov Report

Merging #8198 into master will increase coverage by <.01%.
The diff coverage is 59.64%.

@@            Coverage Diff            @@
##           master   #8198      +/-   ##
=========================================
+ Coverage    62.3%   62.3%   +<.01%
=========================================
  Files         265     265
  Lines       10473   10522      +49
  Branches     2542    2553      +11
=========================================
+ Hits         6525    6556      +31
- Misses       3366    3383      +17
- Partials      582     583       +1

Impacted Files
Coverage Δ

packages/jest-snapshot/src/index.ts
28.05% <0%> (-3.65%)
:arrow_down:

packages/jest-snapshot/src/inline_snapshots.ts
80.64% <85%> (+7.31%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7e4e170...ed88c31. Read the comment docs.

Nice! I've always wanted this to be what inline snapshots look like, and you have made this a ton easier.
The next step for inline snapshots is to drop pretty-format and just put the concrete value into the right hand side, like expect(object).toMatch<matcherName>({apple: 'banana'}).


rename fejta-bot to k8s-ci-robot on pr-wranglers page

Description
The Note on the PR Wranglers - When to Close PRs page mentions that fejta-bot adds the lifecycle/stale label to PRs, but as I understand it, that functionality was moved to k8s-ci-robota while back
based on PRs with said label, this appears to be the case.

/assign

Hi @sethmccombs Thanks for your contribution! In general we don't like to have a single PR make changes to multiple localizations because it causes the localization teams issues when we allow this.  Can you break this up into multiple PRs with one PR per localization?  Thanks!

Thanks @bradtopol - broke it into multiple PRs
https://github.com/kubernetes/website/pull/34084 - de
https://github.com/kubernetes/website/pull/34085 - ko
https://github.com/kubernetes/website/pull/34086 - zh
https://github.com/kubernetes/website/pull/34087 - ru

emm ... what I saw is a bot named 'k8s-triage-bot', see #31110 for example.

/remove-language de zh ru ko

/label tide/merge-method-squash
The first commit in this PR still touches multiple localizations. @sethmccombs if you squash this to one commit and force-push, that's even better.

@tengqm - triage bot leaves the comments but the ci-robot handles labels

@sftim - squashed and pushed, thanks!

/approve


[READY] Reduce hex size

6 months ago gap fill was added to post build hex copying. This caused some hex inflation - up to 1GB....
This needed to be removed

Why was gap fill originally enabled?

Why was gap fill originally enabled?
See https://github.com/PurdueElectricRacing/firmware/commit/1248be27d0e4654c988086544c2231785b8e73e2
"Main module output had multiple segments (only a few bytes away). The bootloader doesn't support jumps in address, so we will just send some zeros to fill the gap"

We will need to add bootloader support for jumps in address

The link you sent in response to Gavin leads to a 404 for me. I would also like to see the original reasoning behind why we added the gap-fill flag as well.

The bootloader doesn't support jumps in address

What? Why is this? The bootloader is not able to jump and has to run sequentially?


Broken link to Voltron Data blog post

The link at https://geoarrow.org/resources.html points to https://voltrondata.com/resources/geospatial_data_in_apache_arrow, but that gives a 404; however, this one works: https://voltrondata.com/blog/geospatial_data_in_apache_arrow

There you go then :) https://github.com/geoarrow/geoarrow.github.io/pull/3


Changing attribute value doesn't trigger re-render

According to the documentation, changing an attribute should trigger a re-render. I'm unable to trigger a re-render when programmatically changing the attribute.
Using the this tag:
<say-hello id="hello" name="John Doe" />
with this definition:
import { Component, html } from "@exalt/core";
import { define } from "@exalt/core/decorators";

@define("say-hello")
export class SayHello extends Component {

    render({ name }) {
        return html`

Hello ${name}!

        `;
    }
}

In a different script, I run this after the say-hello element is fully rendered.
let hello = document.getElementById('hello')
hello.setAttribute('name', 'Another Name')

I can see that the name attribute on the element changes, but the text on the page still says "Hello John Doe". Can you explain how to get the component to react properly to the attribute change?

Hello, sorry you ran into this issue. Exalt currently is not watching attribute changes directly, instead it reads attributes when created and puts them into a Proxy in order to monitor changes. This is where the props property is used. We are currently working on planning out the best way to improve compatibility with existing frameworks and apis which should resolve this issue. In the meantime you can get the component to react by modifying the props object directly.
let hello = document.getElementById('hello')
hello.props.name = "Another Name";

If you prefer declaratively attribute changes are checked during exalt template compilation.
So if the parent component is passing a variable as the name attribute and that variable changes, and triggers a re-render the say-hello component will detect the change and also re-render.
const name = "John Doe";
html`<say-hello id="hello" name=${name} />`;

Very helpful, thanks. Any idea when the attributes themselves will be watched?

No problem, We are aiming to have an update out around February that will resolve this issue as well as compatibility with other frameworks. Its possible this could be resolved before then as well. I also will update this issue when a fix is released.

Thank you for bringing this issue to our attention @tbashor! Thankfully we got a solution implemented quicker than we had planned and now your original code should work if you update @exalt/core to v1.1.5. This connects the components setAttribute and removeAttribute methods to the reactivity engine. Our update planned for a few months from now will resolve more overall compatibility challenges with other frameworks and component libraries. For now this should resolve this issue. If you run into any more problems feel free to open another issue!


Bash update 4.3.046 breaks PS1 environment variable

After updating bash, user's prompt is set to PS1=\s-\v\$ whereas previously it was set to PS1="\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[35m\]$MSYSTEM\[\e[0m\] \[\e[33m\]\w\[\e[0m\]\n\$".
Fairly easy to fix if you know where to look although new users may struggle.
What else may have been affected by the update?
Compiling in the Win64 MinGW-w64 shell appears to still work fine but it's not clear what files the bash update changed and how they changed.
Would this have broken prompts for people who had customised theirs?

Also, workaround to get prompt back to how it was is to add:
export PS1="\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[35m\]$MSYSTEM\[\e[0m\] \[\e[33m\]\w\[\e[0m\]\n\$"

to the end of your .bashrc file. This is found at C:\msys64\home[username] assuming you installed the 64bit version in the default directory.

So, there was a change in /etc/bash.bashrc where this:
# Set a default prompt of: user@host, MSYSTEM variable, and current_directory
PS1='\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[35m\]$MSYSTEM\[\e[0m\] \[\e[33m\]\w\[\e[0m\]\n\$ '

was changed to this:
# Warnings
unset _warning_found
for _warning_prefix in '' ${MINGW_PREFIX}; do
    for _warning_file in ${_warning_prefix}/etc/profile.d/*.warning{.once,}; do
        test -f "${_warning_file}" || continue
        _warning="$(command sed 's/^/\t\t/' "${_warning_file}" 2>/dev/null)"
        if test -n "${_warning}"; then
            if test -z "${_warning_found}"; then
                _warning_found='true'
                echo
            fi
            if test -t 1
                then printf "\t\e[1;33mwarning:\e[0m\n${_warning}\n\n"
                else printf "\twarning:\n${_warning}\n\n"
            fi
        fi
        [[ "${_warning_file}" = *.once ]] && rm -f "${_warning_file}"
    done
done
unset _warning_found
unset _warning_prefix
unset _warning_file
unset _warning

# If MSYS2_PS1 is set, use that as default PS1;
# if a PS1 is already set, use that;
# otherwise set a default prompt
# of user@host, MSYSTEM variable, and current_directory
if test -n "${MSYS2_PS1}"
    then PS1="${MSYS2_PS1}"
    elif test -z "${PS1}"
        then PS1='\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[35m\]$MSYSTEM\[\e[0m\] \[\e[33m\]\w\[\e[0m\]\n\$ '
fi

@ukhf-jm Thank you for the analysis. I authoured the minor fix #651  to a previous fix that broke the Git for Windows SDK's bash title bar settings part of the PS1. (more details on that link)
Any input on putting together a proper fix that covers typical user settings would be gratefully recieved (I'm an engineer who mainly works on Windows so the fine details of bash set ups is not something I normally deal with ;-)

I'm also affected by this. It seems like this change was originally made to support Git4Windows settings its own PS1. However, where was that previous prompt set from? It shouldn't be possible for anything to run before the system-wide profile files. Is Git for Windows setting the PS1 via an exported environment variable?

@yuriks, No (original==G4W?). This (my small #651) change was because the previous patch 6e6310d had broken the G4W SDK. These two commits must be taken as a pair, and each of the different backstories surfaced and considered, including @renatosilva's original rationale (the logic back then may have been incomplete).

Just tried a fresh install again and can confirm prompt is as expected after updating bash. Thank you @Alexpux , @Karlson2k and @PhilipOakley

@ukhf-jm Thanks for report!


Nothing is happening at all on my display

Hello,
Thank you for the amazing work! I am trying to understand all the steps and believe I am close but I maybe missing somethings currently when I try the dashboard url on my computer I get this:

Here is my yaml:
external_url: "https: my url"
auth_providers:
- type: trusted_networks
trusted_networks:
- IP of display 1/32 #These are my display IP addresses, replace them with your own (including the /32)
- IP of display 2/32
- IP of desktop for testing/32
trusted_users:
IP of display 1: c771f473fa76419c9542712eec1f7aff
IP of display 2 c771f473fa76419c9542712eec1f7aff
IP of desktop for testing: c771f473fa76419c9542712eec1f7aff
allow_bypass_login: true
- type: homeassistant

ontinuously_casting_dashboards:
logging_level: warning #Required: Set the logging level - debug/info/warning (default is 'warning' - try 'debug' for debugging)
cast_delay: 45 #Required: Time (in seconds) for casting checks between each device.
start_time: "07:00" #Optional: Global start time of the casting window (format: "HH:MM") - Default is set to "07:00" and can be individually overwritten per device below.
end_time: "01:00" #Optional: Global end time of the casting window (format: "HH:MM") and must be after "00:00". Default is set to "01:00" and can be individually overwritten per device below.
devices:
"master bedroom clock": #Required: Display name of your device. Find this on the actual device's settings or inside the Google Home app.
dashboard_url: "http://xxx.xxx.x.X:8123/lovelace-tablet/google?kiosk" #Required: Dashboard URL to be casted (This must be the local IP address of your HA instance, not homeassistant.local)
volume: 5 #Optional: Volume to set the display. (If you remove this, the device will remain the same volume)
start_time: "07:00" #Optional: Set the start time for this device
end_time: "01:00" #Optional: Set the end time for this device

Let me know what other info you may need thank you again. This is most likely my lack of understanding.

Hey, could you post some logs? Change the "logging_level" to "debug" instead of "warning" - restart Home Assistant and then check inside settings -> system -> logs -> load full logs. Wait around 2 minutes and copy and paste the logs to here 👍
Ensure the naming of your device is correct too. It's case sensitive so check that your device actually has no capital letters.

I corrected the case on the device name and still nothing. I do not really
see anything in the logs. The device is a lenovo smart clock 2.  I attached
the whole log file.
On Sat, Jul 29, 2023 at 5:58 AM b0mbays @.***> wrote:

Hey, could you post some logs? Change the "logging_level" to "debug"
instead of "warning" - restart Home Assistant and then check inside
settings -> system -> logs -> load full logs. Wait around 2 minutes and
copy and paste the logs to here 👍
Ensure the naming of your device is correct too. It's case sensitive so
check that your device actually has no capital letters.
—
Reply to this email directly, view it on GitHub
https://github.com/b0mbays/continuously_casting_dashboards/issues/31#issuecomment-1656704766,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEENN4FGH36IFD4CNKDDRGDXSTUEZANCNFSM6AAAAAA23RCSCU
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Mark Ghali

Yes I saw the sideloading and thought this might be easier. Yesterday it
was trying to cast and I saw it on the button on the screen and the button
would go away and just be a black background. Then it stopped casting. And
it was adjusting the volume every few minutes on and off trying to cast and
stop. Feels like it could work but might need some tweaking or something.
On Sun, Jul 30, 2023, 7:32 AM b0mbays @.***> wrote:

I think this device might be incompatible with casting the dashboard
unfortunately. Do you see anything happen on your device at all? I don't
have one to test and after having a Google other users are reporting issues
with trying to use Dashcast on these devices. (My Lenovo device is the
8inch 1st generation)
However - the benefit of this device is that you can side load the
official HA app onto it and use that instead. I couldn't do that on my
device which led me down the path of creating this integration.
How to video: https://www.youtube.com/watch?v=t0hp2xTHsqk
A post on how to sideload apps onto it:
https://www.reddit.com/r/homeassistant/comments/126udom/fully_functioning_lenovo_smart_clock_2_with_ha/
Some reddit posts where users have done this:
https://www.reddit.com/r/homeassistant/comments/10bsebz/im_really_happy_with_my_bedside_alarm_clock_setup/
https://www.reddit.com/r/homeassistant/comments/yuyp70/lenovo_smart_clock_2_cast_dashboard/
https://www.reddit.com/r/homeassistant/comments/126udom/fully_functioning_lenovo_smart_clock_2_with_ha/
—
Reply to this email directly, view it on GitHub
https://github.com/b0mbays/continuously_casting_dashboards/issues/31#issuecomment-1657128119,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEENN4EPGWZTAEAZEUCAIFDXSZH4TANCNFSM6AAAAAA23RCSCU
.
You are receiving this because you authored the thread.Message ID:
@.***>

I do have a video of It trying to cast to the screen if you want me to
upload it somewhere.
On Sun, Jul 30, 2023, 10:41 AM Mark Ghali @.***> wrote:

Yes I saw the sideloading and thought this might be easier. Yesterday it
was trying to cast and I saw it on the button on the screen and the button
would go away and just be a black background. Then it stopped casting. And
it was adjusting the volume every few minutes on and off trying to cast and
stop. Feels like it could work but might need some tweaking or something.
On Sun, Jul 30, 2023, 7:32 AM b0mbays @.***> wrote:

I think this device might be incompatible with casting the dashboard
unfortunately. Do you see anything happen on your device at all? I don't
have one to test and after having a Google other users are reporting issues
with trying to use Dashcast on these devices. (My Lenovo device is the
8inch 1st generation)
However - the benefit of this device is that you can side load the
official HA app onto it and use that instead. I couldn't do that on my
device which led me down the path of creating this integration.
How to video: https://www.youtube.com/watch?v=t0hp2xTHsqk
A post on how to sideload apps onto it:
https://www.reddit.com/r/homeassistant/comments/126udom/fully_functioning_lenovo_smart_clock_2_with_ha/
Some reddit posts where users have done this:
https://www.reddit.com/r/homeassistant/comments/10bsebz/im_really_happy_with_my_bedside_alarm_clock_setup/
https://www.reddit.com/r/homeassistant/comments/yuyp70/lenovo_smart_clock_2_cast_dashboard/
https://www.reddit.com/r/homeassistant/comments/126udom/fully_functioning_lenovo_smart_clock_2_with_ha/
—
Reply to this email directly, view it on GitHub
https://github.com/b0mbays/continuously_casting_dashboards/issues/31#issuecomment-1657128119,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEENN4EPGWZTAEAZEUCAIFDXSZH4TANCNFSM6AAAAAA23RCSCU
.
You are receiving this because you authored the thread.Message ID:
@.***>

Interesting! Maybe it can work then... Yeah upload it to YouTube if you can 👍 so you're saying the device is not doing anything today though?

It wasn't doing anything 2 days ago. After I adjusted the name it has been
trying to cast all day yesterday and failing over and over. I'll upload the
video and send the link
On Sun, Jul 30, 2023, 12:29 PM b0mbays @.***> wrote:

Interesting! Maybe it can work then... Yeah upload it to YouTube if you
can 👍 so you're saying the device is not doing anything today though?
—
Reply to this email directly, view it on GitHub
https://github.com/b0mbays/continuously_casting_dashboards/issues/31#issuecomment-1657225884,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEENN4AKY3BMMYC5II4TAHDXS2KWRANCNFSM6AAAAAA23RCSCU
.
You are receiving this because you authored the thread.Message ID:
@.***>

https://youtu.be/iiqX88O2xh8
Here it is. Right before this it adjusted the volume. After this it goes to
the wallpaper/clock.
On Sun, Jul 30, 2023, 12:30 PM Mark Ghali @.***> wrote:

It wasn't doing anything 2 days ago. After I adjusted the name it has been
trying to cast all day yesterday and failing over and over. I'll upload the
video and send the link
On Sun, Jul 30, 2023, 12:29 PM b0mbays @.***> wrote:

Interesting! Maybe it can work then... Yeah upload it to YouTube if you
can 👍 so you're saying the device is not doing anything today though?
—
Reply to this email directly, view it on GitHub
https://github.com/b0mbays/continuously_casting_dashboards/issues/31#issuecomment-1657225884,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEENN4AKY3BMMYC5II4TAHDXS2KWRANCNFSM6AAAAAA23RCSCU
.
You are receiving this because you authored the thread.Message ID:
@.***>

Thanks for the video. That confirms that it looks to be incompatible unfortunately! It should pop up with a "Dashcast" screen and then the webpage. But you are just seeing a media playing screen. Somebody asked the same thing here and it just looks like casting doesn't work on the Lenovo smart clock 2.
https://www.reddit.com/r/homeassistant/comments/yuyp70/lenovo_smart_clock_2_cast_dashboard/
Your options are to either sideload the app or maybe buy a different device? The Google nest hubs work great for "continuosly casting" and I have 5 of them in our home all being casted too. Also the screens are slightly larger on these displays. Up to you!
Here's what my hubs look like:

Yes, I have a Nest hob 2 and just tested it on that and seems to work great! I will try sideloading on the smart clock.
Thank you again for helping me and the awesome project


401 on callback after login with Auth0 custom OpenID Connect provider

I'm trying to use Auth0 as a custom OpenID Connect provider as described here.
When I navigate to /.auth/login/auth0, the redirect to the Auth0 login screen works. After entering my credentials I'm redirected to the callback url, for example https://<site>.azurestaticapps.net/.auth/login/auth0/callback?code=5ExeTIAuE2snRMXW&state=%2F.auth%2Fcomplete, but the web app returns 401: Unauthorized there.

I entered https://<site>/.auth/login/auth0 as Application Login URI and https://<site>.azurestaticapps.net/.auth/login/auth0/callback as Callback URL in the Auth0 application settings.
Do you have any ideas what I'm missing?

I have the same problem when using AzureB2C as a custom provider, a code is returned to the custom callback url per the documentation but the site shows a 401 error.
Callback URL: https:///.auth/login/azureb2c/callback
Here is my staticwebapp.config.json and the Github Repo

@Skleni Do you mind sharing your sitename with us? I can start looking at our logs.
@TellonUK I have the logs for your site and know what's going on, but due to the sensitivity of auth, would you rather open a support ticket so I can communicate my findings privately to you?

Sure, the sitename is salmon-island-017870503.

@Skleni Do you mind sharing your sitename with us? I can start looking at our logs.
@TellonUK [Edit] ~I have the logs for your site and know what's going on, but due to the sensitivity of auth, would you rather open a support ticket so I can communicate my findings privately to you?~ The issue is actually quite straighforward to explain here. Can you change the secretSettingName in the config to clientSecretSettingName and give it a try? The correct field name is clientSecretSettingName and I realize the docs have the incorrect value so I'm working to fix the docs ASAP. Sorry for the confusion!!

That resolved my issue. I have another question about claims, but will open a new issue rather than clutter this thread as its not related to Skleni's issues.

Yes, that worked, thank you!

@Skleni, Did you correct the problem just by changing the name to clientSecretSettingName?
I'm having the same problem and couldn't solve it.
My configuration:
{     "routes": [         {             "route": "/login",             "rewrite": "/.auth/login/iam"         },         {             "route": "/logout",             "redirect": "/.auth/logout"         }     ],     "auth": {         "identityProviders": {             "customOpenIdConnectProviders": {                 "iam": {                     "registration": {                         "clientIdSettingName": "CLIENTID",                         "clientCredential": {                             "clientSecretSettingName": "CLIENTSECRET"                         },                         "openIdConnectConfiguration": {                             "wellKnownOpenIdConfiguration": "https://...../oauth/nam/.well-known/openid-configuration"                         }                     },                     "login": {                         "scopes": ["openid"]                     }                 }             }         }     } }

@escudero Yes, that was the only change. This is my configuration:
{
    "auth": {
        "identityProviders": {
            "customOpenIdConnectProviders": {
                "auth0": {
                    "registration": {
                        "clientIdSettingName": "Auth0ClientId",
                        "clientCredential": {
                            "clientSecretSettingName": "Auth0ClientSecret"
                        },
                        "openIdConnectConfiguration": {
                            "wellKnownOpenIdConfiguration": "https://.../.well-known/openid-configuration"
                        }
                    },
                    "login": {
                        "nameClaimType": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name",
                        "scopes": ["openid", "profile"]
                    }
                }
            }
        }
    }
}

Thank you,
It was missing the nameClaimType property.

Hello, Im having the same issue with Nextjs14 and  a custom openID provier.
i provided the callback url as in the documentation: https://<YOUR_SITE>/.auth/login/<PROVIDER_NAME_IN_CONFIG>/callback
this is my staticwebapp.config.json
{
  "routes": [
    {
      "route": "/",
      "allowedRoles": ["authenticated"]
    },
    {
      "route": "/.auth/*",
      "allowedRoles": ["anonymous"]
    }
  ],

  "auth": {
    "identityProviders": {
      "customOpenIdConnectProviders": {
        "fuersie": {
          "registration": {
            "clientIdSettingName": "CLIENT_ID",
            "clientCredential": {
              "clientSecretSettingName": "CLIENT_SECRET"
            },
            "openIdConnectConfiguration": {
              "issuer": "ISSUER",
              "authorizationEndpoint": "AUTHORIZATION_ENDPOINT",
              "tokenEndpoint": "TOKEN_ENDPOINT",
              "userInfoEndpoint": "USER_INFO_ENDPOINT"
            }
          },
          "login": {
            "nameClaimType": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name",
            "scopes": ["openid"]
          }
        }
      }
    }
  }
}


suggestion use requireNamespace() directly instead of inla.require()

https://github.com/hrue/r-inla/blob/9c030f68e8486a42d317dbe6213b82524cb0ab67/rinla/R/jmarginal.R#L234
When the "sn" package is not available, this yields the puzzling error  'inla.require("sn") is not TRUE. I had to dive into the INLA source code to figure out what was going on.
Using stopifnot(requireNamespace("sn")) gives a more clear error message.
Loading required namespace: sn
Failed with error:  ‘there is no package called ‘sn’’
Error: requireNamespace("sn") is not TRUE

inla.require exists for historical reasons, where it used to do things in a more complicated way.
Nowadays it's equivalent to requireNamespace(pkg, quietly = TRUE), and the quietly=TRUE is there to prevent messages in if () checks where failure is either ok, or a separate more informative message than that of requireNamespace is provided.
For stopifnot(), the quitely=TRUE setting isn't ideal, since it suppresses the "no package" message, so your suggestion is good!
The following instances use stopifnot with inla.require, and can be replaced with stopifnot(requireNamespace(pkg)):
$ grep "inla.require(" *.R|grep stopifnot
barrier.R:    stopifnot(inla.require("rgeos"))
jmarginal.R:    stopifnot(inla.require("sn"))
jmarginal.R:    stopifnot(inla.require("mpoly"))
jmarginal.R:    stopifnot(inla.require("symmoments"))
jmarginal.R:    stopifnot(inla.require("sn"))
link-functions.R:    stopifnot(inla.require("sn"))
mesh.R:        stopifnot(inla.require("rgl"))
mesh.R:    stopifnot(inla.require("rgl"))
mesh.R:        stopifnot(inla.require("rgl"))
mesh.R:    stopifnot(inla.require("splancs"))
mesh.R:    stopifnot(inla.require("splancs"))
posterior.sample.R:    stopifnot(inla.require("sn"))
spde.common.R:    stopifnot(inla.require("orthopolynom"))
spmesh.R:    stopifnot(inla.require("rgdal"))
spmesh.R:        stopifnot(inla.require("rgdal"))
utils.R:    stopifnot(inla.require("runjags"))

The following cases use inla.require without any checks, which is bad. They should also be stopfinot(requireNamespace(pkg)) (without quietly=TRUE) since the code won't work without those packages there:
plot.R:        inla.require("HKprocess")
read.graph.R:        inla.require("spdep")
rgeneric.R:                    inla.require("compiler")
sensitivity.R:    inla.require("doParallel")
sensitivity.R:    inla.require("foreach")
sensitivity.R:    inla.require("sn")

The remaining uses of inla.require() are ok, but could be replaced by requireNamespace(pkg, quietly = TRUE), and inla.require could then deprecated:
collect.results.R:            if (file.exists(filename) && inla.require("pixmap")) {
coxph.R:    if (inla.require("dplyr")) {
display.matrix.R:    if (inla.require("fields")) {
inla.R:        if (inla.require("MatrixModels")) {
marginal.R:    if (inla.require("Deriv")) {
marginal.R:    if (inla.require("numDeriv")) {
read.graph.R:    inla.require("Rgraphviz") || stop("Need library 'Rgraphviz' from Bioconductor: see https://www.bioconductor.org")
read.graph.R:    inla.require("graph") || stop("Need library 'graph' from Bioconductor: see https://www.bioconductor.org")
utils.R:    if (inla.require("compiler")) {

There are currently only two places where requireNamespace(pkg) is used directly, and they look ok, as they don't set quietly=TRUE:
meshbuilder.R:    requireNamespace("fields")
meshbuilder.R:    requireNamespace("shiny")

/Finn

assertthat::assert_that() could be an alternative for stopifnot(). This has the benefit you can provide a custom error message.
> assert_that(requireNamespace("sn"))
Loading required namespace: sn
Failed with error:  ‘there is no package called ‘sn’’
Error: requireNamespace(package = "sn") is not TRUE
> assert_that(requireNamespace("sn", quietly = TRUE))
Error: requireNamespace(package = "sn", quietly = TRUE) is not TRUE
> assert_that(requireNamespace("sn", quietly = TRUE), msg = "Package `sn` not installed")
Error: Package `sn` not installed

In R >= 4.0, one can use
stopifnot("Package `sn` not installed but is needed for _whatever_" = requireNamespace("sn", quietly = TRUE))

to avoid an extra package dependency on assertthat:
> stopifnot(1 == 0)
Error: 1 == 0 is not TRUE
> stopifnot("The message" = 1 == 0)
Error: The message

This also nicely falls back to the regular stopifnot behaviour on R3.6:
> stopifnot(1 == 0)
Error: 1 == 0 is not TRUE
> stopifnot("The message" = 1 == 0)
Error: 1 == 0 is not TRUE

More complete options:
> stopifnot(requireNamespace("xyzzy"))
Loading required namespace: xyzzy
Failed with error:  ‘there is no package called ‘xyzzy’’
Error: requireNamespace("xyzzy") is not TRUE
> stopifnot(requireNamespace("xyzzy", quietly=TRUE))
Error: requireNamespace("xyzzy", quietly = TRUE) is not TRUE
> stopifnot("The message" = requireNamespace("xyzzy"))
Loading required namespace: xyzzy
Failed with error:  ‘there is no package called ‘xyzzy’’
Error: The message
> stopifnot("The message" = requireNamespace("xyzzy", quietly=TRUE))
Error: The message


LLM is not able to respond to chat messages when knowledge tool call fails for an assistant with workspace tool and dynamically added knowledge tool.

Electron build from bf86f1
Steps to reproduce the problem:

Create an assistant with workspace tool.
Chat with this assistant and add files using "Add Knowledge"
Able to chat with the assistant and get information about knowledge files.
Ask question about anything other than the knowledge file.
Knowledge tool handles the query and fails to retrieve any info which is as expected. But the query is not handled by LLM after this failure and user gets no response for the messages.

Note - This behavior is not seen when testing with Tildy assistant and adding  files using "Add Knowledge" tool .

@iwilltry42 i would expect this to be addressed by you reworking the knowledge tool into that context-based querier paradigm. assigning to you and using this issue as a place holder for that task

@iwilltry42 When testing with latest version of desktop with commit id -d2d9d7ec and gptscript version - v0.0.0-dev+fbb8f5d4 , I am not seeing this issue reproduce.

Create an assistant with workspace tool.
Chat with this assistant and add files using "Add Knowledge"
Able to chat with the assistant and get information about knowledge files.
Ask question about anything other than the knowledge file.

I see this succeed . I see one of the 2 things happen for this query

knowledge tool gets called , returns no match and it resorts to LLM providing the response

knowledge tool does not get called and LLM responds directly to this query.

Large changes to how knowledge is integrated: #385

Blocked on testing with workflow because of https://github.com/gptscript-ai/desktop/issues/425

Mitigations and debugging support landed here: https://github.com/gptscript-ai/knowledge/releases/tag/v0.4.13
Waiting for https://github.com/gptscript-ai/desktop/pull/450 to be merged

Blocked on testing this workflow - https://github.com/gptscript-ai/desktop/issues/425

Tested with a66cd29ecd
This issue is not seen anymore.


Cannot compile package on Debian 8 or with Go 1.3

Debian 8 comes with Go 1.3 and when installing the Discordgo package or attempting to compile it on Debian 8 you received the below error message.
# github.com/bwmarrin/discordgo
./voice.go:302: syntax error: unexpected range, expecting {
./voice.go:319: syntax error: unexpected }

Also, the below error appears once the above is resolved.
# github.com/bwmarrin/discordgo
./restapi.go:159: undefined: json.Token

Use of json.Token in restapi is unnecessary and due to my misunderstanding :)  Can instead just be a string.  The for loop in the voice.go can be changed slightly to resolve it's error.


suggestion

hi good work,

i suggest to add more attributes for collection mapping (exp : orphanRemoval, mappedBy),

there is a bug problem when use bidirection relationship (exp : person -> cars , car -> own person) when persist data there an exception for rerurcive data (spring boot + jackson)  because the 2 side off relationship refrences recursivly one to other (person -> list cars  & car -> person -> list cars -> ......, son can resole this without loose the the reference of 2 relationship

Hello
Thank you for submitting the issue, don't forget to star the repository if you enjoy!.

Regarding mappedBy, I have been working on it since a few days , in fact due to absence of persistence context and transactional cache it's a little bit difficult to implement it but I think it should be a manner to achieve this may be not like jpa but with a non-full featured version.
Regarding orphanRemoval it is possible to implement it with no problems in theory.

I will give you feedback of the progression on these features.

hi
how about if i referrence a car owner (person) so when persist data (with spring boot) i  have n exception of recusisvity between cars and person (person -> list cars -> each car -> person -> list cars -> ....) it possible to not reference a person from car entity but in this case you loose the info about the owner of car from car entity, so how to resole this probleme of recursivity data between bidiection relationships

hi
that's what I said in my comment the only solution is the mappedBy and I'm working on it

hi
i try to resolve this exception with @JsonView @JsonManaged @JsonBackRef but the second side of relationship is broken (exp : car has no ref for owner = person)  but this not what i want

hi
I will deliver a release candidate version soon to fix your problem. I will drop a comment here to inform you.

Hello I delivered the version 2.2.0-RC1
The version introduces the mappedBy property to enable bidirectional associations.
To use the OneToOne bidirectional mapping follow the following example:
// in person class
    @OneToOne(fetch=FetchType.EAGER)
    @JoinProperty(name = "passport")
    private Passport passport;

//in passport class
   @OneToOne(mappedBy = "passport", fetch = FetchType.EAGER)
    private Person owner;

To use the OneToMany bidirectinal mapping follow the following example:
//in person class
    @OneToMany(fetch=FetchType.EAGER, cascade = CascadeType.ALL)
    @JoinProperty(name="carsrefs")
    private List<Car> cars;

//in car class
    @ManyToOne(mappedBy="cars")
    private Person owner;

Please let me know if all works well for you, do not forget to star the repository.
Feel free to submit the issues you discover.
IMPORTANT! this is only a candidate version, so there are some changes until the final version is released.
Thank you

hi
first i try to make s demo with @OntoMany (Person)-> @ManyToOne (Car) (jdk 11 , kotlin 1.2.60, spring boot 2.0.4 + reactive mongodb driver)
@Document
@TypeAlias(value = "car")
data class Car(@Id var id: String? = null,
var marque: String? = null,
@ManyToOne(mappedBy = "cars") var owner: Person? = null) {
override fun equals(other: Any?) = if(other is Car) id == other.id else false

}
@Document
@TypeAlias(value = "person")
data class Person (@Id var id: String? = null,
var name: String? = null,
var age: Int? = null,
@JsonFormat(pattern = "dd/MM/yyyy", shape = JsonFormat.Shape.STRING) var dateNais: LocalDate? = null,
@JsonProperty("cars") @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY) var cars: MutableList? = null) {
override fun equals(other: Any?) = if(other is Person) id == other.id else false

}
@SpringBootApplication
@EnableRelationalMongo
class DemoApplication(val personRepository: PersonRepository,
val carRepository: CarRepository) : ApplicationRunner {
override fun run(args: ApplicationArguments?) {
val person = Person().apply {
id = "person-1"
age = 36
name = "halim"
this.dateNais = LocalDate.of(1982,3,18)
}
    val car = Car().apply {
        owner = person
        id = "car-1"
        marque = "oodi-7"
    }

    person.cars?.add(car)

    personRepository.save(person).log().subscribe()
    //carRepository.save(car).log().subscribe()
}

}
execute with exception stack trace :
.   ____          _            __ _ _
/\ / ' __ _ () __  __ _ \ \ \
( ( )__ | '_ | '| | ' / ` | \ \ \
\/  )| |)| | | | | || (| |  ) ) ) )
'  || .__|| ||| |_, | / / / /
=========||==============|/=////
:: Spring Boot ::        (v2.0.4.RELEASE)
2018-08-17 14:47:37.228  INFO 7328 --- [           main] c.s.mongodb.demo.demo.DemoApplicationKt  : Starting DemoApplicationKt on GHOST with PID 7328 (C:\Users\Halim\Desktop\demo\target\classes started by Halim in C:\Users\Halim\Desktop\demo)
2018-08-17 14:47:37.249  INFO 7328 --- [           main] c.s.mongodb.demo.demo.DemoApplicationKt  : No active profile set, falling back to default profiles: default
2018-08-17 14:47:37.342  INFO 7328 --- [           main] onfigReactiveWebServerApplicationContext : Refreshing org.springframework.boot.web.reactive.context.AnnotationConfigReactiveWebServerApplicationContext@632ceb35: startup date [Fri Aug 17 14:47:37 CEST 2018]; root of context hierarchy
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.springframework.cglib.core.ReflectUtils$1 (file:/C:/Users/Halim/.m2/repository/org/springframework/spring-core/5.0.8.RELEASE/spring-core-5.0.8.RELEASE.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of org.springframework.cglib.core.ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
2018-08-17 14:47:39.051  INFO 7328 --- [           main] o.s.w.r.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/] onto handler of type [class org.springframework.web.reactive.resource.ResourceWebHandler]
2018-08-17 14:47:39.051  INFO 7328 --- [           main] o.s.w.r.handler.SimpleUrlHandlerMapping  : Mapped URL path [/] onto handler of type [class org.springframework.web.reactive.resource.ResourceWebHandler]
2018-08-17 14:47:39.155  INFO 7328 --- [           main] o.s.w.r.r.m.a.ControllerMethodResolver   : Looking for @ControllerAdvice: org.springframework.boot.web.reactive.context.AnnotationConfigReactiveWebServerApplicationContext@632ceb35: startup date [Fri Aug 17 14:47:37 CEST 2018]; root of context hierarchy
2018-08-17 14:47:39.502  INFO 7328 --- [           main] org.mongodb.driver.cluster               : Cluster created with settings {hosts=[localhost:6666], mode=MULTIPLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500}
2018-08-17 14:47:39.503  INFO 7328 --- [           main] org.mongodb.driver.cluster               : Adding discovered server localhost:6666 to client view of cluster
2018-08-17 14:47:39.720  INFO 7328 --- [-localhost:6666] org.mongodb.driver.connection            : Opened connection [connectionId{localValue:1, serverValue:27}] to localhost:6666
2018-08-17 14:47:39.725  INFO 7328 --- [-localhost:6666] org.mongodb.driver.cluster               : Monitor thread successfully connected to server with description ServerDescription{address=localhost:6666, type=STANDALONE, state=CONNECTED, ok=true, version=ServerVersion{versionList=[4, 0, 1]}, minWireVersion=0, maxWireVersion=7, maxDocumentSize=16777216, logicalSessionTimeoutMinutes=30, roundTripTimeNanos=4049398}
2018-08-17 14:47:39.727  INFO 7328 --- [-localhost:6666] org.mongodb.driver.cluster               : Discovered cluster type of STANDALONE
2018-08-17 14:47:39.742  INFO 7328 --- [           main] org.mongodb.driver.cluster               : Cluster created with settings {hosts=[localhost:6666], mode=MULTIPLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500}
2018-08-17 14:47:39.742  INFO 7328 --- [           main] org.mongodb.driver.cluster               : Adding discovered server localhost:6666 to client view of cluster
2018-08-17 14:47:39.752  INFO 7328 --- [-localhost:6666] org.mongodb.driver.connection            : Opened connection [connectionId{localValue:2, serverValue:28}] to localhost:6666
2018-08-17 14:47:39.753  INFO 7328 --- [-localhost:6666] org.mongodb.driver.cluster               : Monitor thread successfully connected to server with description ServerDescription{address=localhost:6666, type=STANDALONE, state=CONNECTED, ok=true, version=ServerVersion{versionList=[4, 0, 1]}, minWireVersion=0, maxWireVersion=7, maxDocumentSize=16777216, logicalSessionTimeoutMinutes=30, roundTripTimeNanos=689134}
2018-08-17 14:47:39.753  INFO 7328 --- [-localhost:6666] org.mongodb.driver.cluster               : Discovered cluster type of STANDALONE
2018-08-17 14:47:39.917  INFO 7328 --- [           main] m.c.i.MongoPersistentEntityIndexResolver : Found cycle for field '_id' in type 'Car' for path 'cars -> owner -> cars'
2018-08-17 14:47:39.919  INFO 7328 --- [           main] m.c.i.MongoPersistentEntityIndexResolver : Found cycle for field 'owner' in type 'Car' for path 'cars -> owner -> cars'
2018-08-17 14:47:39.919  INFO 7328 --- [           main] m.c.i.MongoPersistentEntityIndexResolver : Found cycle for field '_id' in type 'Person' for path 'owner -> cars -> owner'
2018-08-17 14:47:39.919  INFO 7328 --- [           main] m.c.i.MongoPersistentEntityIndexResolver : Found cycle for field 'cars' in type 'Person' for path 'owner -> cars -> owner'
2018-08-17 14:47:40.010  INFO 7328 --- [           main] m.c.i.MongoPersistentEntityIndexResolver : Found cycle for field '_id' in type 'Car' for path 'cars -> owner -> cars'
2018-08-17 14:47:40.011  INFO 7328 --- [           main] m.c.i.MongoPersistentEntityIndexResolver : Found cycle for field 'owner' in type 'Car' for path 'cars -> owner -> cars'
2018-08-17 14:47:40.011  INFO 7328 --- [           main] m.c.i.MongoPersistentEntityIndexResolver : Found cycle for field '_id' in type 'Person' for path 'owner -> cars -> owner'
2018-08-17 14:47:40.011  INFO 7328 --- [           main] m.c.i.MongoPersistentEntityIndexResolver : Found cycle for field 'cars' in type 'Person' for path 'owner -> cars -> owner'
2018-08-17 14:47:40.186  INFO 7328 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2018-08-17 14:47:40.227  INFO 7328 --- [ctor-http-nio-1] r.ipc.netty.tcp.BlockingNettyContext     : Started HttpServer on /0:0:0:0:0:0:0:0:8888
2018-08-17 14:47:40.227  INFO 7328 --- [           main] o.s.b.web.embedded.netty.NettyWebServer  : Netty started on port(s): 8888
2018-08-17 14:47:40.232  INFO 7328 --- [           main] c.s.mongodb.demo.demo.DemoApplicationKt  : Started DemoApplicationKt in 3.363 seconds (JVM running for 4.53)
2018-08-17 14:47:40.271  INFO 7328 --- [           main] reactor.Mono.Defer.1                     : onSubscribe([Fuseable] Operators.EmptySubscription)
2018-08-17 14:47:40.271  INFO 7328 --- [           main] reactor.Mono.Defer.1                     : request(unbounded)
2018-08-17 14:47:40.272 ERROR 7328 --- [           main] reactor.Mono.Defer.1                     : onError(io.github.kaiso.relmongo.exception.RelMongoConfigurationException: Missing or misconfigured @JoinProperty annotation on Field cars from Class class com.spring.mongodb.demo.demo.entity.Person)
2018-08-17 14:47:40.274 ERROR 7328 --- [           main] reactor.Mono.Defer.1                     :
io.github.kaiso.relmongo.exception.RelMongoConfigurationException: Missing or misconfigured @JoinProperty annotation on Field cars from Class class com.spring.mongodb.demo.demo.entity.Person
at io.github.kaiso.relmongo.util.AnnotationsUtils.getJoinProperty(AnnotationsUtils.java:45) ~[relmongo-2.2.0-RC1.jar:na]
at io.github.kaiso.relmongo.events.callback.PersistentPropertySavingCallback.saveAssociation(PersistentPropertySavingCallback.java:64) ~[relmongo-2.2.0-RC1.jar:na]
at io.github.kaiso.relmongo.events.callback.PersistentPropertySavingCallback.doWith(PersistentPropertySavingCallback.java:55) ~[relmongo-2.2.0-RC1.jar:na]
at org.springframework.util.ReflectionUtils.doWithFields(ReflectionUtils.java:729) ~[spring-core-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.util.ReflectionUtils.doWithFields(ReflectionUtils.java:708) ~[spring-core-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at io.github.kaiso.relmongo.events.processor.RelMongoProcessor.onBeforeSave(RelMongoProcessor.java:65) ~[relmongo-2.2.0-RC1.jar:na]
at org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener.onApplicationEvent(AbstractMongoEventListener.java:89) ~[spring-data-mongodb-2.0.9.RELEASE.jar:2.0.9.RELEASE]
at org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener.onApplicationEvent(AbstractMongoEventListener.java:31) ~[spring-data-mongodb-2.0.9.RELEASE.jar:2.0.9.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) ~[spring-context-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) ~[spring-context-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) ~[spring-context-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:400) ~[spring-context-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:354) ~[spring-context-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.data.mongodb.core.ReactiveMongoTemplate.maybeEmitEvent(ReactiveMongoTemplate.java:2009) ~[spring-data-mongodb-2.0.9.RELEASE.jar:2.0.9.RELEASE]
at org.springframework.data.mongodb.core.ReactiveMongoTemplate.lambda$doInsert$21(ReactiveMongoTemplate.java:995) ~[spring-data-mongodb-2.0.9.RELEASE.jar:2.0.9.RELEASE]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:45) ~[reactor-core-3.1.8.RELEASE.jar:3.1.8.RELEASE]
at reactor.core.publisher.MonoLog.subscribe(MonoLog.java:51) ~[reactor-core-3.1.8.RELEASE.jar:3.1.8.RELEASE]
at reactor.core.publisher.Mono.subscribe(Mono.java:3080) ~[reactor-core-3.1.8.RELEASE.jar:3.1.8.RELEASE]
at reactor.core.publisher.Mono.subscribeWith(Mono.java:3188) ~[reactor-core-3.1.8.RELEASE.jar:3.1.8.RELEASE]
at reactor.core.publisher.Mono.subscribe(Mono.java:2965) ~[reactor-core-3.1.8.RELEASE.jar:3.1.8.RELEASE]
at com.spring.mongodb.demo.demo.DemoApplication.run(DemoApplication.kt:33) ~[classes/:na]
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:791) ~[spring-boot-2.0.4.RELEASE.jar:2.0.4.RELEASE]
at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:781) ~[spring-boot-2.0.4.RELEASE.jar:2.0.4.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:338) ~[spring-boot-2.0.4.RELEASE.jar:2.0.4.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1258) ~[spring-boot-2.0.4.RELEASE.jar:2.0.4.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1246) ~[spring-boot-2.0.4.RELEASE.jar:2.0.4.RELEASE]
at com.spring.mongodb.demo.demo.DemoApplicationKt.main(DemoApplication.kt:42) ~[classes/:na]

with 2 senarion (decomment the seccond line and comment the first)
.   ____          _            __ _ _
/\ / ' __ _ () __  __ _ \ \ \
( ( )__ | '_ | '| | ' / ` | \ \ \
\/  )| |)| | | | | || (| |  ) ) ) )
'  || .__|| ||| |_, | / / / /
=========||==============|/=////
:: Spring Boot ::        (v2.0.4.RELEASE)
2018-08-17 15:03:53.242  INFO 7472 --- [           main] c.s.mongodb.demo.demo.DemoApplicationKt  : Starting DemoApplicationKt on GHOST with PID 7472 (C:\Users\Halim\Desktop\demo\target\classes started by Halim in C:\Users\Halim\Desktop\demo)
2018-08-17 15:03:53.247  INFO 7472 --- [           main] c.s.mongodb.demo.demo.DemoApplicationKt  : No active profile set, falling back to default profiles: default
2018-08-17 15:03:53.329  INFO 7472 --- [           main] onfigReactiveWebServerApplicationContext : Refreshing org.springframework.boot.web.reactive.context.AnnotationConfigReactiveWebServerApplicationContext@14fc1f0: startup date [Fri Aug 17 15:03:53 CEST 2018]; root of context hierarchy
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.springframework.cglib.core.ReflectUtils$1 (file:/C:/Users/Halim/.m2/repository/org/springframework/spring-core/5.0.8.RELEASE/spring-core-5.0.8.RELEASE.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of org.springframework.cglib.core.ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
2018-08-17 15:03:54.936  INFO 7472 --- [           main] o.s.w.r.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/] onto handler of type [class org.springframework.web.reactive.resource.ResourceWebHandler]
2018-08-17 15:03:54.936  INFO 7472 --- [           main] o.s.w.r.handler.SimpleUrlHandlerMapping  : Mapped URL path [/] onto handler of type [class org.springframework.web.reactive.resource.ResourceWebHandler]
2018-08-17 15:03:55.079  INFO 7472 --- [           main] o.s.w.r.r.m.a.ControllerMethodResolver   : Looking for @ControllerAdvice: org.springframework.boot.web.reactive.context.AnnotationConfigReactiveWebServerApplicationContext@14fc1f0: startup date [Fri Aug 17 15:03:53 CEST 2018]; root of context hierarchy
2018-08-17 15:03:55.424  INFO 7472 --- [           main] org.mongodb.driver.cluster               : Cluster created with settings {hosts=[localhost:6666], mode=MULTIPLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500}
2018-08-17 15:03:55.425  INFO 7472 --- [           main] org.mongodb.driver.cluster               : Adding discovered server localhost:6666 to client view of cluster
2018-08-17 15:03:55.575  INFO 7472 --- [           main] org.mongodb.driver.cluster               : Cluster created with settings {hosts=[localhost:6666], mode=MULTIPLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500}
2018-08-17 15:03:55.575  INFO 7472 --- [           main] org.mongodb.driver.cluster               : Adding discovered server localhost:6666 to client view of cluster
2018-08-17 15:03:55.596  INFO 7472 --- [-localhost:6666] org.mongodb.driver.connection            : Opened connection [connectionId{localValue:2, serverValue:29}] to localhost:6666
2018-08-17 15:03:55.600  INFO 7472 --- [-localhost:6666] org.mongodb.driver.cluster               : Monitor thread successfully connected to server with description ServerDescription{address=localhost:6666, type=STANDALONE, state=CONNECTED, ok=true, version=ServerVersion{versionList=[4, 0, 1]}, minWireVersion=0, maxWireVersion=7, maxDocumentSize=16777216, logicalSessionTimeoutMinutes=30, roundTripTimeNanos=2386311}
2018-08-17 15:03:55.605  INFO 7472 --- [-localhost:6666] org.mongodb.driver.cluster               : Discovered cluster type of STANDALONE
2018-08-17 15:03:55.642  INFO 7472 --- [-localhost:6666] org.mongodb.driver.connection            : Opened connection [connectionId{localValue:1, serverValue:30}] to localhost:6666
2018-08-17 15:03:55.643  INFO 7472 --- [-localhost:6666] org.mongodb.driver.cluster               : Monitor thread successfully connected to server with description ServerDescription{address=localhost:6666, type=STANDALONE, state=CONNECTED, ok=true, version=ServerVersion{versionList=[4, 0, 1]}, minWireVersion=0, maxWireVersion=7, maxDocumentSize=16777216, logicalSessionTimeoutMinutes=30, roundTripTimeNanos=1506199}
2018-08-17 15:03:55.644  INFO 7472 --- [-localhost:6666] org.mongodb.driver.cluster               : Discovered cluster type of STANDALONE
2018-08-17 15:03:55.780  INFO 7472 --- [           main] m.c.i.MongoPersistentEntityIndexResolver : Found cycle for field '_id' in type 'Person' for path 'owner -> cars -> owner'
2018-08-17 15:03:55.782  INFO 7472 --- [           main] m.c.i.MongoPersistentEntityIndexResolver : Found cycle for field 'cars' in type 'Person' for path 'owner -> cars -> owner'
2018-08-17 15:03:55.782  INFO 7472 --- [           main] m.c.i.MongoPersistentEntityIndexResolver : Found cycle for field '_id' in type 'Car' for path 'cars -> owner -> cars'
2018-08-17 15:03:55.782  INFO 7472 --- [           main] m.c.i.MongoPersistentEntityIndexResolver : Found cycle for field 'owner' in type 'Car' for path 'cars -> owner -> cars'
2018-08-17 15:03:55.859  INFO 7472 --- [           main] m.c.i.MongoPersistentEntityIndexResolver : Found cycle for field '_id' in type 'Person' for path 'owner -> cars -> owner'
2018-08-17 15:03:55.860  INFO 7472 --- [           main] m.c.i.MongoPersistentEntityIndexResolver : Found cycle for field 'cars' in type 'Person' for path 'owner -> cars -> owner'
2018-08-17 15:03:55.860  INFO 7472 --- [           main] m.c.i.MongoPersistentEntityIndexResolver : Found cycle for field '_id' in type 'Car' for path 'cars -> owner -> cars'
2018-08-17 15:03:55.861  INFO 7472 --- [           main] m.c.i.MongoPersistentEntityIndexResolver : Found cycle for field 'owner' in type 'Car' for path 'cars -> owner -> cars'
2018-08-17 15:03:56.031  INFO 7472 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2018-08-17 15:03:56.090  INFO 7472 --- [ctor-http-nio-1] r.ipc.netty.tcp.BlockingNettyContext     : Started HttpServer on /0:0:0:0:0:0:0:0:8888
2018-08-17 15:03:56.090  INFO 7472 --- [           main] o.s.b.web.embedded.netty.NettyWebServer  : Netty started on port(s): 8888
2018-08-17 15:03:56.094  INFO 7472 --- [           main] c.s.mongodb.demo.demo.DemoApplicationKt  : Started DemoApplicationKt in 3.241 seconds (JVM running for 4.142)
2018-08-17 15:03:56.142  INFO 7472 --- [           main] reactor.Mono.OnErrorResume.1             : onSubscribe(FluxOnErrorResume.ResumeSubscriber)
2018-08-17 15:03:56.142  INFO 7472 --- [           main] reactor.Mono.OnErrorResume.1             : request(unbounded)
2018-08-17 15:03:56.173  INFO 7472 --- [ntLoopGroup-2-2] org.mongodb.driver.connection            : Opened connection [connectionId{localValue:3, serverValue:31}] to localhost:6666
2018-08-17 15:03:56.186  INFO 7472 --- [ntLoopGroup-2-2] reactor.Mono.OnErrorResume.1             : onNext(Car(id=car-1, marque=oodi-7, owner=Person(id=person-1, name=halim, age=36, dateNais=1982-03-18, cars=null)))
2018-08-17 15:03:56.186  INFO 7472 --- [ntLoopGroup-2-2] reactor.Mono.OnErrorResume.1             : onComplete()
so the car instance its saved with success, person instance not saved (car have no cascade to save person instance) also person collection not created

well i tested the @OneToOne -> @OneToOne and i send a report
i expected to my report i clear.
good luck.

Hi
The exception is clear if you look at the stack trace :
ˋˋˋjava
io.github.kaiso.relmongo.exception.RelMongoConfigurationException: Missing or misconfigured @JoinProperty annotation on Field cars from Class class com.spring.mongodb.demo.demo.entity.Person
at io.github.kaiso.relmongo.util.AnnotationsUtils.getJoinProperty(AnnotationsUtils.java:45) ~[relmongo-2.2.0-RC1.jar:na]ˋˋˋ
you are missing the @JoinProperty (and not JsonPropery)
good luck

hi
sory you are right i make this demo quickly so in not see what i code

person collection persist but there no persist of cascade for cars documents (if i use personRepositoty.save(person)

i i use carRepositoty.save(car) -> car persist with owner (person) success but person list cars still empty in person document (no reference for cars)


Implement that the 'info' command shows the total number of frames in case of 'out of range' error

Hi!
When with the info command you try to see the information of a frame greater than the number of frames that the RPU contains, this error occurs:
Parsing RPU file...
Error: info: invalid frame number (out of range)

Perhaps it would be useful for the user that, in addition to notifying this error, the number of available frames is also notified.
For example, something like this:
Parsing RPU file...
Error: info: invalid frame number (out of range)
Metadata length: 123456

Thanks and regards!

Now prints something like this:
Parsing RPU file...
Error: info: invalid frame number (out of range).
Number of valid RPUs parsed: 185341

Now prints something like this:
Parsing RPU file...
Error: info: invalid frame number (out of range).
Number of valid RPUs parsed: 185341

Thank you very much for your quick reply.


dartpad depends on route_hierarchical, a discontinued package

https://pub.dartlang.org/packages/route_hierarchical
and
https://github.com/dart-lang/dart-pad/blob/44a0320c64bad30b79e247ef947c0a6b8817f642/pubspec.yaml#L14

We could investigate using another router; package:m4d_router looks like it would do what we need.
We could also roll out own - we don't use much from the router. Here's our API exposure:
class Router {
  final Route root = new Route();

  Future<bool> go(String routePath, Map parameters, {bool forceReload: false}) {
  }

  void listen() {
  }
}

class RouteEnterEvent {
  final Map<String, String> parameters = {};
}

typedef void RouteEnterEventHandler(RouteEnterEvent event);

class Route {
  void addRoute({
    String name,
    Pattern path,
    bool defaultRoute: false,
    RouteEnterEventHandler enter,
  }) {

  }
}

I've managed to get it working with a modified version of the route_hierarchical package so that's an option as well (to take the whole old package in wholesale).  I'll look into ripping out just the parts we use, too.

I've managed to get it working with a modified version of the route_hierarchical package so that's an option as well (to take the whole old package in wholesale). I'll look into ripping out just the parts we use, too.

Awesome!
@MikeMitterer, I see you just recently published m4d_router; what are your thoughts for using it in DartPad? We have fairly simple routing needs - we'd mostly want something low maintenance that was an easy replacement for route_hierarchical.

Fixed in #834.


Add tests for provider.ts

Test plan

green ci

Changelog
Extract deriveNewFileUri from handleFileCreationResponse.

closing in favor of https://github.com/sourcegraph/cody/pull/5392


Missing attribute values in wglCreateContextAttribs parameter

There is no value for the WGL_CONTEXT_FLAGS_ARB and WGL_CONTEXT_PROFILE_MASK_ARB attributes in the list passed to wglCreateContextAttribs:
https://github.com/google/filament/blob/cc51d478f815870ac1953a0790e33f92c0e512b9/filament/backend/src/opengl/platforms/PlatformWGL.cpp#L103-L108
According to https://www.khronos.org/registry/OpenGL/extensions/ARB/WGL_ARB_create_context.txt , attribList should be a sequence of <name,value> pairs.

@pixelflinger I think we can simply remove line 106. What do you think?


Add text to the Javadoc that gives an overview of how the FF! works

Thanks, Gerrit. I agree and I will change this. The text being created here is not complete yet. I need more information from you or Niels on how the Frank!Framework works. I will ask one of you to be able to continue.

@mhdirkse today we decided we do not want this text to be part of the javadoc documentation, because this will mean we will have to maintain documentation in yet another place.
We would like to keep the first paragraph and make a reference to the github
For google ranking it is a good idea to add the readthedocs and other dcumentation url's

I wanted to add a link to GitHub here, but that does not work. I did a Maven build to create the JavaDoc and opened the produced index.html in Firefox. I could see the text I typed in the file overview.html. There is a link with text "GitHub" as I intended, but clicking it did not work. The JavaDoc webpage tried to open GitHub within the JavaDoc site, but GitHub refused the connection. See picture

I propose that we do not merge this PR, also not the "first paragraph" that is left now. We cannot add the links we want. Furthermore, I think it is not likely that someone who does not know our F!F will get the JavaDocs first. Potential customers will find our GitHub repository or the Frank!Manual first. For technical people, we can publish the JavaDocs on GitHub. See https://stackoverflow.com/questions/15347808/display-javadocs-on-github/15364790. I have seen that you can create releases on GitHub, like this:

If we make releases like shown, we can also add JavaDocs there.

Maybe we can just add the links as text? So somebody could copy/paste it into the address bar of the browser?

https://stackoverflow.com/questions/1082050/linking-to-an-external-url-in-javadoc
/**
 * @see http://google.com
 */

will show as a link in the javadoc

I propose that we do not merge this PR, also not the "first paragraph" that is left now. We cannot add the links we want. Furthermore, I think it is not likely that someone who does not know our F!F will get the JavaDocs first. Potential customers will find our GitHub repository or the Frank!Manual first. For technical people, we can publish the JavaDocs on GitHub. See https://stackoverflow.com/questions/15347808/display-javadocs-on-github/15364790. I have seen that you can create releases on GitHub, like this:

If we make releases like shown, we can also add JavaDocs there.

We already publish releases as shown. I don't understand what the benefits are of adding the javadoc artifact over publishing it to https://javadoc.frankframework.org

@jjansenvr, your suggestion does not work for GitHub. I updated the link such that the href attribute and the label of the link are the same, but I still get the same unwanted result. The ReadTheDocs link works fine, even though the href attribute and the label are different. I guess GitHub has some security policy that prevents it from being shown within another webpage.
I also tried to use http instead of https (not committed and not pushed), but that does not work neither.

lets close this PR and move on

I close it now.

Use the attribute target="_blank" within the a element to open the page in a new window!

@nielsm5, I have tested your change of this PR. It works now, thanks.