python311Packages.pytorch-lightning: 2.2.1 -> 2.2.3

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python311Packages.pytorch-lightning is: Lightweight PyTorch wrapper for machine learning researchers
meta.homepage for python311Packages.pytorch-lightning is: https://pytorch-lightning.readthedocs.io
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.2.2 with grep in /nix/store/lzmxqk92yx2bl00awz9yk8s2i21xaaib-python3.11-pytorch-lightning-2.2.2
found 2.2.2 in filename of file in /nix/store/lzmxqk92yx2bl00awz9yk8s2i21xaaib-python3.11-pytorch-lightning-2.2.2

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

4 package rebuild(s)

First fifty rebuilds by attrpath
piper-train
python311Packages.pyannote-audio
python311Packages.pytorch-lightning
python312Packages.pytorch-lightning

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/lzmxqk92yx2bl00awz9yk8s2i21xaaib-python3.11-pytorch-lightning-2.2.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python311Packages.pytorch-lightning https://github.com/r-ryantm/nixpkgs/archive/92944cae49131fe148787b171aeb08309e0fc78a.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/92944cae49131fe148787b171aeb08309e0fc78a#python311Packages.pytorch-lightning

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/lzmxqk92yx2bl00awz9yk8s2i21xaaib-python3.11-pytorch-lightning-2.2.2
ls -la /nix/store/lzmxqk92yx2bl00awz9yk8s2i21xaaib-python3.11-pytorch-lightning-2.2.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

2 packages marked as broken and skipped:

piper-train
piper-train.dist

2 packages failed to build:

python312Packages.pytorch-lightning
python312Packages.pytorch-lightning.dist

4 packages built:

python311Packages.pyannote-audio
python311Packages.pyannote-audio.dist
python311Packages.pytorch-lightning
python311Packages.pytorch-lightning.dist

Maintainer pings
cc @tbenst for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python311Packages.pytorch-lightning is: Lightweight PyTorch wrapper for machine learning researchers
meta.homepage for python311Packages.pytorch-lightning is: https://pytorch-lightning.readthedocs.io
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.2.3 with grep in /nix/store/9bz2nwlyqrvhhrncas11h9igqnjawh5a-python3.11-pytorch-lightning-2.2.3
found 2.2.3 in filename of file in /nix/store/9bz2nwlyqrvhhrncas11h9igqnjawh5a-python3.11-pytorch-lightning-2.2.3

Rebuild report (if merged into master) (click to expand)

5 total rebuild path(s)

5 package rebuild(s)

First fifty rebuilds by attrpath

piper-train
python311Packages.pyannote-audio
python311Packages.pytorch-lightning
python312Packages.pytorch-lightning

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/9bz2nwlyqrvhhrncas11h9igqnjawh5a-python3.11-pytorch-lightning-2.2.3 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python311Packages.pytorch-lightning https://github.com/r-ryantm/nixpkgs/archive/b4fd17231423b899bb0584c1d6c699e20306f62d.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/b4fd17231423b899bb0584c1d6c699e20306f62d#python311Packages.pytorch-lightning

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/9bz2nwlyqrvhhrncas11h9igqnjawh5a-python3.11-pytorch-lightning-2.2.3
ls -la /nix/store/9bz2nwlyqrvhhrncas11h9igqnjawh5a-python3.11-pytorch-lightning-2.2.3/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

2 packages marked as broken and skipped:

piper-train
piper-train.dist

4 packages failed to build:

python311Packages.pyannote-audio
python311Packages.pyannote-audio.dist
python312Packages.pytorch-lightning
python312Packages.pytorch-lightning.dist

2 packages built:

python311Packages.pytorch-lightning
python311Packages.pytorch-lightning.dist

Maintainer pings
cc @tbenst for testing.


SVG logo needed to add 4 Keys to CDF Landscape

Hi 4 Keys!
We at the CDF are big fans and would like to add the 4 Keys project to the CDF Landscape.
To do so, we need a 4 Keys SVG logo.
We have a WIP of where 4 Keys will likely go the CDF Landscape.
Currently, 4 Keys is placed under the 'Observability and Analysis: DevOps Metrics' category, and has a temporary Jenkins X logo, while we wait for 4 keys logo.
If you would like to propose a different category name, now is a good time to do so 😀
Also, if any of the 4 Keys data is incorrect (beyond logo), please comment on the WIP.
For SVG logo, you can add it via PR to the CDF landscape repo.

Happy New Year!
David is working on a logo and we'll send it over shortly!

Wonderful!
Happy New Year! 🥳

Thank you Kara! I opened https://github.com/cdfoundation/cdf-landscape/pull/211 to add the SVG logo.

Thank you @davidstanke and @dinagraves!
New svg and edits have been added to 4 Keys landscape card.
You can see the new additions on the landscape: https://landscape.cd.foundation/
Sorry for the slow reply, I was away at a study residential. :)


Display of function call hierarchy

I would like to add a function that shows whether it is a function in the standard C library header file to distinguish between my own functions and functions in the header file

It looks like this is caused by the C++ extension. Please file the issue to the C++ extension repository. Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our issue reporting guidelines for more information.
Happy Coding!


zebra-striped nit, when mixing tr display:none

If you set tr display:none, the zebra striping gets a bit wonky, as it seems to be setting the style regardless of visibility.
I'd submit a pull request but my css is bad and I was hoping there was a :visible css pseudo selector but it doesn't look like that actually exists. Maybe there's an css-only elegant solution?

There is a way apparently, but I don't think this is a huge concern that we need to include with Bootstrap automatically. If more folks run into it, we can add it in.
http://stackoverflow.com/questions/3773890/zebra-striping-a-table-with-hidden-rows-using-css3

Oho! Thanks, I'll add it to mine.


Turn off Photo Preview

Hello! I use google translation.
First of all, thanks for the plugin, it helped me a lot in my tasks.
However, I am extremely lacking in the ability to take photos without a preview.

After each shot, I have to click on the confirmation. The confirmation line can be seen at the top of the screenshot.
I would like the photos to always be written to the phone’s memory without confirmations, is this possible? If so, how do I achieve this?

Thanks a lot for your issue, however the issue template exists for a reason. 😊.
It helps us to debug the issue further and to provide a solution much faster. With important information missing, we unfortunately can't help you.
Therefore, please edit this issue accordingly or close and create a new one and make sure to provide all the required information.


Remove left over alerts

"Feedback was sent", "Resource available", message from LodLive that the entity is already set and maybe some other.
The application should not display these raw alerts, but rather use other suitable and non-disturbing means of passing the information to user.
Use spinners to indicate waiting (especially when searching the base), Toast messages to indicate success of non-blocking operations.

I believe this is not urgent, so we'll get back to it in 4th iteration (or during its planning).

Sorry, I just noticed the "4th iteration" flag. Ignore my previous message.

Never mind. Ignore the changes for now.

For now leaving the task to Kata, as it is her code.
If a help is needed, contact me.
As for means for displaying the information, we have several directives for it: "loadico", "alert", "modal".


Removed torch7 support from cli. Fixes #1039

Failing tests are related to newer version of webgme and node versions (not these changes)


Use minimist to create alias and default arguments

Love the module, I'm a big fan. Thanks for creating and supporting it.
I have a pretty simple PR that updates the bin entry point to take advantage of minimist's options for defining aliases, defaults, booleans and strings.  It uses minimist's parse arguments return instead of creating a new object. Also, it's nicer to have these things be explicitly declared.
If you're happy with the existing arguments/options setup, please feel free to close.

Ping


how I  statistical data such as linking number

give me a  idea?
how I  statistical data such as linking number?
from mapDB? or by aop?

Looking at the source code, I found some classes that collect metrics.
BytesMetricsHandler
MessageMetricsHandler
But at first glance I did not think to pick them externally

@andsel how a get this stats ?


Can't run script.  Get the following error:

I run terminal in Admin mode and execute the script:
irm christitus.com/win | iex
I get the following error dump:
PS C:\Users\richa> irm christitus.com/win | iex
iex : At line:14455 char:5
+     class WingetFailedInstall : Exception {
+     ~~~~~
Class keyword is not allowed in ConstrainedLanguage mode.
At line:14455 char:11
+     class WingetFailedInstall : Exception {
+           ~~~~~~~~~~~~~~~~~~~
Unexpected token 'WingetFailedInstall' in expression or statement.
At line:14461 char:5
+     class ChocoFailedInstall : Exception {
+     ~~~~~
Class keyword is not allowed in ConstrainedLanguage mode.
At line:14461 char:11
+     class ChocoFailedInstall : Exception {
+           ~~~~~~~~~~~~~~~~~~
Unexpected token 'ChocoFailedInstall' in expression or statement.
At line:14467 char:5
+     class GenericException : Exception {
+     ~~~~~
Class keyword is not allowed in ConstrainedLanguage mode.
At line:14467 char:11
+     class GenericException : Exception {
+           ~~~~~~~~~~~~~~~~
Unexpected token 'GenericException' in expression or statement.
At line:1 char:26
+ irm christitus.com/win | iex
+                          ~~~
    + CategoryInfo          : ParserError: (:) [Invoke-Expression], ParseException
    + FullyQualifiedErrorId : ClassesNotAllowedInConstrainedLanguage,Microsoft.PowerShell.Commands.InvokeExpressionCom
   mand

PS C:\Users\richa>

Any ideas?
ps. I was able to run this in the past successfully.

Hello @RichRay65
This is the same as #1994, try following:
$ExecutionContext.SessionState.LanguageMode = "FullLanguage"
We cuurently do not have a fix for it appearing at all, bc this is essencially a way to restrict scripts, which winutil is.

Thanks!
I removed this environment variable __PSLockDownPolicy and it works again.
On Wed, Oct 9, 2024 at 2:08 PM MyDrift @.***> wrote:

Hello @RichRay65 https://github.com/RichRay65
This is the same as #1994
https://github.com/ChrisTitusTech/winutil/issues/1994, try following:
$ExecutionContext.SessionState.LanguageMode = "FullLanguage"
We cuurently do not have a fix for it appearing at all, bc this is
essencially a way to restrict scripts, which winutil is.
—
Reply to this email directly, view it on GitHub
https://github.com/ChrisTitusTech/winutil/issues/2901#issuecomment-2403197233,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOA2PQDDH4QOL4EV2OOL2WTZ2V5LFAVCNFSM6AAAAABPVGAZZ2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBTGE4TOMRTGM
.
You are receiving this because you were mentioned.Message ID:
@.***>


Prism.util.isActive is not a function

I have a page where I use prism.css and execute prism.js. It does syntax highlighting of a very simple language and it is all fine:

source code goes here

I thought about making this editable. I started with this in the page header:

downloaded today from https://unpkg.com/codeflask/build/codeflask.min.js.
It is the only modification, nothing else changed in the page. Yet the syntax highlight within  stopped to work properly and the following error shows now in the console:
    Uncaught TypeError: Prism.util.isActive is not a function
    at prism.js:1423
    at Object.run (prism.js:698)
    at insertHighlightedCode (prism.js:542)
    at Object.highlightElement (prism.js:575)
    at Object.highlightAllUnder (prism.js:482)
    at Object.highlightAll (prism.js:451)
    at HTMLDocument.highlightAutomaticallyCallback (prism.js:1100)

The error happens here:
		// only add line numbers if  or one of its ancestors has the `line-numbers` class
		if (!Prism.util.isActive(code, PLUGIN_NAME)) {
			return;
		}

where PLUGIN_NAME === "line-numbers". It looks like Prismjs' issue, but why the error does not show without Codeflask?
So, it seems that merely executing codeflask.js causes that Prism.js no more works properly. Why? Should I execute the script in another way? I have only a basic JS knowledge.
I use Prism.js generated with the following options: core, default, clike, line numbers plus some modifications limited to changing keywords and operator regexps, but it seems to work and highlight properly if the Codeflask script is not executed.

Can it be an internal inconsistency within Prism.js - plugin incompatibility, which is somewhat triggered by Codeflask?

I got it now: I do not need to execute prism.js separately, because it is inside codeflask.js.


feat: Replace rollup with tsup/esbuild

Motivation

tsup v7.0.0 preserves "use client" because it updated to esbuild 0.18, so I thought it was worth trying out here.
tsup v7.1.0 introduces separate CJS/ESM type declaration generation. The reasoning behind why this is important is explained here. This allows the package to pass ATTW!
esbuild also has a really nice target feature which lets you specify node, ecmascript and browser versions you need to support. I've generated separate modern and legacy targets like the current rollup system.
For this draft demonstration I've just converted query-core and react-query.

Advantages

Simpler build config
Super fast builds
Generates correct CJS/ESM types
Built-in targets without babel

Disadvantages

Doesn't work with all packages (e.g. svelte)
No "bug fixes" from babel

Additional Notes

The svelte-based packages have kept @sveltejs/package (properly handles types of svelte components), and the solid-based packages have kept rollup-preset-solid (generates correct code for SSR)

Codecov Report
Patch and project coverage have no change.

Comparison is base (65c7c9d) 88.88% compared to head (cbe67a4) 88.88%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@           Coverage Diff           @@
##            alpha    #5597   +/-   ##
=======================================
  Coverage   88.88%   88.88%
=======================================
  Files          70       70
  Lines        2385     2385
  Branches      621      621
=======================================
  Hits         2120     2120
  Misses        219      219
  Partials       46       46

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

@TkDodo I've re-approached this after finding out about https://arethetypeswrong.github.io/ - I've modified the query-core and react-query exports fields to pass all tests with tsup's improved dts generation. I've also set it up to generate a build/legacy folder (es2020-compatible) and a build/modern folder (private fields, etc).

The solid-js packages can be built with https://github.com/solidjs-community/tsup-preset-solid. WOuld you like help with that? I can create a PR to add it to the solid-js packages!

The solid-js packages can be built with https://github.com/solidjs-community/tsup-preset-solid. WOuld you like help with that? I can create a PR to add it to the solid-js packages!

@ardeora I saw that package, but I was worried as it hadn't been updated in 5 months and therefore doesn't have the latest tsup changes. However I just noticed rollup-preset-solid hasn't been updated in 8 months and has fewer weekly downloads, so it's probably not as much of a problem as I thought!  I'd definitely appreciate it if you want to look into switching it :)

@ardeora one option would be to do this, however it doesn't make the build/solid folder which rollup generates (tsup-plugin-solid doesn't seem to make this either?):
// @ts-check

import { defineConfig } from 'tsup'
import { solidPlugin } from 'esbuild-plugin-solid'
import { legacyConfig, modernConfig } from '../../scripts/getTsupConfig.js'

export default defineConfig([
  modernConfig({
    entry: ['src/*.ts', 'src/*.tsx'],
    esbuildPlugins: [solidPlugin()],
  }),
  legacyConfig({
    entry: ['src/*.ts', 'src/*.tsx'],
    esbuildPlugins: [solidPlugin()],
  }),
])

@lachlancollins I think the test failures are flaky. We can merge this if you want :)

@lachlancollins I have made a PR adding tsup to solid-query and query-devtools linked here
The solid-query package in general dont need a modern/legacy version since they ship with the source files. If the user wants to add compatibility for older browsers they can do so in userland while building the app. So the TSUP config is fairly straightforward. Let me kknow if you have any questions :D

@lachlancollins I think the test failures are flaky. We can merge this if you want :)

Thanks, I was just waiting on your approval :)


ot-br-posix as an on-mesh commissioner fails to accept client hello packets

OOB connections are still working for me, as are DTLS connections soc-to-soc, however the case of soc to BR using DTLS psk is giving me problems.  I did have this working previously so this did work before.  Originally we had thought this was a thread 1.2/1.1 incompatibility issue but we found that 1.1 images also aren't connecting properly.
Here is my BR console for one of the various tests I ran:
sudo ot-ctl factoryreset
sleep 3
sudo ot-ctl channel 11
Done
sudo ot-ctl panid 0xdf47
Done
sudo ot-ctl networkname R0GUE7
Done
sudo ot-ctl masterkey<PHONE_NUMBER>5566778899aabbccddeeff
Done
sudo ot-ctl extpanid 000df47000000000
Done
sudo ot-ctl pskc -p S1LABS6
Done
sudo ot-ctl ifconfig up
Done
sudo ot-ctl thread start
Done
pi@rpi1:~ $ sudo ot-ctl
> commissioner start
Commissioner: petitioning
Done
> Commissioner: active

>
> commissioner joiner add * S1LABS6
Done
> Commissioner: Joiner remove

And soc console:
> factoryreset
channel 11
Done
>
> panid 0xdf47
Done
>
> ifconfig up
Done
>
> joiner start S1LABS6
Done
>
> Join failed [Security]

Version information:
pi@rpi1:~/ot-br-posix $ git show
commit 274c11a371df6ffe0f7562359f31dd43af0fe871
Author: Jiacheng Guo<EMAIL_ADDRESS>Date:   Fri Sep 11 23:45:04 2020 +0800

> version
SL-OPENTHREAD/<IP_ADDRESS> GitHub-babb66d9c; EFR32; Sep 14 2020 22:01:04
Done

I would attach the actual trace file but the format isn't supported here and the tool I used was Silabs Simplicity Studio which you may not have installed.  But here is a picture so you can see the point of failure:

I'm using 2x brd4161a but I don't think that matters.  My topology is just the simple 2 node network BR to SoC.
Please let me know if I've done something incorrectly and/or what other information I can provide.  Thanks.

The command line output showed that the joiner has been removed. This can caused by timeout or another joiner already joined. You need to launch the joiner before you see the line  Commissioner: Joiner remove.

There are no other joiners and you can see I'm factory resetting prior.  This addition is happening very quick and should not be timing out.  This used to work previously (in automation) and is now failing (in automation as well as manually).  Did the timeout value change?

Looking at this again today and it is clear to me that this is not a timeout issue.  Something here has changed and is no longer working as it should.

I cannot reproduce this issue. Can you provide the cmake options you're using and the otbr log?
You can acquire the log by cat /var/log/syslog | grep otbr

Sorry for the delay.  I updated to the latest available and now I can get this working manually, but for some reason (timing?) the automated case that used to work, now consistently fails.
These are the commands sent both in automation and manually (201 is the otbr, 221 is the soc):
<<IP_ADDRESS>> issuing cmd<networkname R0GUE1>
<<IP_ADDRESS>> issuing cmd<panid 0xDF46>
<<IP_ADDRESS>> issuing cmd<extpanid 000df46000000000>
<<IP_ADDRESS>> issuing cmd<masterkey<PHONE_NUMBER>5566778899AABBCCDD4161>
<<IP_ADDRESS>> issuing cmd<pskc -p 3c72b2a2cd7cb42bcf927c147bdfd34c>
<<IP_ADDRESS>> issuing cmd<ifconfig up>
<<IP_ADDRESS>> issuing cmd<thread start>
<<IP_ADDRESS>> issuing cmd<prefix add fdde:ad00:dead:beef::/64 paros med>
<<IP_ADDRESS>> issuing cmd<prefix add fdde:ad03::/64 paros med>
<<IP_ADDRESS>> issuing cmd<prefix add 2001:22::/64 paros med>
<<IP_ADDRESS>> issuing cmd<commissioner start>

<<IP_ADDRESS>> issuing cmd<eui64>

<<IP_ADDRESS>> issuing cmd<commissioner joiner add 000d6ffffece275b S1LABS6>

<<IP_ADDRESS>> issuing cmd<channel 11>
<<IP_ADDRESS>> issuing cmd<panid 0xDF46>
<<IP_ADDRESS>> issuing cmd<ifconfig up>
<<IP_ADDRESS>> issuing cmd<joiner start S1LABS6>

Here are the syslog messages I get when this fails in automation:
Oct  5 21:01:51 rpi1 otbr-agent[3019]: [INFO]-MLE-----: Send delayed message (fe80:0:0:0:bc67:b92b:b124:9340)
Oct  5 21:01:51 rpi1 otbr-agent[3019]: [INFO]-MAC-----: Sent IPv6 UDP msg, len:100, chksum:6868, to:be67b92bb1249340, sec:no, prio:net
Oct  5 21:01:51 rpi1 otbr-agent[3019]: [INFO]-MAC-----:     src:[fe80:0:0:0:4e2:9082:45ee:e22c]:19788
Oct  5 21:01:51 rpi1 otbr-agent[3019]: [INFO]-MAC-----:     dst:[fe80:0:0:0:bc67:b92b:b124:9340]:19788
Oct  5 21:01:58 rpi1 otbr-agent[3019]: [NOTE]-MAC-----: Dropping (reassembly queue) IPv6 UDP msg, len:473, chksum:aaba, sec:no, error:ReassemblyTimeout, prio:low, rss:-31.0
Oct  5 21:01:58 rpi1 otbr-agent[3019]: [NOTE]-MAC-----:     src:[fe80:0:0:0:a01b:e18f:85ae:5eb7]:1000
Oct  5 21:01:58 rpi1 otbr-agent[3019]: [NOTE]-MAC-----:     dst:[fe80:0:0:0:4e2:9082:45ee:e22c]:1000
Oct  5 21:02:06 rpi1 otbr-agent[3019]: [NOTE]-MAC-----: Dropping (reassembly queue) IPv6 UDP msg, len:473, chksum:a9ba, sec:no, error:ReassemblyTimeout, prio:low, rss:-31.0
Oct  5 21:02:06 rpi1 otbr-agent[3019]: [NOTE]-MAC-----:     src:[fe80:0:0:0:a01b:e18f:85ae:5eb7]:1000
Oct  5 21:02:06 rpi1 otbr-agent[3019]: [NOTE]-MAC-----:     dst:[fe80:0:0:0:4e2:9082:45ee:e22c]:1000
Oct  5 21:02:07 rpi1 otbr-agent[3019]: [INFO]-MLE-----: Send Advertisement (ff02:0:0:0:0:0:0:1)
Oct  5 21:02:07 rpi1 otbr-agent[3019]: [INFO]-MAC-----: Sent IPv6 UDP msg, len:90, chksum:96ee, to:0xffff, sec:no, prio:net
Oct  5 21:02:07 rpi1 otbr-agent[3019]: [INFO]-MAC-----:     src:[fe80:0:0:0:4e2:9082:45ee:e22c]:19788
Oct  5 21:02:07 rpi1 otbr-agent[3019]: [INFO]-MAC-----:     dst:[ff02:0:0:0:0:0:0:1]:19788
Oct  5 21:02:08 rpi1 otbr-agent[3019]: [INFO]-PLAT----: processNetifLinkEvent: OK
Oct  5 21:02:08 rpi1 wpa_supplicant[439]: wlan0: Failed to initiate sched scan
Oct  5 21:02:11 rpi1 otbr-agent[3019]: [INFO]-MESH-CP-: sent keep alive
Oct  5 21:02:11 rpi1 otbr-agent[3019]: [INFO]-MESH-CP-: received keep alive
Oct  5 21:02:11 rpi1 otbr-agent[3019]: [INFO]-MESH-CP-: sent keep alive response
Oct  5 21:02:11 rpi1 otbr-agent[3019]: [INFO]-MESH-CP-: received Leader keep-alive response
Oct  5 21:02:23 rpi1 otbr-agent[3019]: [NOTE]-MAC-----: Dropping (reassembly queue) IPv6 UDP msg, len:473, chksum:a8ba, sec:no, error:ReassemblyTimeout, prio:low, rss:-31.0
Oct  5 21:02:23 rpi1 otbr-agent[3019]: [NOTE]-MAC-----:     src:[fe80:0:0:0:a01b:e18f:85ae:5eb7]:1000
Oct  5 21:02:23 rpi1 otbr-agent[3019]: [NOTE]-MAC-----:     dst:[fe80:0:0:0:4e2:9082:45ee:e22c]:1000
Oct  5 21:02:30 rpi1 otbr-agent[3019]: [INFO]-MLE-----: Send Advertisement (ff02:0:0:0:0:0:0:1)
Oct  5 21:02:30 rpi1 otbr-agent[3019]: [INFO]-MAC-----: Sent IPv6 UDP msg, len:90, chksum:e567, to:0xffff, sec:no, prio:net
Oct  5 21:02:30 rpi1 otbr-agent[3019]: [INFO]-MAC-----:     src:[fe80:0:0:0:4e2:9082:45ee:e22c]:19788
Oct  5 21:02:30 rpi1 otbr-agent[3019]: [INFO]-MAC-----:     dst:[ff02:0:0:0:0:0:0:1]:19788
Oct  5 21:02:36 rpi1 otbr-agent[3019]: [INFO]-MESH-CP-: sent keep alive
Oct  5 21:02:36 rpi1 otbr-agent[3019]: [INFO]-MESH-CP-: received keep alive
Oct  5 21:02:36 rpi1 otbr-agent[3019]: [INFO]-MESH-CP-: sent keep alive response
Oct  5 21:02:36 rpi1 otbr-agent[3019]: [INFO]-MESH-CP-: received Leader keep-alive response
Oct  5 21:02:55 rpi1 otbr-agent[3019]: [NOTE]-MAC-----: Dropping (reassembly queue) IPv6 UDP msg, len:473, chksum:a7ba, sec:no, error:ReassemblyTimeout, prio:low, rss:-31.0
Oct  5 21:02:55 rpi1 otbr-agent[3019]: [NOTE]-MAC-----:     src:[fe80:0:0:0:a01b:e18f:85ae:5eb7]:1000
Oct  5 21:02:55 rpi1 otbr-agent[3019]: [NOTE]-MAC-----:     dst:[fe80:0:0:0:4e2:9082:45ee:e22c]:1000
Oct  5 21:03:01 rpi1 otbr-agent[3019]: [INFO]-MESH-CP-: sent keep alive
Oct  5 21:03:01 rpi1 otbr-agent[3019]: [INFO]-MESH-CP-: received keep alive
Oct  5 21:03:01 rpi1 otbr-agent[3019]: [INFO]-MESH-CP-: sent keep alive response
Oct  5 21:03:01 rpi1 otbr-agent[3019]: [INFO]-MESH-CP-: received Leader keep-alive response
Oct  5 21:03:08 rpi1 otbr-agent[3019]: [INFO]-MLE-----: Send Advertisement (ff02:0:0:0:0:0:0:1)
Oct  5 21:03:08 rpi1 otbr-agent[3019]: [INFO]-MAC-----: Sent IPv6 UDP msg, len:90, chksum:777d, to:0xffff, sec:no, prio:net
Oct  5 21:03:08 rpi1 otbr-agent[3019]: [INFO]-MAC-----:     src:[fe80:0:0:0:4e2:9082:45ee:e22c]:19788
Oct  5 21:03:08 rpi1 otbr-agent[3019]: [INFO]-MAC-----:     dst:[ff02:0:0:0:0:0:0:1]:19788
Oct  5 21:03:11 rpi1 otbr-agent[3019]: [INFO]-PLAT----: processNetifLinkEvent: OK
Oct  5 21:03:11 rpi1 wpa_supplicant[439]: wlan0: Failed to initiate sched scan
Oct  5 21:03:26 rpi1 otbr-agent[3019]: [INFO]-MESH-CP-: sent keep alive
Oct  5 21:03:26 rpi1 otbr-agent[3019]: [INFO]-MESH-CP-: received keep alive
Oct  5 21:03:26 rpi1 otbr-agent[3019]: [INFO]-MESH-CP-: sent keep alive response
Oct  5 21:03:26 rpi1 otbr-agent[3019]: [INFO]-MESH-CP-: received Leader keep-alive response
Oct  5 21:03:36 rpi1 otbr-agent[3019]: [INFO]-MLE-----: Send Advertisement (ff02:0:0:0:0:0:0:1)
Oct  5 21:03:36 rpi1 otbr-agent[3019]: [INFO]-MAC-----: Sent IPv6 UDP msg, len:90, chksum:cb60, to:0xffff, sec:no, prio:net
Oct  5 21:03:36 rpi1 otbr-agent[3019]: [INFO]-MAC-----:     src:[fe80:0:0:0:4e2:9082:45ee:e22c]:19788
Oct  5 21:03:36 rpi1 otbr-agent[3019]: [INFO]-MAC-----:     dst:[ff02:0:0:0:0:0:0:1]:19788
Oct  5 21:03:47 rpi1 otbr-agent[3019]: [INFO]-MESH-CP-: sent MGMT_COMMISSIONER_SET.req to leader
Oct  5 21:03:47 rpi1 otbr-agent[3019]: [INFO]-MESH-CP-: Removed Joiner (eui64:000d6ffffece275b, S1LABS6)
Oct  5 21:03:47 rpi1 otbr-agent[3019]: [INFO]-MESH-CP-: sent commissioning dataset set response
Oct  5 21:03:47 rpi1 otbr-agent[3019]: [INFO]-CORE----: Notifier: StateChanged (0x00000200) [NetData]
Oct  5 21:03:47 rpi1 otbr-agent[3019]: [INFO]-MLE-----: Send Data Response (ff02:0:0:0:0:0:0:1)
Oct  5 21:03:47 rpi1 otbr-agent[3019]: [INFO]-IP6-----: Removed unsecure port 1000
Oct  5 21:03:47 rpi1 otbr-agent[3019]: [INFO]-MESH-CP-: received MGMT_COMMISSIONER_SET response
Oct  5 21:03:47 rpi1 otbr-agent[3019]: [INFO]-MAC-----: Sent IPv6 UDP msg, len:184, chksum:d0e3, to:0xffff, sec:yes, prio:net
Oct  5 21:03:47 rpi1 otbr-agent[3019]: [INFO]-MAC-----:     src:[fe80:0:0:0:4e2:9082:45ee:e22c]:19788
Oct  5 21:03:47 rpi1 otbr-agent[3019]: [INFO]-MAC-----:     dst:[ff02:0:0:0:0:0:0:1]:19788
Oct  5 21:03:51 rpi1 otbr-agent[3019]: [INFO]-MESH-CP-: sent keep alive
Oct  5 21:03:51 rpi1 otbr-agent[3019]: [INFO]-MESH-CP-: received keep alive
Oct  5 21:03:51 rpi1 otbr-agent[3019]: [INFO]-MESH-CP-: sent keep alive response
Oct  5 21:03:51 rpi1 otbr-agent[3019]: [INFO]-MESH-CP-: received Leader keep-alive response
Oct  5 21:03:53 rpi1 otbr-agent[3019]: [NOTE]-MAC-----: Dropping rx lowpan HC frame, error:Drop, len:25, src:a21be18f85ae5eb7, dst:06e2908245eee22c, sec:no

The log shows that the DTLS client hello packet is always dropped due to error:ReassemblyTimeout and finally the commissioner will remove the joiner after the default timeout (~120s).
Oct  5 21:01:58 rpi1 otbr-agent[3019]: [NOTE]-MAC-----: Dropping (reassembly queue) IPv6 UDP msg, len:473, chksum:aaba, sec:no, error:ReassemblyTimeout, prio:low, rss:-31.0
Oct  5 21:01:58 rpi1 otbr-agent[3019]: [NOTE]-MAC-----:     src:[fe80:0:0:0:a01b:e18f:85ae:5eb7]:1000
Oct  5 21:01:58 rpi1 otbr-agent[3019]: [NOTE]-MAC-----:     dst:[fe80:0:0:0:4e2:9082:45ee:e22c]:1000
...
Oct  5 21:03:47 rpi1 otbr-agent[3019]: [INFO]-MESH-CP-: sent MGMT_COMMISSIONER_SET.req to leader
Oct  5 21:03:47 rpi1 otbr-agent[3019]: [INFO]-MESH-CP-: Removed Joiner (eui64:000d6ffffece275b, S1LABS6)

We know that the large DTLS client hello packet is fragmented during transmission over 15.4 radio, and the default reassembly timeout between fragments is 2s.
#define OPENTHREAD_CONFIG_6LOWPAN_REASSEMBLY_TIMEOUT 2
Is it the same testbed when testing manually and automatically? Is it possible that there are some interference for the automatic testbed?

Thank you for that information.  This is the same test bed in all of these test runs.  It is a test bed in my home, so I wouldn't think there would be a lot of interference.  Since this is working for me manually, I'm closing this.  If I find the cause of the automated test failure, I will reopen.  Thanks again, @gjc13 and @librasungirl

@JaneFromSilabs
Fyi, there is one similar error:ReassemblyTimeout issue on nRF platform which could be resolved by improving the baudrate (see https://groups.google.com/g/openthread-users/c/t08i-B6Iqwo/m/ZCMQtc34DAAJ)
Not sure but I am thinking you may have a try to see if it helps.

@librasungirl Thanks, I'll look into it!

I need to reopen this and I have a bit more information.  This problem seems to be intermittent.  I can both pass and fail DTLS authentication manually as well as in my automated test.  Increasing the baud rate definitely helps but the problem can still be replicated with enough repetition.  Additionally, I went back to test against older builds from a few months back and the problem exists there as well in the latest code.  The common point here is always a number of these syslog messages in both the passing and failing cases:
Dropping (reassembly queue) IPv6 UDP msg, len:513, chksum:5c72, sec:no, error:ReassemblyTimeout, prio:normal, rss:-21.0
I suspect that the retry code is allowing this process to succeed occasionally but the basic problem seems to persist regardless.  Can you please check on your side and see if you are getting these syslog messages even in passing cases?  Thank you!

Also, 2 other people here have reported the same problem.  I'm not sure where this problem lives but it is definitely not limited to my test bed.

Hi Jane
May I know the baudrate you are using when the issue still exists with enough repetition?
Would you please check whether or not adjusting spinel frame buffer size for rcp could help?
e.x.,
typedef Hdlc::MultiFrameBuffer<kMaxFrameSize> RxFrameBuffer;
->
typedef Hdlc::MultiFrameBuffer<4096> RxFrameBuffer;

Hi @librasungirl, I'm an engineer at SiLabs also looking into this issue along with @JaneFromSilabs .
We tried upping the baud rate to 460800 as follows in /etc/default/otbr-agent:
OTBR_AGENT_OPTS="-I wpan0 spinel+hdlc+uart:///dev/ttyACM0?uart-baudrate=460800"
We verified the baud rate by running the following command:
pi@raspberrypi:~ $ stty -F /dev/ttyACM0
speed 460800 baud; line = 0;
min = 1; time = 0;
-brkint -icrnl -imaxbel
-opost
-isig -icanon -iexten -echo

Additionally, I changed kMaxSize to 4096 in third_party/openthread/repo/src/lib/spinel/spinel_interface.hpp as you suggested above.
With both of these changes, it seems to help our use case.  However, there's some peculiar behavior I'm seeing, which I will explain below:
If you look at Jane's test setup above, it's a simple two device test.  A border router (also an on-mesh commissioner), and a joiner.  The border router starts the network and starts in on-mesh commissioner mode, then the joiner initiates the DTLS connection with client hello.
If I keep the border router up, i.e., don't reset it, then it seems I can retry the joiner connection over and over without hitches (but only with the above fixes.  Without the above fixes, the failures are manifested with the error:ReassemblyTimeout error)
However, if I issue factoryreset on the border router subsequently (this is part of Jane's testbed scripts) and retry the whole test, then the border router can get into a state where it will drop any incoming DTLS client hello.
This is manifested as the following type of error messages in the syslog.  This is an example of a set of client hello fragments, all dropped.
Oct 20 07:26:17 raspberrypi otbr-agent[1116]: [NOTE]-MAC-----: Dropping rx frag frame, error:Drop, len:97, src:d28f6fbd691a1a8c, dst:868cd0e06282c7b1, tag:19038, offset:0, dglen:473, sec:no
Oct 20 07:26:17 raspberrypi otbr-agent[1116]: [NOTE]-MAC-----: Dropping rx frag frame, error:Drop, len:96, src:d28f6fbd691a1a8c, dst:868cd0e06282c7b1, tag:19038, offset:136, dglen:473, sec:no
Oct 20 07:26:17 raspberrypi otbr-agent[1116]: [NOTE]-MAC-----: Dropping rx frag frame, error:Drop, len:96, src:d28f6fbd691a1a8c, dst:868cd0e06282c7b1, tag:19038, offset:232, dglen:473, sec:no
Oct 20 07:26:17 raspberrypi otbr-agent[1116]: [NOTE]-MAC-----: Dropping rx frag frame, error:Drop, len:96, src:d28f6fbd691a1a8c, dst:868cd0e06282c7b1, tag:19038, offset:328, dglen:473, sec:no
Oct 20 07:26:17 raspberrypi otbr-agent[1116]: [NOTE]-MAC-----: Dropping rx frag frame, error:Drop, len:49, src:d28f6fbd691a1a8c, dst:868cd0e06282c7b1, tag:19038, offset:424, dglen:473, sec:no

I debugged the code, adding some stderr prints, and noticed that this is because on these subsequent runs, the border router is not adding the unsecure joiner port (1000) after registering as a commissioner.  This seems to work the first time, but not any time after that after we do a factoryreset.  A reboot of the raspberry pi appears to fix the issue, I need to do more testing.
Code path:
src/core/thread/mesh_forwarder.cpp:HandleFragment
Fails during this step: VerifyOrExit(Get<Ip6::Filter>().Accept(*message), error = OT_ERROR_DROP);
Reason:
src/core/net/ip6_filter.cpp:Filter::Accept
Fails in this step:
    // Check against allowed unsecure port list
    for (uint16_t unsecurePort : mUnsecurePorts)
    {
        if (unsecurePort != 0 && unsecurePort == dstport)
        {
            ExitNow(rval = true);
        }
    }

Note:  All of this testing was done against current HEAD when I tested: ot-br-posix commit 6f0c803670096107c96a335d574e500de302600b, third_party/openthread/repo commit dc9b032dad4d348da389c1053457147dd2817bd8

Hi @suveshpratapa
Yes, it looks like the unsecure port:MJ is not added.
Would you please help to share the full syslog since factoryreset is issued?

Attached a text file with the full log capturing behavior of successful DTLS, followed by failure after factoryreset. The log corresponds to the test procedure on OTBR console as follows.  We are basically repeating the test after factoryreset.
# fresh state, to induce success
sudo reboot

channel 11
panid 0xFACE
masterkey<PHONE_NUMBER>5566778899AABBCCDDEEFF
ifconfig up
thread start

commissioner start
commissioner joiner add 000b57fffe25ffa2 ABCDEF
# successful dtls

factoryreset

channel 11
panid 0xFACE
masterkey<PHONE_NUMBER>5566778899AABBCCDDEEFF
ifconfig up
thread start

commissioner start
commissioner joiner add 000b57fffe25ffa2 ABCDEF
#failure in dtls due to missing unsecure port

In the attached log, the factoryreset above is issued around the time:
Oct 21 05:29:52 raspberrypi otbr-agent[1111]: [INFO]-CLI-----: execute command: factoryreset

For the successful case, when the joiner is added, we see:
Oct 21 05:29:05 raspberrypi otbr-agent[1111]: [INFO]-MESH-CP-: Added Joiner (eui64:000b57fffe25ffa2, ABCDEF)
Oct 21 05:29:05 raspberrypi otbr-agent[1111]: [INFO]-MESH-CP-: sent commissioning dataset set response
Oct 21 05:29:05 raspberrypi otbr-agent[1111]: [INFO]-CORE----: Notifier: StateChanged (0x00000200) [NetData]
Oct 21 05:29:05 raspberrypi otbr-agent[1111]: [INFO]-MLE-----: Send Data Response (ff02:0:0:0:0:0:0:1)
Oct 21 05:29:05 raspberrypi otbr-agent[1111]: [INFO]-IP6-----: Added unsecure port 1000

For the failed case, when the joiner is added, we see:
Oct 21 05:30:15 raspberrypi otbr-agent[1111]: [INFO]-MESH-CP-: Added Joiner (eui64:000b57fffe25ffa2, ABCDEF)
Oct 21 05:30:15 raspberrypi otbr-agent[1111]: [INFO]-MESH-CP-: sent commissioning dataset set response
Oct 21 05:30:15 raspberrypi otbr-agent[1111]: [INFO]-CORE----: Notifier: StateChanged (0x00000200) [NetData]
Oct 21 05:30:15 raspberrypi otbr-agent[1111]: [INFO]-MLE-----: Send Data Response (ff02:0:0:0:0:0:0:1)

Full log:
dtls-success-followed-by-failure-after-factoryreset.txt

Hi @suveshpratapa
Thanks for the details. I can see the device catches the NetData change event, in theory the conditions for below if in JoinerRouter::Start() should be satisfied already (otherwise there should be no further discover response or DTLS fragments).
    if (Get<NetworkData::Leader>().IsJoiningEnabled())
    {
        uint16_t port = GetJoinerUdpPort();

        VerifyOrExit(!mSocket.IsBound());

        IgnoreError(mSocket.Open(&JoinerRouter::HandleUdpReceive, this));
        IgnoreError(mSocket.Bind(port));
        IgnoreError(Get<Ip6::Filter>().AddUnsecurePort(port));
        otLogInfoMeshCoP("Joiner Router: start");
 }

So far, I may not have better suggestion other than adding debug log in LeaderBase::IsJoiningEnabled() and JoinerRouter::Start() to locate the reason for not adding the unsecure port.

@librasungirl Could you please tell use whether or not you can reproduce this?  I don't think this should be a device specific issue but it would definitely be good information to know.  Thank you!

Hi @librasungirl I have discovered the root cause of this issue.
After a successful DTLS join, i.e., after finishing Joiner Finalization, the commissioner removes the joiner / joiner UDP connection after a certain timeout.  However, if a factoryreset (or instance reset) is issued before this timeout, then, while closing the connection, the UDP socket has its socket handle cleared (because the DTLS connection is closed), but other state like mPort is not cleared.
After this, if a new connection is attempted again, the mSocket.IsBound() check fails below, and a valid unsecure port is not set.
src/core/meshcop/joiner_router.cpp:JoinerRouter::Start
    if (Get<NetworkData::Leader>().IsJoiningEnabled())
    {
        uint16_t port = GetJoinerUdpPort();

        VerifyOrExit(!mSocket.IsBound(), OT_NOOP);

        IgnoreError(mSocket.Open(&JoinerRouter::HandleUdpReceive, this));
        IgnoreError(mSocket.Bind(port));
        IgnoreError(Get<Ip6::Filter>().AddUnsecurePort(port));
        otLogInfoMeshCoP("Joiner Router: start");
    }

Proposed fix that works for us:
In src/core/net/udp6.cpp, when the socket is being closed:
otError Udp::Close(SocketHandle &aSocket)
{
    otError error = OT_ERROR_NONE;

#if OPENTHREAD_CONFIG_PLATFORM_UDP_ENABLE
    error = otPlatUdpClose(&aSocket);
#endif
    SuccessOrExit(error);

    RemoveSocket(aSocket);
    aSocket.GetSockName().Clear();
    aSocket.GetPeerName().Clear();

exit:
    return error;
}

.. if otPlatUdpClose (for POSIX) returns an error, then the socket state is not cleared, and therefore the mPort value is not set to 0.
If a factoryreset is issued before the commissioner automatically removes the joiner, then otPlatUdpClose returns an error with OT_ERROR_INVALID_ARGS in the below definition:
otError otPlatUdpClose(otUdpSocket *aUdpSocket)
{
    otError error = OT_ERROR_NONE;
    int     fd;

    VerifyOrExit(aUdpSocket->mHandle != nullptr, error = OT_ERROR_INVALID_ARGS);
    fd = FdFromHandle(aUdpSocket->mHandle);
    VerifyOrExit(0 == close(fd), error = OT_ERROR_FAILED);

    aUdpSocket->mHandle = nullptr;

exit:
    return error;
}

The following code change fixes this issue:
diff --git a/src/posix/platform/udp.cpp b/src/posix/platform/udp.cpp
index ea46da18d..b9430e759 100644
--- a/src/posix/platform/udp.cpp
+++ b/src/posix/platform/udp.cpp
@@ -240,11 +240,12 @@ otError otPlatUdpClose(otUdpSocket *aUdpSocket)
     otError error = OT_ERROR_NONE;
     int     fd;

-    VerifyOrExit(aUdpSocket->mHandle != nullptr, error = OT_ERROR_INVALID_ARGS);
-    fd = FdFromHandle(aUdpSocket->mHandle);
-    VerifyOrExit(0 == close(fd), error = OT_ERROR_FAILED);
-
-    aUdpSocket->mHandle = nullptr;
+    if (aUdpSocket->mHandle != nullptr)
+    {
+        fd = FdFromHandle(aUdpSocket->mHandle);
+        VerifyOrExit(0 == close(fd), error = OT_ERROR_FAILED);
+        aUdpSocket->mHandle = nullptr;
+    }

 exit:
     return error;

Hi @suveshpratapa
Agree with your findings! Thanks for your investigation and your proposal looks good to me.  👍
An equivalent patch is submitted to OpenThread Repo https://github.com/openthread/openthread/pull/5690. Please take a review.

@librasungirl @jwhui
Thank you for the prompt update and PR!

The bug fix requires an ot-br-posix submodule pointer update for openthread as well.  I notice the pointer has not been updated for some time.  We can have our tests use the latest stack with this fix for now.

Additionally, to resolve the timeout portion of this bug, we also had to increase the uart baud rate to 460800 and kMaxSize to 4096 in third_party/openthread/repo/src/lib/spinel/spinel_interface.hpp as you suggested above. I was going to ask if this value can be made configurable, but I notice this was already brought up in this issue: https://github.com/openthread/openthread/issues/5678 and a PR proposal is already in place: https://github.com/openthread/openthread/pull/5687 👍

@JaneFromSilabs @suveshpratapa , thanks for raising this issue and working towards a fix!

@jwhui Can you please update the ot-br-posix pointer again?  It looks like it was updated to openthread/master, but the fix on the stack seems to have gone in after this pointer update.

@jwhui Can you please update the ot-br-posix pointer again? It looks like it was updated to openthread/master, but the fix on the stack seems to have gone in after this pointer update.

@suveshpratapa , see #596.


add property isEmailVerified to FirebaseUser

Following on from sending the verification. Allow us to check if that user has verified themselves.

After fixing my function, when I build on my mac I get an error in the Firebase.Authentication.Email project to do with the CreateUser function:
Cannot initialize a parameter of type 'FIRAuthResultCallback _Nullable' (aka 'void (^)(FIRUser * _Nullable __strong, NSError * _Nullable __strong)') with an rvalue of type 'void (^)(FIRAuthDataResult * _Nullable __strong, NSError *__strong)'

From:
// public CreateUser(string email, string password) [instance] :22
void CreateUser::ctor_7(uString* email, uString* password)
{
    uStackFrame __("Firebase.Authentication.Email.CreateUser", ".ctor(string,string)");
    ctor_3();
    @autoreleasepool
    {
        [] (id<UnoObject> _this, ::NSString* email, ::NSString* password) -> void
        {
            [[FIRAuth auth]
             createUserWithEmail:email
             password:password
             completion:^(FIRAuthDataResult * _Nullable authResult, NSError* error) {
                 if (error)
                     [&]() -> void { ::uForeignPool __foreignPool; uCast<CreateUser*>((_this).unoObject, CreateUser_typeof())->Reject1(error.code); }();
                 else
                     [&]() -> void { ::uForeignPool __foreignPool; uCast<CreateUser*>((_this).unoObject, CreateUser_typeof())->Resolve1(::uObjC::UnoString(@"success")); }();
             }];
        } ([::StrongUnoObject strongUnoObjectWithUnoObject: this], ::uObjC::NativeString(email), ::uObjC::NativeString(password));

    }

}

Weird stuff, yesterday I had that same error on my Macbook, today I don't see that error on my Mac Pro.
I did notice an unusual behavior. Let me elaborate,

The user creates the account
Logs in
Checks if verified and the app returns false
Sends a verification email
User clicks on link in email
Checks if verified again but app still returns false

The user must log out and back in to get true
Do you think we can refresh the user object and do a reload()?
Just like here

Yeah, especially weird as nothing has been changed with the Authentication.Email project.
Yeah I think reload will work. Only thought about my use case and not others, whoops.
I'll make the changes and commit when I'm home

Actually, I did some reading (here, here and here) and looks like that is how it's supposed to work. Keep it this way but let people know they must re-authenticate the user in order to get updated value.
To Do:

[ ] Update the branch (I fixed a travis issue)
[ ] Add the docs (with the re-authenticate to get latest data note)
[ ] Add test in the AuthExample (a simple button should do it)

After that, we are ready to merge.

Did you find any reason why the error only appeared on your Macbook (I'm on one too)?

No idea at all, I don't use my macbook that much. You could try updating your pods

Yeah just found this and working now

Not working now Luis, it builds but when I run the app I get an error about Firebase not being configured. I imagine you've seen this before?
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'The default FIRApp instance must be configured before the default FIRAuthinstance can be initialized. One way to ensure that is to call `[FIRApp configure];` (`FirebaseApp.configure()` in Swift) in the App Delegate's `application:didFinishLaunchingWithOptions:` (`application(_:didFinishLaunchingWithOptions:)` in Swift).'

Yeah, that means you must call [FIRApp configure] before anything else. I just made a test using your branch and it all works great on my end. I have made quite a few changes in the past weeks, maybe your test has old code?

Are those changes on the master branch?

yes, most of them

#94 now fixes my problems I was having here, thanks @LuisRodriguezLD

great stuff! could add the docs and the example so I can merge this?

Let me know what you think - just made those changes.

Whoops, forgot that even though you said it earlier - my bad! Done now.


TL libinvent

Hello,
I read that transfer learning with libinvent is not really advised but I still want to give it a try.
I saw that the "smiles_file" and "validation_smiles_file" require

2 columns: scaffold, R-groups

instead of only 1 column with the scaffold when doing RL.
When using "[*:1]" on the scaffold (and/or on the rgroups), I get the following issue:
File "~/miniconda3/envs/reinvent4/bin/reinvent", line 8, in <module>
    sys.exit(main())
  File "/miniconda3/envs/reinvent4/lib/python3.10/site-packages/reinvent/Reinvent.py", line 302, in main
    runner(input_config, actual_device, tb_logdir, responder_config)
  File "~/miniconda3/envs/reinvent4/lib/python3.10/site-packages/reinvent/runmodes/TL/run_transfer_learning.py", line 167, in run_transfer_learning
    optimize()
  File "~/miniconda3/envs/reinvent4/lib/python3.10/site-packages/reinvent/runmodes/TL/learning.py", line 179, in optimize
    self.prepare_dataloader()
  File "~/miniconda3/envs/reinvent4/lib/python3.10/site-packages/reinvent/runmodes/TL/libinvent.py", line 43, in prepare_dataloader
    self._common_dataloader()
  File "~/miniconda3/envs/reinvent4/lib/python3.10/site-packages/reinvent/runmodes/TL/learning.py", line 148, in _common_dataloader
    self.dataloader = DataLoader(
  File "~/miniconda3/envs/reinvent4/lib/python3.10/site-packages/torch/utils/data/dataloader.py", line 350, in __init__
    sampler = RandomSampler(dataset, generator=generator)  # type: ignore[arg-type]
  File "~/miniconda3/envs/reinvent4/lib/python3.10/site-packages/torch/utils/data/sampler.py", line 143, in __init__
    raise ValueError(f"num_samples should be a positive integer value, but got num_samples={self.num_samples}")
ValueError: num_samples should be a positive integer value, but got num_samples=0

When removing the attachment points, the training start, but it stops at the epoch number 2:
Traceback (most recent call last):
  File "~/miniconda3/envs/reinvent4/bin/reinvent", line 8, in <module>
    sys.exit(main())
  File "~/miniconda3/envs/reinvent4/lib/python3.10/site-packages/reinvent/Reinvent.py", line 302, in main
    runner(input_config, actual_device, tb_logdir, responder_config)
  File "~/miniconda3/envs/reinvent4/lib/python3.10/site-packages/reinvent/runmodes/TL/run_transfer_learning.py", line 167, in run_transfer_learning
    optimize()
  File "~/miniconda3/envs/reinvent4/lib/python3.10/site-packages/reinvent/runmodes/TL/learning.py", line 203, in optimize
    self.report(mean_nll, mean_nll_valid, epoch_no, saved_model_path)
  File "~/miniconda3/envs/reinvent4/lib/python3.10/site-packages/reinvent/runmodes/TL/learning.py", line 373, in report
    write_report(self.tb_reporter, tb_data)
  File "~/miniconda3/envs/reinvent4/lib/python3.10/site-packages/reinvent/runmodes/TL/reports/tensorboard.py", line 57, in write_report
    image_tensor, nimage = make_grid_image(
TypeError: cannot unpack non-iterable NoneType object

here is the transfer_learning.toml:
run_type = "transfer_learning"
device = "cuda:0"
tb_logdir = "tb_TL"

[parameters]

num_epochs = 50
save_every_n_epochs = 2
batch_size = 100
sample_batch_size = 2000

input_model_file = "stage1.chkpt"
output_model_file = "TL_libinvent.model"
smiles_file = "train.smi"
validation_smiles_file = "validation.smi"
standardize_smiles = true
randomize_smiles = true
randomize_all_smiles = false
internal_diversity = true

FYI, I succeeded to do TL with the train/validation datasets (using the smiles) with reinvent.
Is something wrong on the train.smi and validation.smi files for TL with libinvent? They have respectively 280 and 70 molecules and rows look like that:
c1ccccc1 CCCl
Do you maybe have an example (I couldn't find TL_libinvent_100.smi)?

Hi,
welcome to the REINVENT community and many thanks for your interest in the software!
To clarify: there is nothing principally wrong carrying out TL with Libinvent.  You just need to keep in mind that a scaffold is a contraint and with a few scaffolds (often related in practical work) you may narrow down your chemical space too much.  Nevertheless, I encourage experimentation and see what really happens in practice!
The input file format for Libinvent requires two columns separated with a TAB, no header.  The first column is the scaffold and the second column contains the R-groups separate by a pipe symbol | if more than one attachment point is present (1-4 attachment points supported).  It should not matter if the attachment points are denoted with a single start *, or in brackets [*] or with atom maps [*:1].  The code will always work from left to right in the scaffold string and expect to match the R-groups in order.
c1ccccc1*_TAB_OCC
*c1ccccc1*_TAB_N|O

Many thanks,
Hannes.

Correction  I just checked the code and you should denote the attachment points as follows: [*} for the scaffold and * for the R-groups.

Thanks a lot!
I was able to make it work by using [*] as attachment point for the scaffold (and not [*}) and * for the R-groups.


NLog variables are not threadsafe

@snakefoot I see your recommendation for  gdc over var,
e.g.

If needing to modify global variables at runtime, then it is recommended to use the GDC layout renderer instead. Because NLog variables are not threadsafe, and should be seen as readonly variables. Also GDC will behave correctly if LoggingConfiguration should change (or reloaded).

Is there something we could do to make the current nlog variables threadsafe? A lot of users find the variables more natural to use.

Think people are cheated by old advice. Just like people activate throwexceptions=true. I guess the var-layout should never have been created since besides the pitfalls also gives a performance hit
Sent from my Sony Xperia
---- Julian Verdurmen wrote ----
@snakefoothttps://github.com/snakefoot I see your recommendation for gdc over var,
e.g.
If needing to modify global variables at runtime, then it is recommended to use the GDC layout renderer instead. Because NLog variables are not threadsafe, and should be seen as readonly variables. Also GDC will behave correctly if LoggingConfiguration should change (or reloaded).
Is there something we could do to make the current nlog variables threadsafe? A lot of users find the variables more natural to use.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/NLog/NLog/issues/2960, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AK-fnPBpVR6xDp0aKvE2Xw3FtORFAixsks5uk7EogaJpZM4XbWaY.

Maybe,
But even we could give the nlog variables a GDC` under the hood? That would solve the issue?

NLog variables are special as they work as blobs in the NLog.confighttp://NLog.config. Can contain an entire Layout config.
Sent from my Sony Xperia
---- Julian Verdurmen wrote ----
Maybe,
But even we could give the nlog variables a GDC` under the hood? That would solve the issue?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/NLog/NLog/issues/2960#issuecomment-429667705, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AK-fnFNX6hHfOjm-djA_O8HZehVKm_W-ks5uk7b2gaJpZM4XbWaY.

I guess if the IDictionary returned was similar to ConcurrentDictionary. Or a homemade synchronized Dictionary.
Then also extra help where it doesn't return the same Layout-instance unless it is recognized as threadsafe. Or returns a homemade synchronized Layout that wraps the unsafe one.
Lot of code to fix something where GDC already works. Would rather focus on making NLog work on CoreRt / NetNative by removing automatic assembly loading in NetCore, and instead introduce better fluent Config Api for integrating NLog extension targets.
Sent from my Sony Xperia
---- Julian Verdurmen wrote ----
Maybe,
But even we could give the nlog variables a GDC` under the hood? That would solve the issue?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/NLog/NLog/issues/2960#issuecomment-429667705, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AK-fnFNX6hHfOjm-djA_O8HZehVKm_W-ks5uk7b2gaJpZM4XbWaY.

I guess when support for JsonLayout is added (Or CsvLayout), then the Variables-dictionary (with SimpleLayout) will be made obsolete.
Would prefer that the Variables remained pure-string-blobs (as they were originally). And one parsed the blob on every lookup (and performed recursive expansions of variables on every lookup). One could of course do caching so only doing the recursion expansion if variables had changed since last lookup.
Also funny how NLog expects that the insert order of variables is guaranteed stable. As NLog expects to expand variables in the order they are declared. But Dictionary / ConcurrentDictionary makes no promise about enumerating their items in the order they were inserted (Dictionary-class tries really hard to behave like it though). One should probably be careful with just replacing Dictionary with ConcurrentDictionary.

I guess when support for JsonLayout is added (Or CsvLayout), then the Variables-dictionary (with SimpleLayout) will be made obsolete. See also #1312

What do you mean? Should we do #1312, or should we skip that?

What do you mean? Should we do #1312, or should we skip that?

When implementing support for JsonLayout and CsvLayout in NLog-variables, then it will require new a interface. This new interface can then implement a threadsafe dictionary, that is backward compatible with the old one.

You mean, it's already a breaking change and so we could fix this structural?

You mean, it's already a breaking change and so we could fix this structural?

The new implementation that handles JsonLayout and CsvLayout will ofcourse introduce a new interface (that hopefully fixes all known issues). Then there is an exercise in trying to support the old existing interface to avoid any breaking changes.
Not sure I understand the meaning of fix this structural.

I was thinking, this advice, does it also count when not using layout renderers?
e.g.
<variable name="user" value="admin" />

Well I only wrote the advice for the ${var}-layoutrenderer wiki-page.

Btw. this issue has been closed without variables have become threadsafe to use.

Were here some specific steps we should do?

One could wrap Layouts that are not threadsafe by default in a special Layout that uses a lock-object.


typeahead: selecting an item doesn't trigger ng-change

Bug description:
When there's the ng-change attribute set, it gets triggered on user input directly in the control, but it's never fired when the user selects an item from the typeahead list. Which is inconsistent, as, according to Angular docs:

The ngChange expression is only evaluated when a change in the input value causes a new value to be committed to the model.

It will not be evaluated:

if the value returned from the $parsers transformation pipeline has not changed
if the input has continued to be invalid since the model will stay null
if the model is changed programmatically and not by a change to the input value

However selecting an item is an interaction by user -> ng-change must be fired.
Link to minimally-working plunker that reproduces the issue:
https://plnkr.co/edit/xwA7HWt5dDZwcRffVgB5?p=preview
Version of Angular, UIBS, and Bootstrap
Angular: 1.5.3
UIBS: 1.1.2
Bootstrap: 3.3.6

At first glance, I don't see anything wrong with this - but it may result in unexpected behavior for users who are currently relying on ng-change to only be fired when the input value changes and not the underlying model.
I'm going to flag this for team discussion.

ng-change is executed when the view value changes - when something is selected, that is when the model changes, so the flow is to do model -> view value update.
ng-change is for the opposite direction, when view value update -> model update. I'm fairly strongly against this suggestion, as it breaks the contract in Angular with how ng-change works in Angular's form components.

@wesleycho Not sure I understand what you mean by that.
ng-change's purpose is to notify the controller whenever the user's input has updated the value of the related model, as opposed to a programmatic change. It's working this way on the control itself either with or without a typeahead attached.
Now, if a user selects a value from the typeahead list (a user-initiated action), the result is a changed value in the model, however there's no ng-change fired.
That means that one always needs to subscribe to model changes via $scope.$watch() if the model's value is not only used in a view, but anywhere in the code. This is bad for two reasons:

It introduces inconsistency in reacting to a user-initiated action (ng-change for direct input, but if you have a typeahead attached, use $watch() instead). (The fact that typeahead itself updates the model programmatically is irrelevant for the developer making use of it.)
It burdens the digest cycle with an extra check, which can be avoided since the typeahead knows exactly when the model in scope has been updated by the selection.

That is a naive understanding of the situation with how the typeahead works.
The data view value type of an input with the typeahead is a string that is a named representation of the model object. The model is the selected object, which can have as complex of a structure as a user likes. To set the $viewValue, one would need to do ngModel.$setViewValue(nameRepresentationOfModel). However, there is no good way to go from that string to the model object.
This is an impossible implementation, and breaks the whole mechanism with when searching occurs, as well as break any potential usage of ng-model-options.
The best we can do with the way the typeahead is implemented is to correctly update the input view value when the model updates and to execute a search on input view value change (which is correct with Angular since arbitrarily modifying the $viewValue of an input to unexpected data types breaks expectations of how Angular should behave with input values & the parsers) without making an extremely major breaking change of how the HTML structure & API of the typeahead goes, which is pretty much out of scope due to lack of time & needing to work on the Angular 2 version of the library.
I'm not seeing a strong argument from the implementation side as to why we should accommodate this, especially when considering the massive work needed to accomplish this, as well as the user facing pain of having to migrate to something that would work with this expectation.

Closing this as won't support


Docker fails due to lack of space . Segmentation Fault

Hi ,
This is the first time i am trying to run a project through Docker.
By default the container is running on the root partition . At run time, after the first epoch, the code fails due to segmentation error . Can you instruct me on how to use this docker on another partition and run the process there.  I have a 1 TB partition at my disposal . I am housing the Project in this partition only and also building the container there . However on the run step i can see that the app , by default gets mounted on the /usr partition.
Thanks in Advance
Debayan

Hi @DebayanChakraborty ,
when you start the docker container like this:
docker run -it -v "$PWD":/src bilstm bash

The $PWD is replaced with your current folder on the host system, i.e. the call looks like this:
docker run -it -v /home/debayan/emnlp2017-bilstm-cnn-crf:/src bilstm bash

The /src folder in the docker container then uses the same folder as /home/debayan/emnlp2017-bilstm-cnn-crf. If your home folder is on the 1 TB partition, then this partition is used. Otherwise you need to move the git repository to your 1 TB partition and start the docker from there.
But I think the segmentation error does not stem from the partition.
Depending on the OS, the docker machine as limited memory. The deep learning requires quite some memory, so it is advisable to increase the memory limit for your docker machine.
Another option could be to use conda (for example anaconda or mini-conda) to create the correct environment. How to do this is described in this repository:
https://github.com/UKPLab/elmo-bilstm-cnn-crf

Hey ,
So i followed your advice and now have increased the memory of the machine. Also i am using devicemapper as a storage for docker in place of overlay as the dm extensions were not working for limit of memory .
i currently have this configuration

CPU cores -16
Memory - 128 GB
Swap Memory :4 gb (docker does not support this )

The status of my container is as follows .

I ran the program , and it ran through training first epoch for over an hour and a half .
But then again segmentation fault occurred and core dumped.
I suspect there is still some issue when IO operation happens as in the code i found the model save script which tries to save the model .
Can you guide me to any other possible cases why my  program fails after running for training ?
Thanks in advance
Debayan

Hmm, I'm sadly clueless why this happens. 126 GB should be enough. It appears there might be some issue with saving the model, but I don't know what the cause could be for this.
You can maybe try to run it with conda (https://conda.io/docs/) and avoid using docker. Then we will see if the issue is docker or if it some python code.
Depending on the pre-trained word embeddings file, the stored models can become quite large. Maybe some component (python, docker) have an issue with storing too large files (for example files larger than 4 GB).
For debugging I recommend to reduce the training file to only maybe 1 oder 2 sentences. So an epoch will be fast and you can find the issue quicker.


assert statement checks wrong property

src/Package/Install.ps1 contains this statement:
task Precheck {
    assert ($BuildEnv.themeColor) "The themeColor entry is empty or undefined."
It appears this statement has been copied from src/ThemeColor/Install.ps1 and has not been adopted properly. The assert statement should obviously reference the $BuildEnv.package property.

tks for reporting. omg the shame!!!


docs: add cd to folder

Just got this error while trying this starter. This could help beginners.

@tanaypratap - Thanks for the PR 🎉


Support for Android? Failed to apply plugin [id 'com.android.application']

I am trying to applying to my kotlin supported project here: https://github.com/jaredsburrows/android-gif-example.
Versions:

com.android.tools.build:gradle:2.3.2
org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.2-3
gradle.plugin.io.gitlab.arturbosch.detekt:detekt-gradle-plugin:1.0.0.M10.3

Error:
* What went wrong:
A problem occurred evaluating root project 'android-gif-example'.
> Failed to apply plugin [id 'com.android.application']
   > Could not create plugin of type 'AppPlugin'.
      > com.google.common.collect.Lists.newArrayListWithCapacity(I)Ljava/util/ArrayList;

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED in 16s

I am applying the apply plugin: "io.gitlab.arturbosch.detekt" plugin after both android and kotlin plugins.

@scottkennedy has a work around for those that want to use it:
Setup custom configurations:
https://github.com/arturbosch/detekt/issues/24#issuecomment-306070140
Setup custom JavaExec tasks:
https://github.com/arturbosch/detekt/issues/24#issuecomment-306069600

Tested, getting the same error. Hmm maybe it's due to usage of different kotlin compiler versions. Need to investigate this later ...

I have the feeling that because I'm using the kotlin-compiler which also have guava etc classes, there can be conflicts. Will try to migrate to embeddable compiler.

Will be fixed in M11 today later.

@arturbosch Thank you!
@scottkennedy We should be able to use the plugin directly soon.

When using the branch use gradle detektCheck for inspection. It's an undocumented change for M11 for now ;).

Pls reopen the issue if something does not work :)

Confused about why this issue was closed..

@YajJackson Are you seeing issues when using Detekt in an Android project? In theory there should be no issues and we see many Android projects using Detekt and it's Gradle Plugin

@YajJackson No worries. I'm glad it worked out in the end.


Sync snowfall with Lhotse's dataset/sampler refactoring PR

Reflects the changes from https://github.com/lhotse-speech/lhotse/pull/194
This new version allows working with distributed training out-of-the-box. Once it is merged, I will rebase #71 on that and finish multi-GPU training support.
One thing I am concerned about is the number of files with duplicate code. It becomes quite labor-intensive to propagate these kinds of changes, and I am not sure if I'm doing everything OK as I can't run all of these (🙏🏻 static checker tool helps 🙏🏻). It could be good to slowly converge to some common code structure that can be shared and imported (e.g. a Trainer class or something like that)?

How do you run the static checker tool?
I'm OK with leaving snowfall fairly unstructured.   As far as I am concerned it is just a repo where we can iterate rapidly on experiments, and not a serious thing that we are "releasing"; we can do a cleaned-up repo later once we have an idea what kinds of models we'll be using.

I use the one that is integrated into PyCharm and IMO it is the best tool available. I believe the next best thing is mypy, and it has integrations with multiple editors/IDEs. Years ago when these things were not available I used flake8 it says it's "style enforcement" but it also has some static checks (and a rich plugin ecosystem I think). In case you are using VSCode, perhaps pylance is interesting (it's exclusive to VSCode though).

OK this works - merging.


Use Config Dict and Config Flags to configure Flax Examples

Both Config Dict and Config Flags are open sourced as part of ML Collections.
I will create a PR for the MNIST example. Please feel free to change other examples and communicate through comments on this issue.

This is already requested in #231 by @andsteing
Closing this issue as a duplicate.
Refer to: https://github.com/google/flax/issues/231#issuecomment-700599090 for more information.
Refer to #492 as a reference.


Mac Catalina 10.15.6 - Fails security, won't open

The more we know about your system and use case, the more easily and likely we can help.
Environment info

OS: Mac Catalina 10.15.6
App Version (Command/Ctrl + ,): Latest (as of this date)

Description of the problem / feature request / question:
Fails security verification, won't open.
If possible, provide a sample gist or screenshot:

Hi, please check out this post. https://github.com/hackjutsu/Lepton/issues/401


Update hdinsight-component-versioning.md

updated to support HDInsight 4.0, Spark 1.6 removal

@ashishthaps1 : Thanks for your contribution! The author, @hrasheed-msft, has been notified to review your proposed change.

@ashishthaps1 Looks like Hassan added these same pieces a few days ago as well. This PR seems to be a duplicate at this point. #please-close
https://github.com/MicrosoftDocs/azure-docs-pr/pull/73221


Resource list does not refresh after creating new resource

To reproduce:

Create a new resource with the modal form in a project
Save the resource
Close the modal
The new resource will not appear in the list, even after a full page refresh or clicking the "refresh list" button, sometimes need to click the "clear filters" button

We can use the ES endpoint, as we are polling every second or two.

We should trigger a poll statistic after resource creation and refresh the resource list once index is finished and kill the poll.


Maya: Rendersettings unify logic towards single library

Brief description
This tries to reduce the scattered hardcoded values for renderer attribute names, types and tries to clean up the same things on the RenderSettings class. I've also refactored the usage of it across the code.
Description

Delays getting image prefixes per renderer instead of loading project settings three times on import of lib_rendersettings
Move over missing image prefixes values that existed on validator but not in lib_rendersettings
Move over AOV char logic to lib_rendersettings
Readability cosmetic tweaks on some lines which did more complex formatting than needed.
Removed lib.RENDER_ATTRS in favor of the now added RenderSettings.get_padding_attr (other logic of lib.RENDER_ATTRS was unused)

Additional info
Relates to #3878, #3879 and #3821 since they touch a similar area of the codebase.
Also relates to #3873 which also touches an aspect of rendering in Maya.
Testing notes:

Test creation, validating and publishing of Render instances.
Ensure "Reset render settings" works as expected.

[x] Maya 2023 (Py3)
[x] Maya 2020 (Py2)
[ ] Redshift Renderer
[ ] V-Ray Renderer
[x] Arnold Renderer
[ ] Renderman Renderer
[x] Maya Hardware 2.0
[ ] Perform tests with multilayer on and off (make sure image prefix validations and repair work as intended and are clear to the artist)

@mkolar @antirotor what do we think of adding this https://github.com/BigRoy/OpenPype/pull/7 to RenderSettings as well?

@mkolar @antirotor what do we think of adding this BigRoy#7 to RenderSettings as well?

Yes please!

I ve done the testing and it gives error when validating the scene during pyblish same as in #3884

so I guess the preset should be resolved first and test this PR later then...

Oh - this is so close! Because note how it does recommend a prefix without the <RenderPass> as the end but unfortunately it has a trailing underscore. And that's because this particular PR does not contain the preset fix from #3884. Let me resolve that quickly.

Ok, I have changed the default prefix for Arnold. I've also added an error log for when Render Settings get applied and the Multilayer EXR does not match the Image Prefix.
And have also added a label to the Settings UI so it's mentioned to the user that the Image Prefix should contain both {aov_separator} and <RenderPass> when Multilayer EXR is disabled. It looks like this:

@LiborBatek - I expect the default settings to now pass.

Tested it out, I have freshly created "renderMain" family and runned Publish. Also applied OP>Set Render Settings before publish.
Still gives me these errors when validating...

if I change Name Prefix to ....   "maya///"
it just gives me this Warning msg but Publish can be triggered.

Thanks @LiborBatek - I've tested on my end and it consistently seems to work.
I have tested:
"project_settings/maya/RenderSettings/arnold_renderer/image_prefix":
    "maya/<Scene>/<RenderLayer>/<RenderLayer>{aov_separator}<RenderPass>"
"project_settings/maya/RenderSettings/arnold_renderer/multilayer_exr":
    false

"project_settings/maya/RenderSettings/arnold_renderer/image_prefix":
    "maya/<Scene>/<RenderLayer>/<RenderLayer>"
"project_settings/maya/RenderSettings/arnold_renderer/multilayer_exr":
    true

Resetting the render settings works fine. Validating works fine.
It looks instead like your settings currently have an override compared to the default and {aov_separator} is not present.
So likely you image prefix was set to but you had multipart enabled:
maya/<Scene>/<RenderLayer>/<RenderLayer>_<RenderPass>

Anyway, I have made some news commits and tweaked the validations now so that hopefully you'll get a clearer response as to what it's validating against from settings. It will now just report if your prefix mismatches what is defined in settings.
Also, with your specific settings it sounds like you should have had a logged warning on Set Render Settings as well.

@BigRoy sorry but seems its not working correctly.
here are my OP project settings:

and here my publish error I get:

this msg You must have: '<renderpass>' token with merge AOVs turned off seems to be off because I clearly have this token in my name prefix as seen on the second scrnshot.
Thanks

this msg You must have: '' token with merge AOVs turned off seems to be off because I clearly have this token in my name prefix as seen on the second scrnshot.

I'm so sorry for wasting so much of your time @LiborBatek. I accidentally changed the if not prefix_has_aov_token statement to if prefix_has_aov_token for that scenario. It's fixed with this commit.
Thanks so much for the continuous checks and following up with screenshots and details.

@BigRoy No problem at all! You do wondreful job man! We are humans after all no worries!
Thanks for your effort too!!
Cheers
L.

It has been all tested and works fine now. However Im not able to give it "Review". @antirotor
Thx @BigRoy

I'll give this a review in a bit let me just grab some coffee.

I've resolved the merge conflicts just now.

@Allan-I what's the status on this one?

I have tested it in maya2022 with Redshift 3.0.67 and it doesnt work besides image prefix which is ok the rest of settings is not taken into account, also any AOVs set in OP render settings are ignored (could be the RS version difference tho)
these are my OP settings for RS:

and maya render settings after applying OP render settings:

I've tried to merge with latest develop and resolve the conflicts. It was quite a beast to resolve but I think it's ok.
Just wondering whether we still find this PR worth the changes.
It contains some changes to areas of code similar to the following PRs:

#4375
#4723 - note: this PR is targeted to release/next-minor - specifically the cleanup of getting the 'project_settings' for the render settings.

And thus it might end up generating merge conflicts with those too. It might be worth waiting for those PRs to be merged to resolve conflicts here once more and then get to testing to avoid having to test numerous times.

Think we need some checkboxes in the description to tick off the renderers tested.

Added here.

If you have Merge AOV disabled and remove the token , the validate/repair never gets it back. This is for Maya and Arnold.

Could you elaborate the preferred behavior. The question is what "repair" should do or allow? If I understand correctly it should revert the merge AOV option back to what the settings dictate, correct? It's not up to the scene or artist to deviate from the merge AOV option, yes?
Currently the validation DOES allow to deviate merge AOVs settings + the image prefix as well. Which maybe makes it weird if it then forces the value on repair if it invalidates based on another setting?
The validator does require however the token to match with the merge AOV setting, so have ` if merge AOV is disabled, and not have  if it's enabled.
Anyway, I've now made it so that it also repairs the merge AOV setting. @tokejepsen does that solve it for you?

Could you elaborate the preferred behavior. The question is what "repair" should do or allow?

I think the repair should fix the file name prefix according to what state the Merge AOVs is in.
Merge AOVs enabled > no <RenderPass> token.
Merge AOVs disabled > need <RenderPass> token.

Also Maya Hardware 2.0 works.

I think the repair should fix the file name prefix according to what state the Merge AOVs is in.

Merge AOVs enabled > no  token.
Merge AOVs disabled > need  token.

What should happen if the default prefix in settings does NOT have a  token, should we append it to the end?

@LiborBatek could you test again whether in the meantime your issue mentioned here has been resolved?
There have been changes in code (4 months ago) by @moonyuet here which I'm not sure whether they do what it intends to do. Since it seems off that first it's trying to set redshiftOptions.primaryGIEngine and redshiftOptions.secondaryGIEngine based on some conditions but in the end it still ALWAYS sets it to the value int(rs_p_engine) and int(rs_s_engine). Seems like a bug @moonyuet ?
Anyway, the code seems related to the issue you described @LiborBatek so I suspect your particular issue has been resolved.

maybe needs a double check on the particular setting, the related PR is https://github.com/ynput/OpenPype/pull/4087

@BigRoy could you resolve the conflicts?

maybe silly question, how this PR adhere to the new publisher in maya? all good?!

I don't expect it to be functional momentarily - it's a very old PR that I'm not sure how to best merge logically nowadays. I think we might have it merged in our colorbleed branch and along the way have synced that branch with new publisher - etc. but likely that's seen decent refactoring to make it work.
However, some of the cleanup is still relevant - I'll close this PR and see if I can set up a new one with some of the cleanup in here that is still relevant.


Add support for ppoll()

poll() is already included, but ppoll() would be nice too. Since there's a PR for pselect() I figured ppoll() would be suitable for inclusion as well.

@Susurrus it'd certainly be welcome! Any chance you'd be interested in adding it? I could walk you through it if so.

Yeah, I'd like to get this added, but it looks like I'll first need to add ppoll() to libc.
Also, what should the function definition be? Given the consensus in #516 I would like to do:
fn ppoll(fds: &mut [PollFd], timeout: Duration) -> Result<libc::c_int>. Does that work?

I can file an addition PR for #516 that will synchronize everything on using Duration, but I'm assuming the API discrepency will be acceptable in the short term?

Just filed a PR for this for libc, but it'll probably take a couple of revisions nailing down what platforms actually support this (rust-lang/libc#537).

Closed by 5d4967ee9af8b2feeffd18534eef433066ad36c5


Sticky doesn't work correctly if used within an iframe in Firefox

How to reproduce this bug:

Use Mozilla Firefox
Use the Sticky plugin within an iframe that's display:none
_setSizes will throw an exception because window.getComputedStyle() returns null.

What should happen:
The sticky plugin should work within the iframe
What happened instead:
Media queries plugin is messed up and displays smallest breakpoint for the stickied element.
An error is thrown:

TypeError: comp is null
_setSizes
_init/<
d
dispatch
add/r.handle

newElemWidth = this.$container[0].getBoundingClientRect().width,
            comp = window.getComputedStyle(this.$container[0]),
            pdngl = parseInt(comp['padding-left'], 10),
            pdngr = parseInt(comp['padding-right'], 10);

This bug is related to this known Mozilla bug.
Browser(s) and Device(s) tested on:
Firefox 53
Foundation Version(s) you are using:
6.3.1
Test case link:
CodePen - don't mind the iframe reveal link not working, all you need to do is open the console.
I noticed this bug on a local developer build using OctoberCMS in combination with the Page Preview plugin which opens up an iframe modal via AJAX that you can resize.

Closing as this is a browser bug. And it's probably fixed now.


add no-comments plugin

This one gets more and more interest (3k downloads after a year so far). I was thinking that maybe it's worth adding it :)

Thank you!


updated README.md

Hi Rasmus,
Is this how to do a pull request? I made some more edits to the README.md file, starting to come up with a overall structure for it, and also some ideas for how the examples for the library could be. Does it seem reasonable to you so far? Of course, ideas, comments, and suggestions are appreciated, and nothing is meant to be final, just trying out some ideas, in working toward a good final product.
Also, I've been thinking about a reasonable way to modify the actual Matlab files without interrupting your files in the meantime. I've decided that at first I will make a copy of each file like so: nnxxxx.m -> nn_xxxx.m, and I will make my changes first to the nn_* files. Whatever changes you like, I will also make to the nnxxxx.m files (unless you want to do it yourself). The reason I want to do it this way is that I will reformat the files for my own purposes that may have nothing to do with what you want. (I have a habit of reformatting programs as an essentially mechanical first step toward understanding and feeling comfortable with other people's code.)
Carl

This is the way to do it. I don't really like having the nn_* files lying around though (bloat), but i won't mind having the nn* files be formatted your way. I'll delete the nn_* files on my end, and if you want to feel free to format the nn* files and send a pull request again.
As long as your nn* files does what they're supposed to and your commits are an improvement I'll merge :)
Cheers

Hi Rasmus,

I don't really like having the nn_* files lying around though (bloat) ...

Yes, I understand your feeling (and I agree with it too).

As long as your nn* files does what they're supposed to ...

I was afraid of this, at least at the very beginning, and would like
to be able to experiment for a (very) short time and ask you questions
first. Would that work for you? Is there another way to it while not
disturbing the nn* files immediately, and then I can compare their
outputs? Putting the nn_* files in a subdirectory? Some other way
using Git? On my end, a day or two would be enough time as long as I
am able to get your feedback/answers on a couple things.

and your commits are an improvement I'll merge :)

I am completely happy to let you be the judge :-), and also to include
anything you actually like without including what you don't like.
Two more questions. What do you think of the direction of the README.md so far?
Second, I did go through and reformat the nn_ files according to my
style (not because it's better, just because I'm used to it and am
using the process to understand and become familiar with your code).
Would you really be ok with the changes? (Please, I don't mind if the
answer is no - it's not important to the code, of course.) The
formatting changes are almost all just adding spaces around Matlab
operators.
After this I just have a couple interface questions (and then only
algorithm questions that I don't fully understand yet).
Thanks,
Carl
On Wed, Feb 29, 2012 at 4:02 AM, rasmusbergpalm
<EMAIL_ADDRESS>wrote:

This is the way to do it. I don't really like having the nn_* files lying around though (bloat), but i won't mind having the nn* files be formatted your way. I'll delete the nn_* files on my end, and if you want to feel free to format the nn* files and send a pull request again.
As long as your nn* files does what they're supposed to and your commits are an improvement I'll merge :)
Cheers

Reply to this email directly or view it on GitHub:
https://github.com/rasmusbergpalm/DeepLearnToolbox/pull/1#issuecomment-4234015

Would that work for you? Some other way using Git?
The beauty of git (version control systems really) is that you can experiment and go crazy as much as you'll like. Destroy everything. When you a) finally make it work or b) realize it'll never work you can just revert to the last commit and everything is fine ('git stash' will destroy all your uncommitted changes). With git there's the added padding that you can create a branch, which is just like a copy of the entire repository but without any additional folders. just 'git branch crazy-stuff', then 'git checkout crazy-stuff' and you have a completely new repo to test your crazy stuff. If it work then merge it back into master and send a pull request.
I'll be happy to have a skype meeting or similar if you need some explanation. I'm writing my thesis so i'm kinda busy but after 22:00 (GMT+1) i'm free.

What do you think of the direction of the README.md so far?
Great stuff. I just added some myself. In my experience developers want examples up front. Code speaks. Also, see REFS.md.

Would you really be ok with the changes?
Sure thing. If nothing else then a consistent style is better than not. (just remember to 'git pull upstream' before you send me a pull request, as I've made some changes to the NN files after you forked)


Release Google.Cloud.Dialogflow.V2 version 3.3.0

Changes in this release:

Commit c135978: docs: added notes to train agent prior to sending queries fix: added resource reference to agent_version
Commit 6567bfc: feat: added Automated agent reply type and allow cancellation flag for partial response feature.
Commit b270512: feat: added a field in the query result to indicate whether slot filling is cancelled.
Commit fe36e1e: feat: added location-aware HTTP path binding for ListIntents
Commit b782110: fix: removed incorrect resource annotation for UpdateEnvironmentRequest.
Commit 88a63a8:

feat: added more Environment RPCs
feat: added Versions service
feat: added Fulfillment service
feat: added TextToSpeechSettings.
feat: added location in some resource patterns.

Created release for Google.Cloud.Dialogflow.V2-3.3.0


What is staking

Deleted sentence

This is a test PR of Mugen. We are creating a work flow for creative to help edit the learning hub content


Merge ops, mappings, and like traits

Merge ops, mappings, and like traits into an Ops trait with 3 parameters.
Also, drop ImmutableBuilders, we don't seem to need them.

Glad this idea worked!

There is an issue because ArrayOps and StringOps can not implement the self-type they pretend to implement.

To give you more information, the heart of the issue is here:
[error] /home/travis/build/scala/collection-strawman/src/main/scala/strawman/collection/View.scala:136: illegal inheritance;
[error]  trait IndexedView inherits different type instances of trait IterableOps:
[error] strawman.collection.IterableOps[A,strawman.collection.Seq,strawman.collection.Seq[A]] and strawman.collection.IterableOps[A,strawman.collection.View,strawman.collection.View[A]]
[error] trait IndexedView[+A] extends View[A] with Seq[A] { self =>
[error]       ^

The problem is that Seq[A] inherits IterableOps[A, Seq, Seq[A]], whereas View[A] inherits IterableOps[A, View, View[A]] but Seq and View are unrelated types. The fix should be to make IndexedView extend SeqLike[A, IndexedView, IndexedView[A]] but then we would have to re-implement fromIterable and fromSpecificIterable because we wouldn’t anymore be able to reuse implementations inherited from View (because they return a View instead of an IndexedView. But then even if we re-implement them that means implementing the following:
def fromIterable[B](c: Iterable[B]): IndexedView[B]

Which is not possible when the given Iterable[B] does not itself extend Seq[B].

@julienrf Good analysis, thanks! I fixed it by not having IndexedView inherit from Seq.

I added one commit that essentially fixes some C and CC types in the hierarchy, moves the fromIterable method implementation to the leaves, adds explicit type annotations to the xs.map { case (k, v) => … } tests and comments out the traverse tests.

So what about TraverseTest? This is hardly a problem we can ignore. We need these methods in the standard library and I'm pretty sure they will also be common in third-party code.

@szeiger I agree with you that we should support these operations. And also, I think we should even support the use case described in #65. On the other hand, the previous solution was maybe too complex. We should try to make it simpler.

The essence of this simplification here seems to be the removal of all the work I did on BuildFrom (which went through several iterations to come up with a simple design). This includes single-method extensions (like Future.traverse, a breakOut-like pattern, and first-class support for strict building. We're taking a giant step back by removing it instead of trying to simplify it further.

I think we can re-introduce a simplified BuildFrom thing on top of which things like Traverse, generic programming things (like in #65) and unfolds (like in #34) could be implemented externally.


Update code coverage action version

Working on spikeinterface  I realized that the version that we have here is going to be depreacted (actually it says that it should be deprecated already!):
https://github.com/codecov/codecov-action

@h-mayorquin Thanks!

Forgot to update the changelog (good habits died easily!).

Forgot to update the changelog (good habits died easily!).

It's not a requirement for small things like this 😉 CI is just a gentle reminder


SPI Comm

Hi drcpattinson,
You work is amazing, thanks for the information.
I have order some PCBs with STM32+BMX160, but the example uses I2C. What should be the best way to integrate this examples with this protocol?
I have found other examples, but yours have calibration, that is really useful for my purposes.
Thank you so much,
Adrian

I meant, I want to use SPI


reduced dependency in the Terminal interface

Pull Request Test Coverage Report for Build 882537394

33 of 67 (49.25%)  changed or added relevant lines in 6 files are covered.
8 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-4.4%) to 77.308%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

terminal.go
0
16
0.0%

cursor.go
3
21
14.29%

Files with Coverage Reduction
New Missed Lines
%

cursor.go
2
25.0%

fake_terminal.go
6
42.86%

Totals

Change from base Build 882331539:
-4.4%

Covered Lines:
402

Relevant Lines:
520

💛  - Coveralls


Investigate AU_ABN match

#AU_ABN
ID:3
It looks as if the user did not enter in an Australian Business Number but a US Bank Number which is too long and doesn't match the pattern for an AU ABN.

@anrichardson1 it looks like you have exposed some PII in your comment by listing a valid AU ABN number

Redo:
The replacement for the AU ABN was a valid and accurate replacement.

@anrichardson1 it looks like you have exposed some PII in your comment by listing a valid AU ABN number

Just replaced with a new statement to not leak the PII


Fixing validation form register

Fixing validation form register
Related ticket :
[Mobile] Revamp UI Create Merchant Account
Evidence :

All good