callback not called after setting notify for characteristic

Hi,
After the patch 8fd052c one of my application stop working and I found that it stopped after sending Characteristic.notify and seems to be waiting for the ack from the device that never came (thus no callback is called and all the following commands halt in the queue).
I'm not sure if that's because the device(Myo) didn't follow spec or is it a bug in noble but I don't have other devices to test so can't really tell...

@freehaha interesting.
Can you please provide debug logs with and without the change?
sudo DEBUG=l2cap-ble node <file>.js

sorry for the late reply. the logs are here:
https://gist.github.com/freehaha/1491e7912d365f2d44f4
my script basically connect to a device(Myo), do a service and characteristic discovery and read its firmware version by doing a Char.read. After that I try to enable notification(Char.notify(true)) on 4 characteristics and write some value to one of their descriptor(after a discverDescriptors), respectively.
So the problem happens after the log version: 1.1.755 hardware: 2, before initialized, which I believe hangs after calling Char.notify. If I remove the Char.notify in my script and with the post-patch version, it actually works fine but this is not the standard procedure of using the device..
Hope this help.

@freehaha would you be able to share the code that outputted the debug logs?

The code is here, in coffee-script:
https://github.com/freehaha/myo4l/blob/master/src/lib/myo.coffee
notify is in method setNotification at line 111.

Here's the difference after service + characteristic discovery:
Before:
Thu, 05 Mar 2015 11:20:41 GMT l2cap-ble D3:89:EF:01:16:D8: line = data<PHONE_NUMBER>29
Thu, 05 Mar 2015 11:20:41 GMT l2cap-ble D3:89:EF:01:16:D8: write:<PHONE_NUMBER>
Thu, 05 Mar 2015 11:20:41 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 13
Thu, 05 Mar 2015 11:20:41 GMT l2cap-ble D3:89:EF:01:16:D8: write:<PHONE_NUMBER>0229
Thu, 05 Mar 2015 11:20:42 GMT l2cap-ble D3:89:EF:01:16:D8: line = data<PHONE_NUMBER>00
Thu, 05 Mar 2015 11:20:42 GMT l2cap-ble D3:89:EF:01:16:D8: write:<PHONE_NUMBER>
Thu, 05 Mar 2015 11:20:42 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 13
Thu, 05 Mar 2015 11:20:42 GMT l2cap-ble D3:89:EF:01:16:D8: write:<PHONE_NUMBER>
Thu, 05 Mar 2015 11:20:42 GMT l2cap-ble D3:89:EF:01:16:D8: line = data<PHONE_NUMBER>29
Thu, 05 Mar 2015 11:20:42 GMT l2cap-ble D3:89:EF:01:16:D8: write:<PHONE_NUMBER>
Thu, 05 Mar 2015 11:20:42 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 13
Thu, 05 Mar 2015 11:20:42 GMT l2cap-ble D3:89:EF:01:16:D8: write:<PHONE_NUMBER>0229
Thu, 05 Mar 2015 11:20:42 GMT l2cap-ble D3:89:EF:01:16:D8: line = data<PHONE_NUMBER>00
Thu, 05 Mar 2015 11:20:42 GMT l2cap-ble D3:89:EF:01:16:D8: write:<PHONE_NUMBER>
Thu, 05 Mar 2015 11:20:42 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 13
Thu, 05 Mar 2015 11:20:42 GMT l2cap-ble D3:89:EF:01:16:D8: write: 041d001d00
Thu, 05 Mar 2015 11:20:42 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 05011d000229
Thu, 05 Mar 2015 11:20:42 GMT l2cap-ble D3:89:EF:01:16:D8: write: 121d000100
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 13
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: write: 081b001d000229
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 09041d000100
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: write: 121d000100
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 13
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: write: 042c002c00
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 05012c000229
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: write: 122c000100
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 13
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: write:<PHONE_NUMBER>000101
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 13
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: write:<PHONE_NUMBER>01
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 1d2300010101
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 1b1c00b23eb8fd6f0429f403ff47ffe007fafffeff0300
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 1b1c00b23eb8fd6f0429f410ff3fffe407fbffffff0100
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 1b1c00b23eb8fd6f0429f403ff3dffe207fffffefffeff
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 1b1c00b23eb8fd6f0429f40aff3effe507fefffdffffff
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 1b1c00b23eb8fd6e0429f40bff4affeb070300f9ff0100
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 1b1c00b23eb9fd6e0429f413ff4affe107fffffdff0200
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 1b1c00b23eb8fd6e0429f410ff38ffd6070c00fafffcff
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 13
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: write: 1e

Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: write: 082a002c000229
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 1b1c00b23eb9fd6e0429f4fffe46ffef070c00f4fffcff
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 1b1c00b03ec0fd880425f418fe29ff89080f002700e2ff
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 1b1c00a43ebffd3a0531f42cf827fec905eaff0b001400
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 1b1c00a23ebcfd5b0533f417fa16fe4703f2fff9ff0100
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 1b1c00aa3ec5fdfb0431f48c02c300f208b5ff06000400
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 1b1c00a83ebdfd06052ef42dfe61fe480a1b000800f1ff
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 1b1c00a53ebafd330533f49ffd3aff3f03f9ffefff0d00
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 09042c000100
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: write: 122c000100
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 1d2300030000
Thu, 05 Mar 2015 11:20:43 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 1b1c00a73ebdfd160531f4b1022400910df8ff0b000500
Thu, 05 Mar 2015 11:20:44 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 1b1c009c3eabfd990535f443fac3fdcc021900f1fff9ff
Thu, 05 Mar 2015 11:20:44 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 1b1c00a83eb9fd130533f49903e900120bbdffffff0a00
Thu, 05 Mar 2015 11:20:44 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 1b1c00a13eadfd5d0534f4fefbcffd8f073200ffffffff
Thu, 05 Mar 2015 11:20:44 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 1b1c009a3ea8fdbd053af41efb76fe3d08daff26000200
Thu, 05 Mar 2015 11:20:44 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 1b1c009a3eb0fdc3053bf4f1fd4fff3f071a00b0fffcff
Thu, 05 Mar 2015 11:20:44 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 13
Thu, 05 Mar 2015 11:20:44 GMT l2cap-ble D3:89:EF:01:16:D8: write: 1e
Thu, 05 Mar 2015 11:20:44 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 1b1c009a3eb0fdc1053bf4fbfe3cfff5070700ffff0600
Thu, 05 Mar 2015 11:20:44 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 1b1c009a3eb1fdbf053bf411ff4dffe60706000100feff
Thu, 05 Mar 2015 11:20:44 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 1b1c009a3eb1fdbc053bf40aff50ffe407fbff01000100
Thu, 05 Mar 2015 11:20:44 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 1b1c009a3eb2fdba053af40aff47ffee07f3fffffffeff
Thu, 05 Mar 2015 11:20:44 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 1b1c009a3eb2fdb8053af412ff43ffe507f6fffcfffdff
Thu, 05 Mar 2015 11:20:44 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 1b1c009b3eb2fdb5053af414ff41ffe907fafffaff0300
Thu, 05 Mar 2015 11:20:44 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 1b1c009b3eb2fdb3053af40aff53ffe2070900fbff0100
Thu, 05 Mar 2015 11:20:44 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 1b1c009b3eb3fdb1053af407ff49ffe0070b0000000200
Thu, 05 Mar 2015 11:20:44 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 1b1c009b3eb3fdaf053af4fffe45ffe407fafffcff0100
Thu, 05 Mar 2015 11:20:44 GMT l2cap-ble D3:89:EF:01:16:D8: line = data 1b1c009b3eb3fdad053af405ff43ffe507f0fffcff0100

After:
Thu, 05 Mar 2015 11:18:55 GMT l2cap-ble D3:89:EF:01:16:D8: write: 082a002c000229

It looks like noble's previous "incorrect" stack queueing was affecting order of operations.
discoverDescriptors is getting sent first after the change.
Could you try with the latest master version? This commit might help things: https://github.com/sandeepmistry/noble/commit/b8f7c5686c68ca434578dc05d57b056faaca4025
If it doesn't, for the next step I suggest you add some logs to each step of your code, to see how to order of operations differs for actions and callbacks/events before/after.

Unfortunately the commit doesn't solve the problem. I'll get some more detailed debug information back when I have time.

@freehaha sounds good, the output of hcidump would also be useful, to compare with what noble thinks it's sending/receiving.

@freehaha any update on this?

sorry for delaying this.. been busy lately.
Here are some more logs with the testing source code:
https://gist.github.com/freehaha/34f9fb2849f2bc9c0296
the flow is:

discover peripheral
connect
get a particular characteristic and Char.notify true (setNotiifcation)
without waiting for the above to complete, discover the descriptors in this Char. and write some value to it.

Basically, what seems to happen is in the current version after Char.notify true, subsequent commands weren't sent. Up to the got characteristic line, things seem to work properly, having only slightly different order due to that particular patch.
Again, i'm not sure if this is caused by the device itself not implemented properly or noble since I don't have other devices to test.

@freehaha would you mind trying again with the latest version of noble? There have been some changes to the Linux bindings, that might have resolved the issue. Thanks.

Closing due to lack of activity for now, please re-open once you've had a chance to try again based on my previous comment.


Lock file contains netcoreapp1.1 dependencies instead of netstandard2.0

Description
Adding https://www.nuget.org/packages/Serilog.Sinks.Console/4.0.0-dev-00834 to a .NET Core 3.0 project does not reference the package's netstandard2.0 dependencies (as listed on Nuget) in the lock file but instead netcoreapp1.1
Repro steps
Clone https://github.com/kerams/rep, remove the lock file and do paket install.
Expected behavior
Serilog.Sinks.Console (4.0.0-dev-00834)
      Serilog (>= 2.8)

in the lock file.
Actual behavior

Why do you think we should prefer netstandard 2.0 here?
Can you point to the spec or NuGet behavior that would indicate otherwise?
Without looking up anything I'd say this is by design because usually you prefer 'the same framework' so netcoreapp1.1 is closer to netcoreapp3.0 than netstandard2.0.

Simply because I thought the goal was to prefer the implementation/standard with the largest API surface (thus requiring the fewest dependencies) while still being supported by the target framework. The highest .NET Standard version netcoreapp1.1 supports is 1.6, whose API surface, I assume, is a strict subset of netstandard2.0's. Therefore choosing the latter should be perfectly safe and could potentially result in a simpler lock file.

I don't think 1.6 is strict subset of 2.0. But maybe ask @terrajobst on
Twitter !?
kerams<EMAIL_ADDRESS>schrieb am Sa., 23. Nov. 2019, 10:12:

Simply because I thought the goal was to prefer the
implementation/standard with the largest API surface (thus requiring the
fewest dependencies) while still being supported by the target framework.
The highest .NET Standard version netcoreapp1.1 supports is 1.6, whose API
surface, I assume, is a strict subset of netstandard2.0's. Therefore
choosing the latter should be perfectly safe and could potentially
result in a simpler lock file.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/fsprojects/Paket/issues/3732?email_source=notifications&email_token=AAAOANE4OLGZ7CGWT2JEGCLQVDXXPA5CNFSM4JQZFXTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEE7RAEI#issuecomment-557781009,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAOANFJQAR2HZ62Z4EEHPLQVDXXPANCNFSM4JQZFXTA
.

https://github.com/dotnet/standard/blob/master/docs/metaphor.md

Logically, every version of .NET Standard is an interface. Later versions extend the previous version, i.e. there are no breaking changes. Newer versions have all APIs that previous versions had:

I don't think this is correct in regards of 1.6
kerams<EMAIL_ADDRESS>schrieb am Sa., 23. Nov. 2019, 10:47:

https://github.com/dotnet/standard/blob/master/docs/metaphor.md
Logically, every version of .NET Standard is an interface. Later versions
extend the previous version, i.e. there are no breaking changes. Newer
versions have all APIs that previous versions had:
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/fsprojects/Paket/issues/3732?email_source=notifications&email_token=AAAOANC3B4N5AXU34WGXQHTQVD32TA5CNFSM4JQZFXTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEE7RRZY#issuecomment-557783271,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAOANG4JY6NPWHVQAQZFQTQVD32TANCNFSM4JQZFXTA
.

https://github.com/dotnet/standard/blob/master/docs/faq.md

Based on community feedback, we decided not to make .NET Standard 2.0 be a breaking change from 1.x. Instead, .NET Standard 2.0 is a strict superset of .NET Standard 1.6.

It looks pretty unambiguous to me :)

Yes but things are never that easy. Read about the history of net461 and
netstandard2. Starting point here:
https://github.com/fsprojects/Paket/pull/3447 Microsoft claimed they were
compatible. Even against all evidence. Until they retracted eventually.
I think 1.6 and 2.0 is a different story. They are probably compatible. But
is this really the problem here?
kerams<EMAIL_ADDRESS>schrieb am Sa., 23. Nov. 2019, 10:50:

https://github.com/dotnet/standard/blob/master/docs/faq.md
Based on community feedback, we decided not to make .NET Standard 2.0 be a
breaking change from 1.x. Instead, .NET Standard 2.0 is a strict superset
of .NET Standard 1.6.
It looks pretty unambiguous to me :)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/fsprojects/Paket/issues/3732?email_source=notifications&email_token=AAAOANGQ5S64UPT3DKWSRYDQVD4HZA5CNFSM4JQZFXTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEE7RTMQ#issuecomment-557783474,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAOANFY5ZRQ5RFC5KMDBYDQVD4HZANCNFSM4JQZFXTA
.

I personally also think netstandard2 should be preferred over netcoreapp 1.

I think 1.6 and 2.0 is a different story. They are probably compatible. But
is this really the problem here?

It's important if the right target from the Nuget package's metadata is to be systematically chosen by finding the one which implements the highest .NET Standard version. The process could fall apart if there are breaking changes. Unless you just want to hard-code that netstandard2.0 takes precedence over netcoreapp1.1 when the project's target framework is > netcoreapp2.0?

I personally also think netstandard2 should be preferred over netcoreapp 1.

Last time I checked the process was specified as I mentioned above. This is not about personal preference ;) I'm happy to be corrected though.
Also this is not about netstandard1.6 and 2.0. The netcoreapp versioning is not related to the netstandard version. Any logic you might imagine is doomed to fail in the future.

Specified? As in a real spec? Where?

You can check that nuget applies the same logic. Just add netcoreapp3 as project framework and netcoreapp1 and netstandard2 as package framework here: https://nugettoolsdev.azurewebsites.net/5.3.0/get-nearest-framework?project=netcoreapp3.0&package=netcoreapp1.1
netstandard2.0
If you want different behavior the fix is to ask the package authors to add a netcoreapp3 buipd to the package or remove the netcoreapp1 one

I was asking for spec. Does such thing exists?
Matthias Dittrich<EMAIL_ADDRESS>schrieb am Sa., 23. Nov. 2019,
11:32:

You can check that nuget applies the same logic. Just add netcoreapp3 as
project framework and netcoreapp1 and netstandard2 as package framework
here:
https://nugettoolsdev.azurewebsites.net/5.3.0/get-nearest-framework?project=netcoreapp3.0&package=netcoreapp1.1
netstandard2.0
If you want different behavior the fix is to ask the package authors to
add a netcoreapp3 buipd to the package or remove the netcoreapp1 one
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/fsprojects/Paket/issues/3732?email_source=notifications&email_token=AAAOANDXGA5UVVYPASHPF2LQVEBD3A5CNFSM4JQZFXTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEE7SJKQ#issuecomment-557786282,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAOANCT5JUZYO7D5GDUM6TQVEBD3ANCNFSM4JQZFXTA
.

when in doubt I consult https://docs.microsoft.com/en-us/nuget/reference/target-frameworks or the nuget source directly. Any deviation usually resulted in more pain in the past - with the exception of the compat table between frameworks (which is not as important as preferring same framework, which this issue asks to deviate from)

Or asked differently: What would the change actually gets us? The current behavior works and runs, doesn't it?

Nuget source is not a spec. ;)
Matthias Dittrich<EMAIL_ADDRESS>schrieb am Sa., 23. Nov. 2019,
11:42:

Or asked differently: What would the change actually gets us? The current
behavior works and runs, doesn't it?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/fsprojects/Paket/issues/3732?email_source=notifications&email_token=AAAOANF4OZRS4OZRRVXWUPTQVECK3A5CNFSM4JQZFXTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEE7SONY#issuecomment-557786935,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAOANA6X5M7RR734LGXKUDQVECK3ANCNFSM4JQZFXTA
.

Nuget source is not a spec. ;)

Ok, but they clearly link that part of the source in their docs.
To elaborate with a different - more extreme - example. Consider a package with net10 and netstandard20. And you build for net48 (https://nugettoolsdev.azurewebsites.net/5.3.0/get-nearest-framework?project=net48&package=net10
netstandard2.0). In this scenario you (NuGet and Paket) would still prefer net10 because it is the SAME framework and netstandard20 would be framework "switch".
This is just how NuGet (and Paket) always behaved and package authors need to account for that when packaging their stuff.
There is basically no way to know for the package manager that the netstandard20 build has more APIs or would be more modern or anything, what would be the criteria?

Feature request for overrides in the Nuget client https://github.com/NuGet/Home/issues/7416
Having this feature in Paket, at least in the form of overrides, could be attractive for some Nuget users.

Even if I would agree with the OP and would like to change this - which I clearly do not. What would be the criteria to switch to netstandard instead of preferring the same framework? Date of release of the framework? Version of the netstandard it implements?
Maybe once that is clear I can give some examples where this would be a bad idea in practice, which I think can be already given in the OP example: I just need to find one API available in netcoreapp1.1 and not in netstandard2.0 and then build a package using that API. Now if your project depends on it there is a real difference in behavior. I think such things exist as netcoreapp usually has some APIs very early.

IMHO NuGet/Home#7416 is not a valid example. This is just not how the system is designed. The author should have made a major version increase switching to M.E.F. and removed System.Configuration and old frameworks. Shipping different frameworks in a single nuget package with different API surfaces and dependencies like this is doomed to create problems if you don't know how the system works ;)
In any case my stand on this: Let the NuGet team figure it out if this is really a problem (which given only 2 comments on over a year probably doesn't think it is). If they change anything we can discuss on how to follow.


feat: case sensitive option

:tada: This PR is included in version 1.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Update all dependencies

Due to changes in PyO3, Python 3.6 support has been dropped in favor of supporting Python 3.7-3.12 with fewer binaries via abi3.
All Rust and Python dependencies have been updated to their newest versions.
Verified Python 3.7 and 3.11 work on Linux, including installing from the source distribution (sdist)

Is this ready to be merged?
or is it still WIP


Support: Contacting owner of readthedocs.io project who isn't core maintainer to request ownership transfer

Details

Read the Docs project URL: http://chipwhisperer.readthedocs.io
Build URL (if applicable):
Read the Docs username (if applicable): coflynn (mine)

Expected Result
The readthedocs.io link for the ChipWhisperer project (http://github.com/newaetech/chipwhisperer) isn't pointing to the main repo, as the readthedocs.io project isn't owned by a core maintainer, and they are very outdated. Would like to contact the current readthedocs.io user and ask if OK to transfer project to us.
Can't find an email to ask them anywhere, so would appreciate it if you could reach out. If OK then please transfer ownership to coflynn account.
Actual Result
N/A

Can you get the email address of @phonchi from the repositroy commit log?
https://github.com/phonchi/chipwhisperer

I didn't think that github would be redacting the emails online, so didn't even try cloning it. Yes that worked - will see if it was the true/active email, I've just sent them a note!
I'll update this when I hear back (or if I don't hear back), as assume anything else would need RTD admin to process.

Quick update - did receive an OK, please let me know how to proceed, Thanks.

@colinoflynn you can check https://docs.readthedocs.io/en/latest/abandoned-projects.html I think you only need to ask him and that is.

I had seen those instructions (why I opened the issue originally), but it wasn't clear how moving the project itself has possible? Do they just delete the project and I recreate it on the new account is best?

Quick update - did receive an OK, please let me know how to proceed, Thanks.

Didn't he added you as a maintainer under the rtd project? If he agreed with you, you can ask him to grant you permissions. After that, you will have access to the project.

Do they just delete the project and I recreate it on the new account is best?

Not sure about that, I think if he adds you as maintainer is the same result

I can see that you were added as a maintainer of the rtd project, closing. Feel free to reopen if that wasn't the case.


Regenerate SDK based on Pulumi v3 sdk/pkg

Self merging - tests look good - linting failure due to unused go func from codegen


fix: change kafka url / improve status

This PR aligns the kafka url setting from using kafka's bootstrap nomenclature to KAFKA_URL which is used by consumers and preferred by devops. We also added better live checking of Kafka by the producer. By pinging Kafka's port and expecting Kafka to reset the connection when it's available. This should help troubleshoot configuration errors in which Kafka is not at the expected url/port. Lastly, we've cleaned up the wording of the /status endpoint to reduce confusion as to the current state. We previously had a binary value for Kafka which would lead you to assume it was unavailable when the status was False. We've replaced that with two status:
  "kafka_container_accessible": true,
  "kafka_submission_status": "SUBMISSION_ONGOING",

kafka_container_accessible is the result of the aforementioned liveness check. kafka_submission_status  will be SUBMISSION_ONGOING if the last attempt at sending data to Kafka successed, or DATA_NOT_BEING_SUBMITTED if the last submission failed, or we have yet to attempt a submission (because Kernel is unavailable, etc).

It seems odd to roll failed submission and untried submission into the same state is it possible to spit them into separate states? And also to maybe align the state names a bit more: SUBMISSION_SUCCESS, SUBMISSION_FAILURE and SUBMISSION_UNTRIED maybe?

Removed K8s tests.
@MrPink / @quesebifurcan please reinstate after helm fix is applied..


React Router v4 Matching

Hey, awesome project!  I'll definitely keep in touch with this.
What do you think about rendering React Router v4 matches with a route-config like this?
// App.js
import React from 'react'
import routeConfig from 'route-config.js'

let routes = routeConfig.map((route, index) =>
  <Match
    key={index}
    pattern={route.pattern}
    exactly={route.exactly}
    render={routerProps =>
      <CodeSplit chunkName={route.component.displayName} modules={{ [route.component.displayName]: route.component }}>
        { theComponent => theComponent && <route.component {...routerProps} /> }
      </CodeSplit>
    }
  />
)

export default class App extends React.Component {
  render() {
    return (
      <div>
        {routes}
        <Miss component={Error404} />}
      </div>
    )
  }
}

// route-config.js
import Home from './Home'
import About from './About'
import Blog from './Blog'

export default [
  { pattern: '/', component: Home, exactly: true },
  { pattern: '/about', component: About },
  { pattern: '/blog', component: Blog }
]

I feel like it's a bit simpler.

I agree with @rlindskog , with this way, it works nicely with routeTasks in redux feature. We can remove the duplicated code in routes.

I hear you guys and appreciate the code duplication can make your routes declarations very noisy.
Unfortunately there are some restrictions with how code-split-component currently works which prevents any sort of solution as the one you are proposing.  However, I am working on a new release of this library which may be able to open up these types of choices.

Solved in next :)


upgrade multicluster subscription operator to V0.1.1

Signed-off-by: Xiangjing Li<EMAIL_ADDRESS>Thanks submitting your Operator. Please check below list before you create your Pull Request.

Flat operator directory structure is obsolete from 23-rd of October 2019, only nested directory structure will be accepted.

Updates to existing Operators

[x] Is your new CSV pointing to the previous version with the replaces property?
[x] Is your new CSV referenced in the appropriate channel defined in the package.yaml ?
[x] Have you tested an update to your Operator when deployed via OLM?
[x] Is your submission signed?

Your submission should not

[x] Modify more than one operator
[x] Modify an Operator you don't own
[x] Rename an operator - please remove and add with a different name instead
[x] Submit operators to both upstream-community-operators and community-operators at once
[x] Modify any files outside the above mentioned folders
[x] Contain more than one commit. Please squash your commits.

Operator Description must contain (in order)

[x] Description about the managed Application and where to find more information
[x] Features and capabilities of your Operator and how to use it
[x] Any manual steps about potential pre-requisites for using your Operator

Operator Metadata should contain

[x] Human readable name and 1-liner description about your Operator
[x] Valid category name1
[x] One of the pre-defined capability levels2
[x] Links to the maintainer, source code and documentation
[x] Example templates for all Custom Resource Definitions intended to be used
[x] A quadratic logo

Remember that you can preview your CSV here.
--
1 If you feel your Operator does not fit any of the pre-defined categories, file a PR against this repo and explain your need
2 For more information see here

Hi @J0zi , Please review  the PR. It basically contains new image, no other changes.
The sooner it is merged, the better it will be for our installer :-) Thanks!

Hi @xiangjingli, please consider adding replaces to your CSV.

Hi @J0zi , could you please help merge it ASAP? It would be great to see it in operator hub on Monday.  We won't create versions very often after this change.
Thanks for your support!

Hi @J0zi, Could you review and merge the PR ASAP ? Our installers is waiting for it!
Thanks!


Issue when creating an app

HI after following the instruction and installing it on windows, I've got this error:
Note that we must ONLY discuss the product modality and do not discuss anything else! Once we all have expressed our opinion(s) and agree with the results of the discussion unanimously, any of us must actively terminate the discussion by replying with only one line, which starts with a single word , followed by our final product modality without any other words, e.g., " PowerPoint".
Traceback (most recent call last):
File "C:\Users\Jett\anaconda3\envs\chatdev_conda_env\lib\site-packages\tenacity_init_.py", line 382, in call
result = fn(*args, **kwargs)
File "C:\ChatDev\camel\utils.py", line 147, in wrapper
raise ValueError('OpenAI API key not found.')
ValueError: OpenAI API key not found.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\ChatDev\run.py", line 111, in
chat_chain.execute_chain()
File "C:\ChatDev\chatdev\chat_chain.py", line 160, in execute_chain
self.execute_step(phase_item)
File "C:\ChatDev\chatdev\chat_chain.py", line 130, in execute_step
self.chat_env = self.phases[phase].execute(self.chat_env,
File "C:\ChatDev\chatdev\phase.py", line 292, in execute
self.chatting(chat_env=chat_env,
File "C:\ChatDev\chatdev\utils.py", line 77, in wrapper
return func(*args, **kwargs)
File "C:\ChatDev\chatdev\phase.py", line 131, in chatting
assistant_response, user_response = role_play_session.step(input_user_msg, chat_turn_limit == 1)
File "C:\ChatDev\camel\agents\role_playing.py", line 242, in step
assistant_response = self.assistant_agent.step(user_msg_rst)
File "C:\Users\Jett\anaconda3\envs\chatdev_conda_env\lib\site-packages\tenacity_init_.py", line 289, in wrapped_f
return self(f, *args, **kw)
File "C:\Users\Jett\anaconda3\envs\chatdev_conda_env\lib\site-packages\tenacity_init_.py", line 379, in call
do = self.iter(retry_state=retry_state)
File "C:\Users\Jett\anaconda3\envs\chatdev_conda_env\lib\site-packages\tenacity_init_.py", line 326, in iter
raise retry_exc from fut.exception()
tenacity.RetryError: RetryError[<Future at 0x22aeb03b670 state=finished raised ValueError>]

It seems that you have an API error or used a 3.5 API, which caused the problem. Please provide reference only

I have the same problem.
Can you tell me which API key I should use?
Thanks.

你好。已收到你的邮件，我会尽快处理。————————————这是来自QQ邮箱的自动回复邮件。

I think that the gpt-4 API is what you should try

or  Add @Retry(wait=wait_exponential(min=1, max=60)) above the OpenAIModel class and my problem is solved (using 3.5 turbo).

If you are using Google Colab, it is likely a syntax error. Correct way to define api key is:
%env OPENAI_API_KEY=[your key here
Note that there is no " " or ' ' surrounding the key.
Hope this helps ;)

When I get a key from https://platform.openai.com/account/api-keys, I dont see an option for gpt 3 or 4. I assume it is just 4.
I am on a mac and tried to export the key and did not work. Can we just hard code it somewhere?

or Add @Retry(wait=wait_exponential(min=1, max=60)) above the OpenAIModel class and my problem is solved (using 3.5 turbo).

Is

HI after following the instruction and installing it on windows, I've got this error:
Note that we must ONLY discuss the product modality and do not discuss anything else! Once we all have expressed our opinion(s) and agree with the results of the discussion unanimously, any of us must actively terminate the discussion by replying with only one line, which starts with a single word , followed by our final product modality without any other words, e.g., " PowerPoint".
Traceback (most recent call last): File "C:\Users\Jett\anaconda3\envs\chatdev_conda_env\lib\site-packages\tenacity__init__.py", line 382, in call result = fn(*args, **kwargs) File "C:\ChatDev\camel\utils.py", line 147, in wrapper raise ValueError('OpenAI API key not found.') ValueError: OpenAI API key not found.
The above exception was the direct cause of the following exception:
Traceback (most recent call last): File "C:\ChatDev\run.py", line 111, in chat_chain.execute_chain() File "C:\ChatDev\chatdev\chat_chain.py", line 160, in execute_chain self.execute_step(phase_item) File "C:\ChatDev\chatdev\chat_chain.py", line 130, in execute_step self.chat_env = self.phases[phase].execute(self.chat_env, File "C:\ChatDev\chatdev\phase.py", line 292, in execute self.chatting(chat_env=chat_env, File "C:\ChatDev\chatdev\utils.py", line 77, in wrapper return func(*args, **kwargs) File "C:\ChatDev\chatdev\phase.py", line 131, in chatting assistant_response, user_response = role_play_session.step(input_user_msg, chat_turn_limit == 1) File "C:\ChatDev\camel\agents\role_playing.py", line 242, in step assistant_response = self.assistant_agent.step(user_msg_rst) File "C:\Users\Jett\anaconda3\envs\chatdev_conda_env\lib\site-packages\tenacity__init__.py", line 289, in wrapped_f return self(f, *args, **kw) File "C:\Users\Jett\anaconda3\envs\chatdev_conda_env\lib\site-packages\tenacity__init__.py", line 379, in call do = self.iter(retry_state=retry_state) File "C:\Users\Jett\anaconda3\envs\chatdev_conda_env\lib\site-packages\tenacity__init__.py", line 326, in iter raise retry_exc from fut.exception() tenacity.RetryError: RetryError[<Future at 0x22aeb03b670 state=finished raised ValueError>]

I got the same error. But what works for me was, in the utils.py, instead of this :
import os
import re
import zipfile
from functools import wraps
from typing import Any, Callable, List, Optional, Set, TypeVar
I add one more line where I force the code to search in the environment variables:
import os
import re
import zipfile
openai_api_key = os.environ['OPENAI_API_KEY']
from functools import wraps
from typing import Any, Callable, List, Optional, Set, TypeVar
This works for me!!

Same issue here on Win10, but non of the above solutions helped me. (api key is properly set as an env. variable)

set OPENAI_API_KEY=
after that echo %OPENAI_API_KEY% to check if it is still not working you can try setx OPENAI_API_KEY “”

I solved the problem.
In my case, it occurs because of setting environment value(OPENAI_API_KEY 4.0).
I set it manually from windows settings and restarted my computer.
And the problem dealt.

how to manually set it from windows settings?

how to manually set it from windows settings?

My Computer ->System Properties -> Advanced ->Environment Variables -> New
Set the Variable name and Variable value

If you are using Google Colab, it is likely a syntax error. Correct way to define api key is: %env OPENAI_API_KEY=[your key here]
Note that there is no " " or ' ' surrounding the key.
Hope this helps ;)

it solved my issue


JS SDK upload artifact script added for api docs

Update:

Automating zip on api-docs was successful
Below steps were added in release github workflow:

Package info action module added to read package json file from github action.
Docs generation and zipping section
Upload artifact github action module was added to upload generated api docs to action summary.

Hi @bparmar-splunk - I just took a look at the docs generated in this run: https://github.com/splunk/splunk-sdk-javascript/actions/runs/1980485787 it seems that the formatting is not there and doesn't seem to match those generated and used here: https://docs.splunk.com/DocumentationStatic/JavaScriptSDK/1.0/splunkjs.Service.html are you able to reproduce the docs locally? Do they also have issues with formatting?

Hi @bparmar-splunk - I just took a look at the docs generated in this run: https://github.com/splunk/splunk-sdk-javascript/actions/runs/1980485787 it seems that the formatting is not there and doesn't seem to match those generated and used here: https://docs.splunk.com/DocumentationStatic/JavaScriptSDK/1.0/splunkjs.Service.html are you able to reproduce the docs locally? Do they also have issues with formatting?

Hi @fantavlik,
In my local, when I have downloaded docs zip there are no formatting.
Even, when we provide generated api-docs to patrick for updating JS docs on docs.splunk.com, it is also not formatted when checked in local.
The site docs.splunk.com contains all supported css and js files. Hence, it's UI looks good.


Activate renovate bot

Do you need it for all repositories, or just unoserver-docker? I personally
hate getting these kinds of emails from various bots trying to tell me
things are outdated, when they aren't. :-D
On Tue, Nov 12, 2024 at 11:33 PM Jimisola Laursen @.***>
wrote:

@regebro https://github.com/regebro I don't have permissions to
activate renovate for this repository.
Can you please do that and also give me permissions to control renovate
for this repository?
The reason for using renovate is that it's better than dependabot and
suits this project better since it'll e.g. keep track of when there is a
new version of unoserver.
—
Reply to this email directly, view it on GitHub
https://github.com/unoconv/unoserver-docker/issues/70#issuecomment-2471725971,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAGIK5E3HZF3PGTGZKWC4CD2AJ65PAVCNFSM6AAAAABRVCYXH2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINZRG4ZDKOJXGE
.
You are receiving this because you were mentioned.Message ID:
@.***>

I can see that might be a problem for docker images.
On Wed, Nov 13, 2024 at 11:39 AM Jimisola Laursen @.***>
wrote:

Just for unoserver-docker.
Outdated how? EOL?
I'm heavily dependent on them, especially for security fixes.
—
Reply to this email directly, view it on GitHub
https://github.com/unoconv/unoserver-docker/issues/70#issuecomment-2473138549,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAGIK5GLOLLBGEUOOQJIDB32AMT4JAVCNFSM6AAAAABRVCYXH2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINZTGEZTQNJUHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

Any type of dependency is my experience. Pypi, Maven, NPM. We use renovate for everything at work. Would be able to keep up otherwise.
How do you keep track of unoserver's dependencies?
DevOps Paradox podcast recently had an episode with the founder of renovate:
https://www.devopsparadox.com/episodes/automating-dependency-updates-with-renovate-287/

Pypi will install the latest version of any dependency, so that's not a
problem for me, in general. For unoserver, specifically, it doesn't even
have dependencies, so that's even easier. :-D
On Wed, Nov 13, 2024 at 12:04 PM Jimisola Laursen @.***>
wrote:

Any type of dependency is my experience. Pypi, Maven, NPM. We use renovate
for everything at work. Would be able to keep up otherwise.
How do you keep track of unoserver's dependencies?
DevOps Paradox podcast recently had an episode with the founder of
renovate:
https://www.devopsparadox.com/episodes/automating-dependency-updates-with-renovate-287/
—
Reply to this email directly, view it on GitHub
https://github.com/unoconv/unoserver-docker/issues/70#issuecomment-2473215819,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAGIK5FFPTBQ5EMZ5B2T3232AMW2LAVCNFSM6AAAAABRVCYXH2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINZTGIYTKOBRHE
.
You are receiving this because you were mentioned.Message ID:
@.***>


Minimal javadoc for test-suites

Enables documentation tool to process new public APIs for DSL

Relates to #18241
There's a high chance of merge conflicts or duplicated work on JvmTestSuite.java, so I'd like to merge this ASAP

@bot-gradle test QF

OK, I've already triggered QuickFeedback build for you.

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

OK, I've already triggered a build for you.


Bad mAP Performance

Same dataset(very easy task, just one class),
I can get 0.98mAP in PyTorch version EfficientDet,
but use this TF version, can only get mAP aroud 0.6.
I trained in 2 steps like u write in readme, and have changed anchor ratio.
Thx.

What network and write your anchor ratio

just d0， and anchor ratio was computed by Anchor optimization

And if you use weighted_bifpn = True when training?

And if you use weighted_bifpn = True when training?

I'm not, just train as readme said:
STEP1: python3 train.py --snapshot imagenet --phi {0, 1, 2, 3, 4, 5, 6} --gpu 0 --random-transform --compute-val-loss --freeze-backbone --batch-size 32 --steps 1000 pascal|coco datasets/VOC2012|datasets/coco to start training. The init lr is 1e-3.
STEP2: python3 train.py --snapshot xxx.h5 --phi {0, 1, 2, 3, 4, 5, 6} --gpu 0 --random-transform --compute-val-loss --freeze-bn --batch-size 4 --steps 10000 pascal|coco datasets/VOC2012|datasets/coco to start training when val mAP can not increase during STEP1. The init lr is 1e-4 and decays to 1e-5 when val mAP keeps dropping down.

and I also tried use weighted_bifpn = True, got even worse result.

Try --weighted-bifpn for step 1

@fire717 how did you apply the generated anchor when training?


Use of strings in config file

I am on latest nixos flake version of hyprland on nixos.
I want to exec something like dmenu-wl_run -b -h 32 -i -p "run:" -nf "#f8f8f2" -nb "#282a36" -sf "#282a36" -sb "#ff79c6" in my config file but this does not work. Removing the quote works but that is not what I wanted, the command needs strings. How do I pass bash string parameters to exec?

you have a # there isterpreted as a comment marker. Escape it with ##

There was no need to escape the quote. Escaping # worked just fine


Add destroy method to ajax cart

Re: #254 a destroy method would be a useful addition if needing to reinit the ajax cart.

The new ajax cart (released with v2.1.0) does not need to be reinitialized. Event listeners will stay active in the cart, and a better callback method for when the cart is loaded into the DOM can be used to handle plugins.


API [4845]

This pull request adds a C-style API and a set of unit-tests. Using this API the user is able to:

create/delete ProxyClients,
create/delete Participants,
create/delete Publishers,
create/delete Subscribers,
create/delete DataWriters,
create/delete DataReaders.

It could be very useful for creating preconfigured Applications (ProxyClient + Entities), in such a way that the Client will be able to publish/subscribe directly without the need of creating the Entities.
Before accepting this pull request accept the following:

[x] Ced Middleware #58

Build status:

Linux
Windows

Build status:

Linux
Windows

Build status:

Linux
Windows

Build status:

Linux
Windows

Build status:

Linux
Windows

Build status:

Linux
Windows

Please, resolve conflicts

Build status:

Linux
Windows

Build status:

Linux
Windows

Build status:

Linux
Windows

Build status:

Linux
Windows


nested loops

I have a Jekyll website that heavily uses nested loops over complicated page variables as a way to generate a page. I was surprised to see that does not work in Franklin. What is the idiomatic way to do the following (pseudocode):
# file utils.jl

myvariable_d = [Dict("a"=>[1,2]),Dict("a"=>[3,4])]
myvariable_v = [[1,2],[3,4]]

# file homepage.md

{{for group in myvariable_d}}
{{for i in group["a"]}}
## {{fill i}}
{{end}}
{{end}}

{{for group in myvariable_v}}
{{for i in group}}
## {{fill i}}
{{end}}
{{end}}

As soon as you have complexity like this you should move the logic to a hfun and just write Julia code for it.
The next version will allow for a bit more flexibility in these things but the purpose is just to be more consistent, not to allow gradually more complex logic in a kind of specialised DSL like in Hugo.

Thanks! Closing the issue, but feel free to move it to discussion or QnA if appropriate.


DbContext Dispose not works

After disposing of the first context, the second contains the same data.
Example:
using (var context = new Context())
{
    context.Users.Add(new User());
    context.SaveChanges();
}

Directory.Delete(Path.Combine(AppContext.BaseDirectory, "appdata"), true);

using (var context = new Context())
{
    var u1 = context.Users.First();
}

I expected exception here

Hi.
Sorry for the late reply.
You are right. This is because FileContext stores the data in memory after the initial load. It then writes everything back to disc if anything changes. The cache is shared between multiple instaces of the DbContext. This is reason for the discovered behavior.
Are you having any problems with that?


Make audio processing use 32-bit floats instead of 16-bit shorts.

Basically the title of this issue.

Added in the latest commit.


Broken plugins or dependencies on both LEAD and ASKnet sites locally

When running docker compose up to launch the development server, working branch content branch on a newly cloned copy of ASKlead to avoid losing current work. Note that I get the same error even on my old clone of the repo. The only config that I touched is the Gemfile

file structure

dut@asknet:~/workspace/ask/LEAD$ ls
404.html  CNAME        _data               extract.py  Gemfile.lock  index.html  LICENSE.txt  _profiles     README.md
assets    _config.yml  docker-compose.yml  Gemfile     _includes     _layouts    _pages       profiles.csv  _site

un-Commented `gem webrick"

dut@asknet:~/workspace/ask/LEAD$ nl Gemfile
     1	source "https://rubygems.org"

     2	# webrick http local development server

     3	gem 'webrick'

     4	gem 'bundler'
     5	gem 'jekyll'
     6	gem 'jekyll-sitemap'
     7	gem 'wdm', '>= 0.1.0'
     8	gem 'jekyll-remote-include', :github => 'netrics/jekyll-remote-include'

start docker and development server

docker compose up

the following error is produced

lead-jekyll-1  |   Conversion error: Jekyll::Converters::Scss encountered an error while converting 'assets/scss/style.scss':
lead-jekyll-1  |                     end of file reached
lead-jekyll-1  |                     ------------------------------------------------
lead-jekyll-1  |       Jekyll 4.3.2   Please append `--trace` to the `serve` command
lead-jekyll-1  |                      for any additional information or backtrace.
lead-jekyll-1  |                     ------------------------------------------------
lead-jekyll-1  | /usr/gem/gems/sass-embedded-1.69.5-x86_64-linux-musl/lib/sass/embedded/varint.rb:20:in `readbyte': end of file reached (EOFError)
lead-jekyll-1  | 	from /usr/gem/gems/sass-embedded-1.69.5-x86_64-linux-musl/lib/sass/embedded/varint.rb:20:in `block in read'
lead-jekyll-1  | 	from /usr/gem/gems/sass-embedded-1.69.5-x86_64-linux-musl/lib/sass/embedded/varint.rb:19:in `loop'
lead-jekyll-1  | 	from /usr/gem/gems/sass-embedded-1.69.5-x86_64-linux-musl/lib/sass/embedded/varint.rb:19:in `read'
lead-jekyll-1  | 	from /usr/gem/gems/sass-embedded-1.69.5-x86_64-linux-musl/lib/sass/embedded/connection.rb:29:in `block (2 levels) in initialize'
lead-jekyll-1  | 	from /usr/gem/gems/sass-embedded-1.69.5-x86_64-linux-musl/lib/sass/embedded/connection.rb:28:in `loop'
lead-jekyll-1  | 	from /usr/gem/gems/sass-embedded-1.69.5-x86_64-linux-musl/lib/sass/embedded/connection.rb:28:in `block in initialize'
lead-jekyll-1 exited with code 1

@bmen @timmwille

You are using docker compose version 2.x or higher. The Gem webrick is a prerequisite. So you have to enter gem  "webrick" in the gemfile.

@bmen yes at gem "webrick" exists in the gemfile

in which branch do you work? @dutkulang

on the content branch, on the same branch content inside the Gemfile I un-commented out  gem webrick

I had to git restore Gemfile.lock file to the initial state that @bmen committed it at the initial start of development , looking through it I discovered that he had jekyll-sass-converter plugin but did not include it in the Gemfile as gem 'jekyll-sass-converter' that would then saved us from this error


Pygraphviz for Windows

I am a core developer of NetworkX and pygraphviz.  We keep getting bug reports from users trying to install pygraphviz with conda.  It looks like you need to provide recent versions of graphviz (see https://github.com/conda-forge/graphviz-feedstock/issues/55).  I also noticed you don't provide pygraphviz packages for Windows.  There is a PR to add Windows support #3.
Is there anything I can do to help?

Hello @jarrodmillman ,
Unfortunately, the graphviz package on Windows is incorrectly packaged, which leads to a linking error on x64:
 Creating library build\temp.win-amd64-3.8\Release\pygraphviz\_graphviz.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\pygraphviz\_graphviz.cp38-win_amd64.exp
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agwrite
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agisdirected
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agopen
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agraphof
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agnxtin
    graphviz_wrap.obj : error LNK2001: unresolved external symbol aglstnode
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agedge
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agsubedge
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agisundirected
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agnxtnode
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agidnode
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agnxtsubg
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agisstrict
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agattrsym
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agfstin
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agattr
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agstrdup_html
    graphviz_wrap.obj : error LNK2001: unresolved external symbol Agdirected
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agnameof
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agfstnode
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agget
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agdegree
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agfstedge
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agdelsubg
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agdelnode
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agnxtattr
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agread
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agparent
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agxset
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agclose
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agidedge
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agroot
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agfstsubg
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agdeledge
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agnnodes
    graphviz_wrap.obj : error LNK2001: unresolved external symbol Agundirected
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agxget
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agsubnode
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agnxtedge
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agsubg
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agnedges
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agset
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agfstout
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agnode
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agsafeset
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agprvnode
    graphviz_wrap.obj : error LNK2001: unresolved external symbol Agstrictundirected
    graphviz_wrap.obj : error LNK2001: unresolved external symbol agnxtout
    graphviz_wrap.obj : error LNK2001: unresolved external symbol Agstrictdirected
    build\lib.win-amd64-3.8\pygraphviz\_graphviz.cp38-win_amd64.pyd : fatal error LNK1120: 49 unresolved externals
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\amd64\\link.exe' failed with exit status 1120

The DLLs are actually 32 bit, instead of 64 bit:
$ file '\path\to\envs\pygraphvizdev\Library\bin\graphviz\cgraph.dll'
\path\to\envs\pygraphvizdev\Library\bin\graphviz\cgraph.dll: PE32 executable (DLL) (GUI) Intel 80386, for MS Windows

$ file '\path\to\envs\pygraphvizdev\Library\bin\graphviz\cdt.dll'
\path\to\envs\pygraphvizdev\Library\bin\graphviz\cdt.dll: PE32 executable (DLL) (GUI) Intel 80386, for MS Windows

The best way to help would be to make a pr to this feedstock that fixes the recipe and migrates to the newest version.

Like this https://github.com/conda-forge/graphviz-feedstock/pull/56?  I don't use conda or windows.  And I am finding the build system here opaque.  So it is taking me a lot of time to figure out how to fix this.  But I will try to get this fixed and then I will try to make a PR here.  Any help you folks can offer would be appreciated.

Windows support for pygraphviz is now waiting on https://github.com/conda-forge/graphviz-feedstock/pull/59

That’s awesome 😎 Thank you Nehal! 😀
Also should be merged and built now 😉

Waiting on https://github.com/conda-forge/conda-forge-pinning-feedstock/pull/1220 before I enable Windows for pygraphviz.

Resolved via https://github.com/conda-forge/pygraphviz-feedstock/pull/18


French Language

Add French Language (fr-FR)

Coverage decreased (-5.8%) to 88.77% when pulling 330f007db7a55317fabaf52b0794b1742577af70 on clementlamoureux:master into 5bd64c2165723df4d312df1a320ae94711f9b4ac on MarshallOfSound:master.


[feign client] special query character cause returned http status code 400

This is my feign client def.

@FeignClient("food-service")
public interface FoodService {
  @RequestMapping(
    value = {"/food"},
    method = {RequestMethod.GET}
  )
  List<Food> find(@RequestParam("name") String name);
}

foodService.find("cookie");
This is working fine;
foodService.find("co%");
the % is a special character , this call will be returned status code 400 .

I track the code.
Final ,feign using the default client implement feign.Default to send the request.
But, execute method parameter request.url value is http://<IP_ADDRESS>:8080/food?name=co%,
This url cannot to send from HttpURLConnection , because % need to encode to be %25

Feign does encode request parameters, and it works fine for me (the receiver sees "co%" if it is a Spring MVC handler). I suspect that the problem might be on the server (it is sending the 400 after all, not the client).

@dsyer
Thank for your remind , FoodService creating by my suspect , foodService.find("co%"); is also.
Then i review the code again , i found this code  in RequestTemplate class  :
private String encodeIfNotVariable(String in) {
    if (in == null || in.indexOf('{') == 0) {
      return in;
    }
    return urlEncode(in);
  }

encodeIfNotVariable called in query(String name, String... values) .
This means if the value containing { and in the first , the value cannot to be encode.
you can try it this :  foodService.find("{co%%");
PS: my spring-cloud-feign-client usage is complex and cannot show in here .

RequestTemplate is part of Feign. If it isn't meeting your needs you probably need to open an issue there (https://github.com/OpenFeign/feign).

recent versions of feign allow custom contracts to skip encoding, but I'm not sure if it is a good idea or not to change @RequestParam to permit this.
If this was desired, the below could be specify an initial boolean parameter indicating the user wants this to be interpreted as-is.
https://github.com/spring-cloud/spring-cloud-netflix/blob/ff46a7dc509e6f5b129282f83b6b347825690bba/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/feign/annotation/RequestParamParameterProcessor.java#L58
the function used is here:
https://github.com/OpenFeign/feign/blob/master/core/src/main/java/feign/RequestTemplate.java#L318


[SPARK-14421] : Upgrades protobuf dependency to 2.6.1 for the new version of KCL, and…

What changes were proposed in this pull request?
When running with Kinesis Consumer Library (KCL), against a stream that contains aggregated data, the KCL needs access to protobuf to de-aggregate the records.   Without this patch, that results in the following error message:
   Caused by: java.lang.ClassNotFoundException: com.google.protobuf.ProtocolStringList

This PR upgrades the protobuf dependency within the kinesis-asl-assembly, and relocates that package (as not to conflict with Spark's use of 2.5.0), which fixes the above CNFE.
How was this patch tested?
Used kinesis word count example against a stream containing aggregated data.
See: SPARK-14421

Can one of the admins verify this patch?

ok to test

Test build #58389 has started for PR 13054 at commit 0a532c3.

Test build #58389 has finished for PR 13054 at commit 0a532c3.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/58389/
Test FAILed.

Jenkins retest this please

Test build #58477 has started for PR 13054 at commit 0a532c3.

Test build #58477 has finished for PR 13054 at commit 0a532c3.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/58477/
Test PASSed.

Merged to master/2.0


Terminal position not working and white space rendered is so annoying

Issue Type: Bug
I can no longer position my integrated terminal to the right
Annoying white opaque highlight background outside wordwrap margin
VS Code version: Code 1.69.1 (b06ae3b2d2dbfe28bca3134cc6be65935cdfea6a, 2022-07-12T08:21:51.333Z)
OS version: Darwin x64 21.3.0
Restricted Mode: No
Extensions (24)

Extension
Author (truncated)
Version

vscode-env-selector|and|0.3.0
ng-template|Ang|14.0.1
vscode-intelephense-client|bme|1.8.2
bracket-pair-colorizer|Coe|1.0.62
vscode-eslint|dba|2.2.6
vscode-html-css|ecm|1.13.0
prettier-vscode|esb|9.5.0
vscode-firefox-debug|fir|2.9.7
vscode-jest-runner|fir|0.4.48
vscode-angular-html|gha|1.8.0
vscode-redux-devtools|jin|1.0.2
twig-language|mbl|0.9.2
twig-language-2|mbl|0.9.2
vscode-bicep|ms-|0.8.9
vscode-docker|ms-|1.22.1
vscode-dotnet-runtime|ms-|1.5.0
remote-containers|ms-|0.241.3
debugger-for-chrome|msj|4.13.0
angular-console|nrw|17.18.8
laravel-blade|one|1.32.0
LiveServer|rit|5.7.5
symfony-vscode|The|1.0.2
vscode-icons|vsc|11.13.0
twig|wha|1.0.2

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.69.2. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

Please provide a screenshot or a gif illustrating the problem (attaching images won't work via email, you need to go to github.com). See this wiki page for more general info on how to report actionable terminal issues.
/label "needsMoreInfo" terminal


posts.dart

@SimCoderYoutube

I m following your tutorial on youtube and i m getting this error. please guide me. i looked through google but could not find a solution.

Add  to querySnapshot like this
List _postListFromSnapshot(QuerySnapshot snapshot) {}
the error will go away


Some fixes

Does not include a built skifree.min.js

@basicallydan  Do I get a spot in your README.md file for this ? ;) ;)

@andersevenrud! Of course you do, sorry I forgot :) thank you for pointing out my slip of the mind


implement packet-threshhold based loss detection

Fixes #1664. Depends on #2043.

Codecov Report

Merging #2044 into master will increase coverage by <.01%.
The diff coverage is 87.5%.

@@            Coverage Diff             @@
##           master    #2044      +/-   ##
==========================================
+ Coverage   85.62%   85.62%   +<.01%
==========================================
  Files          99       99
  Lines        7175     7176       +1
==========================================
+ Hits         6143     6144       +1
  Misses        753      753
  Partials      279      279

Impacted Files
Coverage Δ

internal/ackhandler/sent_packet_handler.go
75% <87.5%> (+0.07%)
:arrow_up:

Continue to review full report at Codecov.

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


Update README.md

Grammar change

Sorry I didn't merge this earlier but I see that grammar change fix was done by another Thinkst developer.
Thanks for using our project (and please keep the PRs coming!)


Repo sync for protected CLA branch

The pull request is created from master637577316844424560 to master to fix git push error for protected CLA branch

@huypub : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Crash Handler is disabled for binaries compiled with MinGW (includes official Windows binaries)

Godot version:

3.2.3-stable
OS/device including version:

Windows
Issue description:

When the exported game crashes, there's no stack trace or anything, even the debug build. It looks like the official templates are built from MinGW~32~ and therefore have this feature disabled.
It would be nice if the default export template had a way to print out or log crash info. It's not feasible to attach a debugger in the field, and creating a custom build for distribution is painful.
Either find a way to build these templates with MSVC, or find a way to print out the stack trace in MinGW?
// Crash handler exception only enabled with MSVC
#if defined(DEBUG_ENABLED) && defined(MSVC)
#define CRASH_HANDLER_EXCEPTION 1

Steps to reproduce:
Crash the game after exporting for windows with debug enabled.
Minimal reproduction project:

not sure how to deliberately crash :+1:

It looks like the official templates are built from MinGW32 and therefore have this feature disabled.

We use MinGW-w64 for official builds, not the ages old "MinGW32";

"print out the stack trace in MinGW" would be good, I think the current behavior is silent failure. I'll be doing more exhaustive research on Monday.
It's been increasingly difficult to track down crashes etc on disparate hardware without the live, in person test sessions that we were able to run pre-covid :)

See also https://github.com/godotengine/godot-proposals/issues/1342#issuecomment-702189368

This should be closed by #61006, right?

Indeed, this was implemented by https://github.com/godotengine/godot/pull/61006.


Storage blob.patch() returns 400 error on GCE only

This may be related to #1185 - I'm seeing the following code work on my dev machine, but it's failing on GCE / Python 2.7.9 / gcloud 0.11.0:
from gcloud import storage
client = storage.Client()
bucket = client.bucket('my-bucket-name')
blob = bucket.blob('test.txt')
blob.upload_from_string('Hello world')
blob.metadata = {'luke': 'skywalker'}
blob.patch()

I get the following traceback:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/gcloud/storage/_helpers.py", line 124, in patch
    query_params={'projection': 'full'}, _target_object=self)
  File "/usr/local/lib/python2.7/dist-packages/gcloud/connection.py", line 343, in api_request
    error_info=method + ' ' + url)
gcloud.exceptions.BadRequest: 400 Invalid argument. (PATCH https://www.googleapis.com/storage/v1/b/my-bucket-name/o/test.txt?projection=full)

Strange that it would fail on one machine and not another, since it seems the error is about the payload. What OS are you using on GCE? I seem to recall your local dev machine is OS X?

Dev machine - Mac OS X:
Darwin 15.3.0 Darwin Kernel Version 15.3.0: Thu Dec 10 18:40:58 PST 2015; root:xnu-3248.30.4~1/RELEASE_X86_64 x86_64
GCE - fairly sure this is a "default" Debian setup:
Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt20-1+deb8u3 (2016-01-17) x86_64 GNU/Linux
Machine type: n1-standard-1 (1 vCPU, 3.75 GB memory)
CPU platform: Intel Ivy Bridge
Zone: us-central1-f

Is this the same problem of the cloud-platform scope not being treated the same as dev_access.full_control and not letting you do PATCH requests?
@ndenny can you confirm which scopes your instance has?

I created the instance a while ago now... it's reporting this:
      "scopes": [
        "https://www.googleapis.com/auth/userinfo.email",
        "https://www.googleapis.com/auth/cloud.useraccounts.readonly",
        "https://www.googleapis.com/auth/devstorage.read_write",
        "https://www.googleapis.com/auth/datastore",
        "https://www.googleapis.com/auth/logging.write",
        "https://www.googleapis.com/auth/monitoring.write",
        "https://www.googleapis.com/auth/pubsub"
      ]

Gotcha. Can you try creating a new instance with the cloud-platform scope and trying again? Failing that, try creating one with devstorage.full_control?

Update: including devstorage.full_control has worked and solves the problem.
I was using the web console to create the instance, don't see a way to include cloud-platform, will look into using a command-line instead.

Cool, I guess that answers that. I'm going to go ahead and close this issue, but feel free to let us know if there's anything else we can do to help.
IAM is in the process of rolling out and will eventually supercede the need for scopes.

Glad we found a solution. Just for completeness, adding cloud-platform also fixed the issue.

Thanks for the follow up!


[Bugfix] Fixing sheet CSE - Ordem Paranormal

Submission Checklist
Required

[X] The pull request title clearly contains the name of the sheet I am editing.
[X] The pull request title clearly states the type of change I am submitting (New Sheet/New Feature/Bugfix/etc.).
[X] The pull request makes changes to files in only one sub-folder.
[X] The pull request does not contain changes to any json files in the translations folder (translation.json is permitted)

New Sheet Details

The name of this game is: Ordem Paranormal

The publisher of this game is: Jambo

The name of this game system/family is: Ordem Paranormal

[X] I have followed the Character Sheets Standards when building this sheet.

[X] This sheet has been made on behalf of, or by, the game's publisher.
[ ] This game is not a traditionally published game, but a copy of the game rules can be purchased/downloaded/found at: <   >
[ ] This sheet is for an unofficial fan game, modification to an existing game, or a homebrew system.

Changes / Description
Fixing sheet css styling and setting legacy flag as false.

Character Sheet Info Roll20 Internal Use only.


Minor UWP enhancements

Append platform to app title: We have three apps installed as Windows packages: WPF viewer for Store, UWP, and Forms UWP. This PR updates the app manifests to include a label for each to make it clear which one you're looking at.
Collapse tree view when canceling search - matches WPF viewer behavior

@nCastle1 I verified the addition of (UWP) to the native UWP viewer - provides good clarification.
When running the UWP viewer I received an...
Unhandled exception at 0x00007FFA3E5426F0 (Windows.UI.Xaml.dll) in ArcGISRuntime.exe: 0xC000027B: An application-internal exception has occurred (parameters: 0x00000246ACFFDB10, 0x0000000000000002). occurred


question: How to handle conditional html attributes and self closing tags

Hi,
I have a question about tag building. The parser errors on fragments like these:
 <button class="close" type="button" aria-label="Close" data-dismiss="toast"
     if f.DismissAfter > 0 {
          data-delay={ f.DismissAfter.Milliseconds }
     } else {
          data-autohide="false"
     }
  >

  </button>

What is the best approach to tag building or handling optional attributes?
I also get parse errors with html 5 self closing tags like link and img if I don't add closing slashes. Is this intentional behaviour?
Thanks for a very promising looking project!

Great question! There's currently no way to selectively add/remove attributes at render time.
To solve your immediate need, you could implement a custom templ.Component in code that dynamically renders the attributes.
To use it would look like this.
page.templ
package main

templ page(props PageProps) {

		<title>{ props.Title }</title>

			@ToastCloseButton(props.DismissAfter) {

			}

}

main.go
All the code in this example can be put in one file, I've just broken it up to explain it.
In templ, anything that implements the templ.Component interface is a component. So we can implement a RuntimeElement component.
Instead of being compiled down to source code, it chooses which attributes to write out at runtime. The performance of this would be slightly less than doing it at compile time, but still good. I've slipped the many if err != nil checks here and a bit of performance optimisation that the library uses itself, which is to check whether it was passed a bytes.Buffer and use it directly instead of the io.Writer interface.
type RuntimeElement struct {
	Name       string
	Attributes map[string]any
}

func (re RuntimeElement) Render(ctx context.Context, w io.Writer) error {
	io.WriteString(w, "<")
	io.WriteString(w, re.Name)
	if len(re.Attributes) > 0 {
		io.WriteString(w, " ")
		var keys []string
		for k := range re.Attributes {
			keys = append(keys, k)
		}
		sort.Strings(keys)
		for _, k := range keys {
			v := re.Attributes[k]
			io.WriteString(w, html.EscapeString(k))
			io.WriteString(w, "=")
			io.WriteString(w, attributeValue(v))
		}
	}
	io.WriteString(w, ">")
	if c := templ.GetChildren(ctx); c != nil {
		c.Render(ctx, w)
	}
	io.WriteString(w, "</")
	io.WriteString(w, re.Name)
	io.WriteString(w, ">")
	return nil
}

func attributeValue(v any) string {
	switch v := v.(type) {
	case string:
		return fmt.Sprintf("%q", html.EscapeString(v))
	case int:
		return fmt.Sprintf(`"%d"`, v)
	case int32:
		return fmt.Sprintf(`"%d"`, v)
	case int64:
		return fmt.Sprintf(`"%d"`, v)
	case float64:
		return fmt.Sprintf(`"%f"`, v)
	case bool:
		return fmt.Sprintf(`%v`, v)
	default:
		//TODO: You'd want to log this.
		panic(fmt.Sprintf("unsupported attribute value type: %t", v))
	}
}

A ToastClose component can then be defined that uses it.
func ToastCloseButton(dismissAfter time.Duration) templ.Component {
	e := RuntimeElement{
		Name: "button",
		Attributes: map[string]any{
			"class":        "close",
			"type":         "button",
			"aria-label":   "Close",
			"data-dismiss": "toast",
		},
	}
	if dismissAfter > 0 {
		e.Attributes["data-delay"] = dismissAfter.Milliseconds()
	} else {
		e.Attributes["data-autohide"] = "false"
	}
	return e
}

To test what it renders, I put in a test webserver and created PageHandler that calls the page function defined in the templ file.
func main() {
	http.Handle("/", PageHandler{})

	// Start the server.
	fmt.Println("listening on http://localhost:8000")
	http.ListenAndServe("localhost:8000", nil)
}

type PageHandler struct{}

func (ph PageHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
	props := PageProps{Title: "Test example", DismissAfter: time.Second}
	templ.Handler(page(props)).ServeHTTP(w, r)
}

type PageProps struct {
	Title        string
	DismissAfter time.Duration
}

To handle this scenario in the longer term, I could update the templ syntax to allow for a new attribute called attrs which accepts either a string (for compatibility in case someone has ever used an attribute in the past called attrs), or an expression which must return an array of templ.ElementAttribute values to append to the attributes at render time.
func getButtonAttributes(pp PageProps) (attrs []templ.ElementAttributeValue) {
	if pp.DismissAfter > 0 {
		return append(attrs, templ.NewElementAttributeValue("data-delay", pp.DismissAfter.Milliseconds())
	}
        return append(attrs, templ.NewElementAttributeValue("data-autohide", "false")
}

```templ
<button class="close" type="button" attrs={ getButtonAttributes(props) } />

Would love your thoughts on that!

Finally, you asked about the closing / on elements. It is required by templ's parser (same as JSX), but when templ renders HTML, it's aware of the void elements as per the HTML 5 spec and renders them without...
So,  in templ will render .
In the code it's here: https://github.com/a-h/templ/blob/main/generator/generator.go#L727-L732C2 and goes through to https://github.com/a-h/templ/blob/3c693671ddf8c025b7bb70765d3ad5d1804c95a5/parser/v2/types.go#L312-L319

This doesn’t solve the classes issue, but how about a new bit of templ syntax:
<button
    class="close"
    type="button"
    data-delay(pp.DismissAfter > 0)={pp.DismissAfter.Milliseconds()}
    data-autohide(pp.DismissAfter <= 0)="false"
/>

Obviously just a first draft of the syntax, but the gist is that you have somewhere to shove a bool expression.
The issue with this is that if there are multiple attributes driven by the same bool, it could get repetetive.

Hi,
thanks for all the responses.
I'm new to this, but a bit of extra syntax to handle simple cases like in @joerdav's example  seems like a good idea (like what is done with boolean html attributes). More complex cases are probably a smell or can be handled by a component.
More interpolation literals could probably also make the language more expressive? Currently there is only { } and {! }.
Things that come to mind:

{s }: Stringify the output (numbers , bools)
{? }: Only add the output  if it is truthy

These could follow the semantics of the stdlib html/template package.
If your thinking goes more towards pseudo attributes like in @a-h's attrs={ } example above, It's probably a good idea to prefix them with templ- similar to how hotwired and htmx prefix their html attributes?

In terms of more interpolation literals, it could help in this case. However I think in the case of Stringify, it's trivial to stringify in Go, so is clearer I think to just do {fmt.Sprint(myString)}. And in the case of "truthy" that will be tough, because which values in Go are "truthy"?

Thinking about this some more, I think that what you originally wrote might be the best way. It's what you wrote naturally, and assumed would work. Looking at it, I think it should work too.
 <button class="close" type="button" aria-label="Close" data-dismiss="toast"
     if f.DismissAfter > 0 {
          data-delay={ f.DismissAfter.Milliseconds }
     } else {
          data-autohide="false"
     }
  >

  </button>

Just landed a big refactor to the parser at https://github.com/a-h/templ/commit/c009aa0cd2924af90b63800d22dc4b6125675b03, which I wanted to tackle before getting onto this.
It migrates to a new parser library I wrote (https://github.com/a-h/parse) to replace my previous one (https://github.com/a-h/lexical). The new library uses generics which makes the code a lot tidier - the result is that the parser code is about 10% smaller overall, now at 6500 lines of Go code from 7100.
To add this new functionality, I'll need to target the attribute parser to add a new type of attribute (ConditionalAttribute) that looks like the If statement, but only supports having attributes as its children (you can't drop in a HTML node).
It should be a case of updating this code:
https://github.com/a-h/templ/blob/8072edc309853d5adad1fdedb1f0e474701ef56e/parser/v2/elementparser.go#L242-L261
And using a variation of this If parser: https://github.com/a-h/templ/blob/main/parser/v2/ifexpressionparser.go - instead of using the template node parser, it will look for attribute values instead.
Then, I'll need to update the generator to generate code to support that, and check that formatter renders out the changes correctly.
In terms of supporting for and switch statements, variable assignments etc., I don't think that's in scope for this change.

I've added a new parser to this branch https://github.com/a-h/templ/tree/add_conditional_attribute in this commit https://github.com/a-h/templ/commit/c57755bc769a29ffeac923c87d85201e67757047
The commit adds the capability to support if statements in the element attribute set.

The next task is to update the Go code generator to generate if statements in the generated code, and to create tests that test the code that is generated from the templ output.

It wasn't difficult to update the generator to add conditional expression support. I've done that in the add_conditional_attribute branch in https://github.com/a-h/templ/commit/aff6675ecc553b6a9f6addbda8c78995d700b815
@nics - if you care to build that branch and test it, it should be exactly the syntax you initially tried. What do you think?
The next task would be additional testing, and I think the auto-formatting needs a little improvement.


Material Design Tabs

Material Design Tabs using only CSS and Kevin Ball's Mobile Nav Bar.

Hey thanks for this @eli-townsend ... Heads down ... working on something else
But will see it soon!!

Can this be an accordion on mobile @eli-townsend ??
See

http://foundation.zurb.com/sites/docs/responsive-accordion-tabs.html
https://codepen.io/shehab-eltawel/pen/dYwOgX

This file needs to be in Sass/Css typo
https://github.com/eli-townsend/building-blocks/blob/51d973cc07b2c14b09ffe47fbc920f7b6e1be727/src/building-blocks/material-design-tabs/material-design-tabs.scss
Taking this up from here...

Can you elaborate on the focus bug?

Is that what you meant by SASS/CSS typo?

Looks good - merged! Well done @eli-townsend !!


config: Remove the "experimental" label from lease preferences

Part of https://github.com/cockroachdb/docs/issues/2966.


My Science Notification Number - New Tab

If I right click and open a new tab on anything, the My Science notification number pops up and is incorrect. It's showing 3 in the notification and only two items in the list. (It doesn't show up at all if I just click on something normally.)

Can't replicate it anymore, probably fixed as a side effect of the patch for the other notification issue


Fix the result message in test_network.md

Fix the result message on running "./network.sh createChannel"
The result message format has been changed from the change of
test-network/scripts/createChannel.sh in hyperledger/fabric-samples
since
b690d8f Stop using deprecated outputAnchorPeersUpdate in test-network (#394)
Type of change

Documentation update

Description
Fix the result message on running ./network.sh createChannel
The result message format has been changed from the change of
test-network/scripts/createChannel.sh in hyperledger/fabric-samples
since
b690d8f Stop using deprecated outputAnchorPeersUpdate in test-network (#394)
I've run the fabric-samples and have gotten the below log.
Channel 'mychannel' joined

Looks good to me. @justin-themedium can you sign off your commit? use the command git commit --amend -s. Once you sing off, I can merge.

I signed off and re-pushed it


Replace activity with context in Fragment.ctx

I found Fragment.ctx returns activity instead of context. I think returning context is more contextual than returning activity :D

Merged. Thank you!

getContext() in Fragment is available since api 23: https://developer.android.com/reference/android/app/Fragment.html?hl=es#getContext()

@MiguelAngelLV This is a completely valid point, and I overlooked it. Will revert this commit. Thank you!


[Question] Bodies positions.

Hi!
Is there a way to modify a body's position before it is drawn?
e.g (Which do not work)
Events.on(_engine, 'tick', function (event){
  var circle_pos = circle.position;
  circle_pos = {x: circle_pos.x - viewPort.x, y : circle_pos.y - viewPort.y};
});

Where I want to actually do:
context.arc(x - viewPort.x, y - viewPort.y, radius, sAngle, eAngle);

Just wanted to say that I got the camera tracking working well with that snippet you posted. An example here:
http://game.richardson.co.nz/
Thanks for a great library. I'll drop you another line when the game is done :)

Nice! Keep it up.

Looking good, please do :) Check out this codepen I found the other day that's using the engine for a spaceship type game, might be helpful.


PropertyFieldTextWithCallout still persist property value when error

Category

[ ] Enhancement
[x] Bug
[ ] Question

Version
1.14.1
Expected / Desired Behavior / Question
With the PropertyFieldTextWithCallout control, when an error is returned from the onGetErrorMessage callback property after the text has changed, the WebPart property should not get persisted with the invalid value and should keep it's old value, just like the OOTB TextField property pane.
Observed Behavior
When the onGetErrorMessage returns an error because the value is invalid, the WebPart property still persists the invalid value.
Steps to Reproduce
Use the PropertyFieldTextWithCallout, return an error from the the onGetErrorMessage callback and notice how the value still gets persisted.

@spplante - @AJIXuMuK implemented a fix for this and is now available in the latest beta. Feel free to test it out.
More information on how you can install the latest beta can be found here: https://sharepoint.github.io/sp-dev-fx-property-controls/beta/

This has just been released in version 1.15.0.

Just tested this and it works as expected 👍
Thanks!


Continuing the same thread as in issue #6

Continuing the same thread as in #6
Hello, @tfboyd thank you so much for the information, can you also suggest from where you extracted the dataset/macros? because Ariane RISC-V open-source Github link is outdated (According to this https://github.com/riscv-software-src/riscv-tools/issues/333)
Thanks,
Mrinal

Continuing the same thread as in #6
Hello, @tfboyd thank you so much for the information, can you also suggest from where you extracted the dataset/macros? because Ariane RISC-V open-source Github link is outdated (According to this riscv-software-src/riscv-tools#333)
Thanks, Mrinal

Hi Mrinal,
Do you find a solution to transform the verilog to the netlist file ?

Hi Mrinal,
There are a few steps from a Verilog code to a netlist format readable by the project.

Synthesizing the netlist.
Providing the physical information including macro sizes, the macro pin locations (relative to the center of macro), block size, and I/O port locations.
Converting the logical connections and physical information into a special tensorflow.GraphDef protobuffer format[^1].
[Optional] Clustering the standard cell to reduce the runtime and memory footprint.

Internally, we rely on commercial synthesis tool used in production for Step 1 and 2. Step 3 also depends on the tool, and as a result, we can't readily open-source them due to IP and trade secret issues.
We plan to have an open-source script to translate LEF/DEF format which you can get from synthesis tools to tensorflow.GraphDef proto to resolve this problem (see #3).
For Step 4, as mentioned in the paper, we use hMETIS, an open-source graph partitioning tool.
[^1]: The format description is not open-sourced yet (see #12), but you can take a look at environment/test_data/ariane/netlist.pb.txt as an example to figure it out.


Fixes #1333 Error in DB view while analysis DB is changing

Fixes #1333 Error in DB view while analysis DB is changing
Switches to using safe enumeration functions instead of the Path ones.
Fixes EnvironmentList test

👍


Find vulnerability got stucked and get vulnerability return blank yaml

I am trying to find vulnerability and get vulnerability of deployment/nginx.
Getting below error:
bash-4.4# kubectl starboard --kubeconfig admin.conf init
bash-4.4# kubectl --kubeconfig admin.conf get deployment
NAME    READY   UP-TO-DATE   AVAILABLE   AGE
nginx   0/1     1            0           5d20h
bash-4.4#  kubectl starboard --kubeconfig admin.conf get vulnerabilities deployment/nginx --namespace default
error: exit status 1
bash-4.4#  kubectl starboard --kubeconfig admin.conf find vulnerabilities deploy/nginx -n default -v 3
I0825 06:11:09.435023   15858 scanner.go:56] Getting Pod template for workload: {Deployment nginx default}
I0825 06:11:09.458662   15858 scanner.go:71] Scanning with options: {ScanJobTimeout:0s DeleteScanJob:true}
I0825 06:11:09.459671   15858 runner.go:79] Running task and waiting forever
I0825 06:11:09.459876   15858 runnable_job.go:47] Creating runnable job: starboard/e4b32fa7-3a9a-4dae-a05c-f89e1aa32086
I0825 06:11:09.483017   15858 reflector.go:207] Starting reflector *v1.Job (30m0s) from pkg/mod/k8s.io/client-go@v0.19.0-alpha.3/toolscache/reflector.go:156
I0825 06:11:09.483064   15858 reflector.go:243] Listing and watching *v1.Job from pkg/mod/k8s.io/client-go@v0.19.0-alpha.3/tools/cachereflector.go:156
it got stucked in this page.
Environment:

Starboard version (use starboard version): {Version:0.2.6 Commit:d43faefc56021ae55d4574054ce7de13175ca206 Date:2020-07-09T20:30:45Z}

Kubernetes version (use kubectl version): Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.0", GitCommit:"70132b0f130acc0bed193d9ba59dd186f0e634cf", GitTreeState:"clean", BuildDate:"2019-12-07T21:20:10Z", GoVersion:"go1.13.4", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.9", GitCommit:"2e808b7cb054ee242b68e62455323aa783991f03", GitTreeState:"clean", BuildDate:"2020-01-18T23:24:23Z", GoVersion:"go1.12.12", Compiler:"gc", Platform:"linux/amd64"}

OS (macOS 10.15, Windows 10, Ubuntu 19.10 etc):
bash-4.4# cat /etc/alpine-release
3.9.6

Thank you for reporting this issue @ipsita2192 Would you be able to run Starboard with the --delete-scan-job flag set to false?
This might give us more insights into the scan Job that the we schedule behind the scenes:
kubectl starboard --kubeconfig admin.conf get vulnerabilities deployment/nginx \
  --namespace default \
  --delete-scan-job=false

With that could you share the description of the scan Job in the starboard namespace and logs for the corresponding Pod if it was scheduled.

Tried with the above suggested way and getting error: "unknow flag : --delete-scan-job"
bash-4.4# kubectl starboard --kubeconfig admin.conf get vulnerabilities deployment/nginx --namespace default --delete-scan-job=false  error: unknown flag: --delete-scan-job
bash-4.4#
Then describe pods and getting ImagePullBackOff error.
bash-4.4# kubectl --kubeconfig admin.conf get pods
NAME                     READY   STATUS             RESTARTS   AGE
nginx-77776fdcdc-8z9sw   0/1     ImagePullBackOff   0          3d2h

Hey @ipsita2192 I double checked on my end and the --delete-scan-job flag is available in Starboard v0.2.6:
kubectl starboard version
Starboard Version: {Version:0.2.6 Commit:d43faefc56021ae55d4574054ce7de13175ca206 Date:2020-07-09T20:30:45Z}

kubectl starboard find vuln deploy/nginx -v 3 --delete-scan-job=false
I0826 09:36:32.726807    2321 scanner.go:56] Getting Pod template for workload: {Deployment nginx default}
I0826 09:36:32.738025    2321 scanner.go:71] Scanning with options: {ScanJobTimeout:0s DeleteScanJob:false}
I0826 09:36:32.738074    2321 runner.go:79] Running task and waiting forever
I0826 09:36:32.738095    2321 runnable_job.go:47] Creating runnable job: starboard/70791e45-8eb3-4a5c-a29e-981cd9fda090
I0826 09:36:32.745042    2321 reflector.go:207] Starting reflector *v1.Job (30m0s) from pkg/mod/k8s.io/client-go@v0.19.0-alpha.3/tools/cache/reflector.go:156
I0826 09:36:32.745061    2321 reflector.go:243] Listing and watching *v1.Job from pkg/mod/k8s.io/client-go@v0.19.0-alpha.3/tools/cache/reflector.go:156
I0826 09:36:43.485928    2321 runnable_job.go:70] Stopping runnable job on task completion with status: Complete
I0826 09:36:43.485945    2321 runner.go:83] Stopping runner on task completion with error: <nil>
I0826 09:36:43.485952    2321 scanner.go:95] Scan job completed: starboard/70791e45-8eb3-4a5c-a29e-981cd9fda090
I0826 09:36:43.487994    2321 scanner.go:262] Getting logs for nginx container in job: starboard/70791e45-8eb3-4a5c-a29e-981cd9fda090
I0826 09:36:43.740805    2321 scanner.go:85] Skipping scan job deletion: starboard/70791e45-8eb3-4a5c-a29e-981cd9fda090

It seems that image pull has failed in your environment. Could you describe the Pod nginx-77776fdcdc-8z9sw and see why it failed? The find vulnerabilities command runs Trivy which is also trying to pull an image to scan it for vulnerabilities. So we need to figure out why it failed. Also could you confirm which image are you using? Is it nginx:1.16?

Docker was not installed there inside the container. I have created another container with docker installed and execute find Vulnerability, it is running and results is given below
bash-4.4#  kubectl starboard --kubeconfig admin.conf find vulnerabilities deployment/nginx --namespace default -v 3
I0826 10:59:34.773122     647 scanner.go:56] Getting Pod template for workload: {Deployment nginx default}
I0826 10:59:34.790279     647 scanner.go:71] Scanning with options: {ScanJobTimeout:0s DeleteScanJob:true}
I0826 10:59:34.790547     647 runner.go:79] Running task and waiting forever
I0826 10:59:34.790767     647 runnable_job.go:47] Creating runnable job: starboard/2b245ab8-d174-4ab6-8793-7a7cb7c1d7b7
I0826 10:59:34.804626     647 reflector.go:207] Starting reflector *v1.Job (30m0s) from pkg/mod/k8s.io/client-go@v0.19.0-alpha.3/tools/cache/reflector.go:156
I0826 10:59:34.804648     647 reflector.go:243] Listing and watching *v1.Job from pkg/mod/k8s.io/client-go@v0.19.0-alpha.3/tools/cache/reflector.go:156
I0826 11:00:20.585653     647 runnable_job.go:70] Stopping runnable job on task completion with status: Complete
I0826 11:00:20.585696     647 runner.go:83] Stopping runner on task completion with error:
I0826 11:00:20.585707     647 scanner.go:95] Scan job completed: starboard/2b245ab8-d174-4ab6-8793-7a7cb7c1d7b7
I0826 11:00:20.587705     647 scanner.go:262] Getting logs for nginx container in job: starboard/2b245ab8-d174-4ab6-8793-7a7cb7c1d7b7
I0826 11:00:20.764173     647 scanner.go:88] Deleting scan job: starboard/2b245ab8-d174-4ab6-8793-7a7cb7c1d7b7
But while I am executing get vulnerability command it exits with status 1
bash-4.4#  kubectl starboard --kubeconfig admin.conf get vulnerabilities deployment/nginx --namespace default --output yaml
error: exit status 1
Below is the Deployment details:
bash-4.4# kubectl --kubeconfig admin.conf get deployment nginx
NAME    READY   UP-TO-DATE   AVAILABLE   AGE
nginx   1/1     1            1           14m
bash-4.4# kubectl --kubeconfig admin.conf describe deployment nginx
Name:                   nginx
Namespace:              default
CreationTimestamp:      Wed, 26 Aug 2020 10:51:22 +0000
Labels:                 app=nginx
Annotations:            deployment.kubernetes.io/revision: 1
Selector:               app=nginx
Replicas:               1 desired | 1 updated | 1 total | 1 available | 0 unavailable
StrategyType:           RollingUpdate
MinReadySeconds:        0
RollingUpdateStrategy:  25% max unavailable, 25% max surge
Pod Template:
Labels:  app=nginx
Containers:
nginx:
Image:        nginx:1.16
Port:
Host Port:
Environment:
Mounts:
Volumes:
Conditions:
Type           Status  Reason

Available      True    MinimumReplicasAvailable
Progressing    True    NewReplicaSetAvailable
OldReplicaSets:
NewReplicaSet:   nginx-7ff78f74b9 (1/1 replicas created)
Events:
Type    Reason             Age   From                   Message

Normal  ScalingReplicaSet  15m   deployment-controller  Scaled up replica set nginx-7ff78f74b9 to 1

Now I am able to get vulnerability using below command:
kubectl --kubeconfig admin.conf get vulns --selector starboard.resource.kind=Deployment,starboard.resource.name=nginx --namespace default --output yaml

Thank you  @danielpacak .

@ipsita2192 I'm going to close this issue as you get the vulnerability report for you deployment.
However, I opened another issue to follow up on bug in the get vulnerabilities subcommand, see #142


[Issue]:Can TOPAS be accelerated using GPU?

Contact Details
<EMAIL_ADDRESS>What was the issue?
Dear TOPAS administrators，
I would like to know if TOPAS can be accelerated using GPU, thus increasing the simulation speed. If possible, are there any relevant guidelines?
I am looking forward your reply.
Best wish,
Yuri
Version
3.7
What Operative System (OS) are you running on?
No response
Relevant log output
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Attestation

[X] I testify that I have fully read the bug reporting guideline beforehand.

Hi Yuri,
TOPAS works on Geant4. Both systems are made to be very flexible, which makes them not ideal for GPU. There are GPU codes available if you only want to do dose calculations in patients, but i don't think any GPU MC can give you the flexibility that TOAPS can.
I do suggest that you upgrade to the latest OpenTOPAS v4.0 though, both Geant4 and TOPAS have made some speed improvements that will help at least a little bit. And you can use all our latest variance reduction options.


THRIFT-4561: Remove python socket timeout

Client: py
Timeout is already set in HttpClient. The reason for removal is issue
with gunicorn and gevent as described here
https://github.com/benoitc/gunicorn/pull/1616
Tested locally, works as expected

@jfarrell that is an intermittent problem in the lisp solution and we need to engage the original folks who added it to help resolve it.  It looks like lisp writes a temporary file and then cannot find its own file.


Cow: Watch milanogrp.com

Cow requests the watch of the watch_keyword milanogrp\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

milanogrp\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Jeff Schaller in Charcoal HQ


Refactor the Azure blob storage client code, moving it out of the AzureApplicantStorage class

Description
Refactor the azure blob storage class out of the AzureApplicantStorage class.
Rename the base and interface classes to more obvious names.
This code will later be shared between the Applicant storage class and the Public storage class for Azure, so it
needs to live outside of the AzureApplicationStorage class.
This PR makes no changes to the functionality of this code, and all tests pass as they did before.
Manual testing with azurite was also completed.
Checklist
General
Read the full guidelines for PRs here

[X] Added the correct label: < feature | enhancement | bug | under-development | dependencies | infrastructure | ignore-for-release | database >
[X] Assigned to a specific person, civiform/developers, or a more specific round-robin list
[X] Added an additional reviewer from outside your organization as FYI (if the primary reviewer is in the same organization as you)
[X] Removed the release notes section if the title is sufficient for the release notes description, or put more details in that section.
[X] Created unit and/or browser tests which fail without the change (if possible)
[X] Performed manual testing (Chrome and Firefox if it includes front-end changes)
[X] Extended the README / documentation, if necessary. For user-facing features, consider updating the user docs. For "under-the-hood" changes or things more relevant to developers, consider updating the dev wiki.
[X] Ensured PII wasn't added to any new logs, unless it was guarded by isDevOrStaging

@dkatzz need a re-review for changed files


I used your package to load schematics in flying-squid

I managed to use your module to load schematics in flying-squid. Thank you for your work in this package!
(the loader is there https://github.com/rom1504/schematic-to-world fyi)

Not an issue with this project, it's just for information ;) closing.