SSPI not creates subflow

Describe the bug
[Network topology]
(iperf3 -s) <IP_ADDRESS> (A) ---- (B) <IP_ADDRESS>, <IP_ADDRESS> (iperf3 -c)
Machine B has two interfaces and runs iperf3 as a client to generate traffic to machine A.
There is no subflow created by mptcpd.
We also found some unknown messages from mptcpd
Unknown MPTCP_EVENT_SUB_* attribute: 2
Unknown MPTCP_EVENT_SUB_* attribute: 3
Unknown MPTCP_EVENT_SUB_* attribute: 4
Unknown MPTCP_EVENT_SUB_* attribute: 15
To Reproduce
Steps to reproduce the behavior:

echo 1 > /proc/sys/net/mptcp/mptcp_debug; echo netlink > /proc/sys/net/mptcp/mptcp_path_manager
Run mptcpd in machine A and B
./mptcpd --load-plugins=sspi -d --notify-flags=existing,skip_link_local,skip_loopback
Run iperf3 -c <IP_ADDRESS> to generate TCP traffic from B to A
Check the dmesg and can not get any subflow from debug message.

Expected behavior
Expect mptcpd can create a subflow from B to A, but the result is the subflow is not created.
Screenshots
[Machine B] We add some debug message in mptcpd
$ /root/abc/libexec/mptcpd --load-plugins=sspi -d --notify-flags=existing,skip_link_local,skip_loopback
configuration.c:mptcpd_config_create() path manager plugin directory: /root/abc/lib/mptcpd
configuration.c:mptcpd_config_create() default path manager plugin: sspi
configuration.c:mptcpd_config_create() notify flags: existing,skip_link_local,skip_loopback
configuration.c:mptcpd_config_create() plugins to load: sspi
netlink_pm_mptcp_org.c:mptcpd_get_netlink_pm() mptcpd was built with support for the multipath-tcp.org kernel.
path_manager.c:family_appeared() "mptcp" generic netlink family appeared
MPTCP single-subflow-per-interface path manager initialized.
sspi_new_local_address, The new local IP address is: <IP_ADDRESS>, id=1
sspi_new_local_address, The new local IP address is: <IP_ADDRESS>, id=2
sspi_new_local_address, The new local IP address is: <IP_ADDRESS>, id=3
sspi_new_local_address, The new local IP address is: <IP_ADDRESS>, id=4
sspi_new_local_address, The new local IP address is: <IP_ADDRESS>, id=5
sspi_new_local_address, The new local IP address is: <IP_ADDRESS>, id=6
sspi_new_local_address, The new local IP address is: <IP_ADDRESS>, id=7
sspi_new_connection, The local IP address is: <IP_ADDRESS>
sspi_new_connection, The remote IP address is: <IP_ADDRESS>
mptcp_org_add_addr, ret=2
sspi_send_addr, The IP sockaddr is: <IP_ADDRESS>, address_id=7, info->index=20, info->token=4e31945, result=119
sspi_connection_established, The local IP address is: <IP_ADDRESS>, remote IP address is: <IP_ADDRESS>, token is 4e31945
sspi_connection_established is unimplemented.
sspi_new_connection, The local IP address is: <IP_ADDRESS>
sspi_new_connection, The remote IP address is: <IP_ADDRESS>
mptcp_org_add_addr, ret=3
sspi_send_addr, The IP sockaddr is: <IP_ADDRESS>, address_id=7, info->index=20, info->token=53164307, result=-15857316
sspi_connection_established, The local IP address is: <IP_ADDRESS>, remote IP address is: <IP_ADDRESS>, token is 53164307
sspi_connection_established is unimplemented.
Unknown MPTCP_EVENT_SUB_ attribute: 2
Unknown MPTCP_EVENT_SUB_ attribute: 3
Unknown MPTCP_EVENT_SUB_* attribute: 4
Unknown MPTCP_EVENT_SUB_* attribute: 15**
sspi_subflow_closed, The local IP address is: <IP_ADDRESS>
sspi_subflow_closed, The remote IP address is: <IP_ADDRESS>
Closed subflow was not tracked on network interface 20.
sspi_connection_closed
sspi_remove_token
Untracked connection closed.
sspi_connection_closed
sspi_remove_token
[Machine B dmesg]
mptcp_alloc_mpcb: created mpcb with token 0x4e31945
mptcp_add_sock: token 0x4e31945 pi 1, src_addr:<IP_ADDRESS>:55336 dst_addr:<IP_ADDRESS>:9877
mptcp_netlink: mptcp_nl_pm_new_session:279
mptcp_netlink: mptcp_nl_genl_announce:627
mptcp_netlink: mptcp_nl_pm_get_local_id:498
mptcp_netlink: mptcp_nl_genl_announce:672, addr_id=7 [i=0], ifidx=0, ip=<IP_ADDRESS>, token=4e31945
mptcp_netlink: mptcp_nl_pm_addr_signal:538: saddr=<IP_ADDRESS>:55336, daddr=<IP_ADDRESS>:9877,
mptcp_netlink: mptcp_nl_pm_addr_signal:550, loc4_id=7, addr=<IP_ADDRESS>
mptcp_netlink: mptcp_nl_pm_fully_established:372
mptcp_netlink: mptcp_nl_sk_setup_locaddr:324
mptcp_alloc_mpcb: created mpcb with token 0x53164307
mptcp_add_sock: token 0x53164307 pi 1, src_addr:<IP_ADDRESS>:55338 dst_addr:<IP_ADDRESS>:9877
mptcp_netlink: mptcp_nl_pm_new_session:279
mptcp_netlink: mptcp_nl_genl_announce:627
mptcp_netlink: mptcp_nl_pm_get_local_id:498
mptcp_netlink: mptcp_nl_genl_announce:672, addr_id=7 [i=0], ifidx=0, ip=<IP_ADDRESS>, token=53164307
mptcp_netlink: mptcp_nl_pm_addr_signal:538: saddr=<IP_ADDRESS>:55338, daddr=<IP_ADDRESS>:9877,
mptcp_netlink: mptcp_nl_pm_addr_signal:550, loc4_id=7, addr=<IP_ADDRESS>
mptcp_netlink: mptcp_nl_pm_fully_established:372
mptcp_netlink: mptcp_nl_sk_setup_locaddr:324
mptcp_close: Close of meta_sk with tok 0x53164307
mptcp_netlink: mptcp_nl_pm_delete_subflow:410
mptcp_del_sock: Removing subsock tok 0x53164307 pi:1 state 7 is_meta? 0
mptcp_netlink: mptcp_nl_pm_close_session:387
mptcp_sock_destruct destroying meta-sk token 0x53164307
mptcp_close: Close of meta_sk with tok 0x4e31945
mptcp_netlink: mptcp_nl_pm_close_session:387
mptcp_netlink: mptcp_nl_pm_delete_subflow:410
mptcp_del_sock: Removing subsock tok 0x4e31945 pi:1 state 7 is_meta? 0
mptcp_sock_destruct destroying meta-sk token 0x4e31945
[Machine A mptcpd debu log]
$ /root/abc/libexec/mptcpd --load-plugins=sspi -d --notify-flags=existing,skip_l
ink_local,skip_loopback
configuration.c:mptcpd_config_create() path manager plugin directory: /root/abc/lib/mptcpd
configuration.c:mptcpd_config_create() default path manager plugin: sspi
configuration.c:mptcpd_config_create() notify flags: existing,skip_link_local,skip_loopback
configuration.c:mptcpd_config_create() plugins to load: sspi
netlink_pm_mptcp_org.c:mptcpd_get_netlink_pm() mptcpd was built with support for the multipath-tcp.org kernel.
path_manager.c:family_appeared() "mptcp" generic netlink family appeared
MPTCP single-subflow-per-interface path manager initialized.
sspi_new_local_address, The new local IP address is: <IP_ADDRESS>, id=1
sspi_new_local_address, The new local IP address is: <IP_ADDRESS>, id=2
sspi_new_local_address, The new local IP address is: <IP_ADDRESS>, id=3
sspi_new_local_address, The new local IP address is: <IP_ADDRESS>, id=4
sspi_new_connection, The local IP address is: <IP_ADDRESS>
sspi_new_connection, The remote IP address is: <IP_ADDRESS>
Unknown MPTCP_EVENT_ANNOUNCED attribute: 2
sspi_new_address, Get the new IP address from remote is: <IP_ADDRESS>, aid=7, token=e2b89c19
sspi_connection_established, The local IP address is: <IP_ADDRESS>, remote IP address is: <IP_ADDRESS>, token is e2b89c19
sspi_connection_established is unimplemented.
sspi_new_connection, The local IP address is: <IP_ADDRESS>
sspi_new_connection, The remote IP address is: <IP_ADDRESS>
Unknown MPTCP_EVENT_ANNOUNCED attribute: 2
sspi_new_address, Get the new IP address from remote is: <IP_ADDRESS>, aid=7, token=f5a0ea3e
sspi_connection_established, The local IP address is: <IP_ADDRESS>, remote IP address is: <IP_ADDRESS>, token is f5a0ea3e
sspi_connection_established is unimplemented.
sspi_connection_closed
sspi_remove_token
sspi_connection_closed
Untracked connection closed.
[Machine A dmesg]
mptcp_alloc_mpcb: created mpcb with token 0xe2b89c19
mptcp_add_sock: token 0xe2b89c19 pi 1, src_addr:<IP_ADDRESS>:9877 dst_addr:<IP_ADDRESS>:55336
mptcp_netlink: mptcp_nl_pm_new_session:279
mptcp_netlink: mptcp_nl_pm_add_raddr:424, remote new addr: <IP_ADDRESS>, id=7
mptcp_netlink: mptcp_nl_pm_fully_established:372
mptcp_netlink: mptcp_nl_sk_setup_locaddr:324
mptcp_alloc_mpcb: created mpcb with token 0xf5a0ea3e
mptcp_add_sock: token 0xf5a0ea3e pi 1, src_addr:<IP_ADDRESS>:9877 dst_addr:<IP_ADDRESS>:55338
mptcp_netlink: mptcp_nl_pm_new_session:279
mptcp_netlink: mptcp_nl_pm_add_raddr:424, remote new addr: <IP_ADDRESS>, id=7
mptcp_netlink: mptcp_nl_pm_fully_established:372
mptcp_netlink: mptcp_nl_sk_setup_locaddr:324
mptcp_close: Close of meta_sk with tok 0xf5a0ea3e
mptcp_netlink: mptcp_nl_pm_close_session:387
mptcp_netlink: mptcp_nl_pm_delete_subflow:410
mptcp_del_sock: Removing subsock tok 0xf5a0ea3e pi:1 state 7 is_meta? 0
mptcp_sock_destruct destroying meta-sk token 0xf5a0ea3e
mptcp_close: Close of meta_sk with tok 0xe2b89c19
mptcp_netlink: mptcp_nl_pm_close_session:387
mptcp_netlink: mptcp_nl_pm_delete_subflow:410
mptcp_del_sock: Removing subsock tok 0xe2b89c19 pi:1 state 7 is_meta? 0
mptcp_sock_destruct destroying meta-sk token 0xe2b89c19
Desktop (please complete the following information):

Linux Kernel: 5.4
mptcpd version 0.9

Applied -> sspi: Generate and remove MPTCP address ID as needed. #234

Additional context
Switch path manager to fullmesh
echo fullmesh > /proc/sys/net/mptcp/mptcp_path_manager
Repeat the procedure mentioned above.
We can get the subflow created by the kernel path manager.
$ dmesg (machine B)
mptcp_alloc_mpcb: created mpcb with token 0x2adb01f5
mptcp_add_sock: token 0x2adb01f5 pi 1, src_addr:<IP_ADDRESS>:55268 dst_addr:<IP_ADDRESS>:9877
mptcp_add_sock: token 0x2adb01f5 pi 2, src_addr:<IP_ADDRESS>:0 dst_addr:<IP_ADDRESS>:0
__mptcp_init4_subsockets: tokenbb 0x2adb01f5 pi 2 src_addr:<IP_ADDRESS>:0 dst_addr:<IP_ADDRESS>:9877 ifidx: 21 loc4_id:3
mptcp_alloc_mpcb: created mpcb with token 0x1bb8123b
mptcp_add_sock: token 0x1bb8123b pi 1, src_addr:<IP_ADDRESS>:55270 dst_addr:<IP_ADDRESS>:9877
mptcp_add_sock: token 0x1bb8123b pi 2, src_addr:<IP_ADDRESS>:0 dst_addr:<IP_ADDRESS>:0
__mptcp_init4_subsockets: tokenbb 0x1bb8123b pi 2 src_addr:<IP_ADDRESS>:0 dst_addr:<IP_ADDRESS>:9877 ifidx: 21 loc4_id:3
mptcp_close: Close of meta_sk with tok 0x1bb8123b
mptcp_del_sock: Removing subsock tok 0x1bb8123b pi:2 state 7 is_meta? 0
mptcp_del_sock: Removing subsock tok 0x1bb8123b pi:1 state 7 is_meta? 0
mptcp_sock_destruct destroying meta-sk token 0x1bb8123b
mptcp_del_sock: Removing subsock tok 0x2adb01f5 pi:2 state 7 is_meta? 0
mptcp_close: Close of meta_sk with tok 0x2adb01f5
mptcp_del_sock: Removing subsock tok 0x2adb01f5 pi:1 state 7 is_meta? 0
mptcp_sock_destruct destroying meta-sk token 0x2adb01f5

We call the API -> mptcpd_pm_add_subflow() in sspi_connection_established() with hardcode parameters, it seems the subflow can create by the kernel.
[ 2359.305075] mptcp_alloc_mpcb: created mpcb with token 0x96c5c108
[ 2359.305680] mptcp_add_sock: token 0x96c5c108 pi 1, src_addr:<IP_ADDRESS>:44084 dst_addr:<IP_ADDRESS>:9877
[ 2359.327849] mptcp_add_sock: token 0x96c5c108 pi 2, src_addr:<IP_ADDRESS>:0 dst_addr:<IP_ADDRESS>:0
[ 2359.328666] __mptcp_init4_subsockets: tokenbb 0x96c5c108 pi 2 src_addr:<IP_ADDRESS>:0 dst_addr:<IP_ADDRESS>:9877 ifidx: 21 loc4_id:7
[ 2450.596318] mptcp_close: Close of meta_sk with tok 0x96c5c108
[ 2450.607116] mptcp_del_sock: Removing subsock tok 0x96c5c108 pi:2 state 7 is_meta? 0
[ 2450.607127] mptcp_del_sock: Removing subsock tok 0x96c5c108 pi:1 state 7 is_meta? 0
[ 2450.613687] mptcp_sock_destruct destroying meta-sk token 0x96c5c108
We have a question, where is the right place to call the mptcpd_pm_add_subflow() in mptcpd?

Some fixes for the sspi plugin are currently under way.  In particular the MPTCP local address ID generation fixes in PR #234 should help address the problem you describe.

We call the API -> mptcpd_pm_add_subflow() in sspi_connection_established() with hardcode parameters, it seems the subflow can create by the kernel.
...
We have a question, where is the right place to call the mptcpd_pm_add_subflow() in mptcpd?

Doing so after the MPTCP connection is established should be fine. I'll try to reproduce the problem on my end. Thanks for the bug report!

@ossama-othman Thanks for the reply.
Still have some questions to ask.

When the function of sspi_new_subflow be called?
In my understanding, the client requests a subflow to the server, and the server replies ok to establish the subflow, at this moment, the client's mptcpd received MPTCP_EVENT_SUB_ESTABLISHED event from the kernel and then calls the sspi_new_subflow function. Correct me if I'm wrong :)

SSPI (Single Subflow Per Interface)
For example:
A, B, and C, all have only one interface.
Client (A) ------- Server (B)
|------- Server (C)

Case 1: A initiates MPTCP connection to B (token: ABC)
Case 2: A initiates MPTCP connection to C (token: DEF)
Can "Case 1" and "Case 2" both work at the same time or not?
Does SSPI mean Client A only can create a subflow? (A to B, then A to C will fail?)
Thanks :)

Hello @ossama-othman
Have you been able to reproduce the bug from your end? Can you provide any pointer regarding its progress.


[Bug]: New BingoUI is incompatible

Before You Report

[X] My mods and Everest install are up to date.
[X] I have recreated the bug with a minimum number of mods installed.

What platform are you playing on?
Linux
Bug Description
IsaGrabBag does some reflection into BingoUI in order to manipulate its handling of variants. BingoUI is getting an overhaul so this change is now broken and causes celeste to crash whenever you access the variants menu.
Steps to Reproduce
Install/update and enable bingoui and isagrabbag. access the variants menu.
Log Output
(07/10/2023 08:13:25) [Everest] [Info] [LevelLoader] Loading Celeste/3-CelestialResort
(07/10/2023 08:13:25) [Everest] [Warn] [Content] CONFLICT in /home/audrey/games/celeste/Mods/MaxHelpingHand.zip/Graphics/Sprites.xml: Overriding element player_playback.
--------------------------------
Detailed exception log:
--------------------------------
System.TypeLoadException: Could not resolve type with token 010000ab (from typeref, class/assembly BingoSettings, )
  at Celeste.Mod.IsaGrabBag.ForceVariants.get_bingoUIMenuModified () [0x00007] in <0b67429e9b984478a03504b2902346a0>:0
  at Celeste.Mod.IsaGrabBag.ForceVariants.OnVariantMenu (Celeste.TextMenu menu, System.Boolean assist) [0x0005b] in <0b67429e9b984478a03504b2902346a0>:0
  at Celeste.Mod.IsaGrabBag.ForceVariants.Level_VariantMode (On.Celeste.Level+orig_VariantMode orig, Celeste.Level self, System.Int32 returnIndex, System.Boolean minimal) [0x00025] in <0b67429e9b984478a03504b2902346a0>:0
  at (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Hook<Celeste.Level::VariantMode>?-670096500(Celeste.Level,int,bool)
  at Celeste.Level+<>c__DisplayClass149_2.<Pause>b__6 () [0x00042] in <d7b2abb405ec4c97954549f0a02e4a41>:0
  at Celeste.Mod.BingoClient.BingoClient+<>c__DisplayClass33_1.<OnPause>b__1 () [0x00026] in <22530355a42045cbb2b7e063d16eab1c>:0
  at Celeste.TextMenu.orig_Update () [0x000e5] in <d7b2abb405ec4c97954549f0a02e4a41>:0
  at Celeste.TextMenu.Update () [0x00000] in <d7b2abb405ec4c97954549f0a02e4a41>:0
  at (wrapper dynamic-method) Celeste.Level.DMD<Celeste.Level::Update>(Celeste.Level)
  at (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Trampoline<Celeste.Level::Update>?-896883967(Celeste.Level)
  at FrostHelper.TimeBasedClimbBlocker.Level_Update (On.Celeste.Level+orig_Update orig, Celeste.Level self) [0x00000] in <080def64476d4471807bfb74fdd3ab66>:0
  at (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Hook<Celeste.Level::Update>?55337064(Celeste.Level)
  at (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Trampoline<Celeste.Level::Update>?-2079530879(Celeste.Level)
  at Celeste.Mod.MaxHelpingHand.Triggers.ColorGradeFadeTrigger.onLevelUpdate (On.Celeste.Level+orig_Update orig, Celeste.Level self) [0x00006] in <7139e12d4105445a8612e65462398583>:0
  at (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Hook<Celeste.Level::Update>?-75340795(Celeste.Level)
  at (wrapper dynamic-method) Monocle.Engine.DMD<Monocle.Engine::Update>(Monocle.Engine,Microsoft.Xna.Framework.GameTime)
  at Celeste.Celeste.Update (Microsoft.Xna.Framework.GameTime gameTime) [0x00031] in <d7b2abb405ec4c97954549f0a02e4a41>:0
  at Microsoft.Xna.Framework.Game.Tick () [0x00102] in <6eeb4fc8c61b441fb2d2fd16aa9405a2>:0
  at Microsoft.Xna.Framework.Game.RunLoop () [0x00019] in <6eeb4fc8c61b441fb2d2fd16aa9405a2>:0
  at Microsoft.Xna.Framework.Game.Run () [0x00032] in <6eeb4fc8c61b441fb2d2fd16aa9405a2>:0
  at Monocle.Engine.RunWithLogging () [0x00000] in <d7b2abb405ec4c97954549f0a02e4a41>:0
TypeLoadException.TypeName: BingoSettings

Hey, I'm completely unfamiliar with BingoUI, and I don't know how Isa's Grab Bag interacts with it. Could you let me know what's changed in the BingoUI mod that caused this crash? Thanks

@rhelmot can you let me know what the Updated version of BingoUI will be, so I can make it compatible?
Also, I'm assuming the ideal option is specifically replicating the code on BingoUI in both versions, as a result, is it safe to assume that the codebase on Github is up-to-date so it can be replicated --- or if you dont want it functionally replicated, what changes should be made? What I want to ensure is it works "identically" with old version or new version.

BingoClient and BingoUI are two separate projects. BingoUI is private right now but I can share snippets of it as needed, both before and after the diff.

Ah, sorry. Can you share, specifically:
If BingoUI still has a rough equivalent to "HasVariantsExceptGrabless," as that is the only specific thing that IsaGrabBag references.

Yes, those shouldn't have changed. They're bool properties on the BingoSettings class, which is accessible as the static member Settings on the BingoModule class.

@rhelmot can I pass you a test build to confirm it works on your end? I'll dm through Discord if so

It's now in the viv-fixBingoUI branch if you wanna test to confirm it works

I can test it in a few hours but the version of BingoUI on gamebanana is the final one - if it works for you it should work period.


I Made API tool out of highlight.js

I was like you - but the idea of having to manually having to write the code with classes are tedious. So i made a tool out of highlight.js that would remove the dependency of css and js and just only put the finished formated code into the place where i want it
https://highlight-saas.herokuapp.com

I don't see this as an issue directly related to this repo, mostly a way to self advertise @jimmywarting Although, I agree with you, it can be tedious, but this project is pure-CSS for a reason and there are plenty of pure-CSSers out there in the wild. Thank you for your feedback however. Closing as off-topic.


Updated with correction for Ingress TLS spec

Documentation fix for error validating data: expected type array, for field spec.tls, got map; if you choose to ignore these errors, turn validation off with --validate=false

I signed it!

Thanks, LGTM


Startup collor selection with problems

Can we add an option to start with the RGB indicator LED disabled? Also, it shows a black option for color, that doesn't exist in the RGB color wheel. Can this create problems?
Also, the color review are over the color Text

Parhaps its not clear, but the toggle switch will disable the RGB LED at startup.
I am using the default colour selector which doesnt have any options
https://www.home-assistant.io/docs/blueprint/selectors/#rgb-color-selector
What does the LED do when set to [0,0,0]?
Not sure why the test is overlapping for you, its ok here.

I didn't test it, just to be clear, the ideal solution would be an RGB color wheel just like that. Can't we implement the same selector?

yes, that would be nicer, but I didnt find anyway to do that within the configuration yet.

What does the LED do when set to [0,0,0]?

This just turns the LED off.


DOCS-8368 adding additional information on policy properties. Rewriti…

DOCS-8368 adding additional information on policy properties. Rewriting intro paragraphs for SEO optimization.

Closing this PR against https://github.com/mulesoft/docs-anypoint-security/pull/62 which is an updated duplicate


[2.x] Ensure closures are resolved via App in resolveArrayableProperties

This PR resolves a regression in 2.x where shared data closures with arguments could not be resolved. This patch ensures that the closures are resolved using App::call().
e.g.,
Inertia::share('query', fn (Request $request) => $request->query());

I encountered this while trying to upgrade a project to Inertia 2.x. A supporting test has been created to demonstrate further.

This resolves an issue with the gretel breadcrumbs package, could this be merged? @reinink

The problem is that - that closure call should not happen here as it is already happenning in the "resolvePropertyInstances" method, and there it works properly. This bug was added in the following commit: https://github.com/inertiajs/inertia-laravel/commit/141256b2ed1833158852c9d239d00abec8ff4942 and the change for the Response.php file should be reverted I think it was a left-over from some tests

I see that v2.0.0 was released, and the changes in this PR were manually applied in https://github.com/inertiajs/inertia-laravel/commit/75410d7487b3ce9e11d3bddc81f0f7e7c398990e - so I will close this PR as it is officially part of 2.x and no longer relevant!

@JasperTey hey, thanks anyway! 🙏


Add request for my school

Trường đại học kinh tế quốc dân Hà Nội
Hanoi University of Economy

@thuyddt2010 You might miss my previous comment. Please react.

@thuyddt2010 I am sorry, this request remains unanswered for a while. I have to close it without merging. Please reopen and comment if you have an update regarding the aforementioned issue. Thank you for the understanding!


Ensure all Java logging is occurring through SLF4J and Logback

Most of the Java projects in PASS use SLF4J in combination with Logback to handle logging. This task is to ensure that all projects use this common framework and ensure all transitive dependencies do as well. If this isn't done, then some application logging may be lost. Using a consistent framework also ensures that when shipping logs to external services, the logs are found in the expected places and the formatting is consistent.

One option to ensure that no dependencies (including transitive dependencies) use other logging frameworks is to add the maven-enforcer-plugin to the parent pom and use it to ban specific dependencies. For example, see: https://github.com/duracloud/duracloud/blob/develop/pom.xml#L468. This is done in combination with SLF4J's shims (e.g. jcl-over-slf4j and log4j-over-slf4j) to capture logs from other frameworks and route them through SLF4J.

Just a point of interest, looks like similar changes has been made in select PASS projects, the example can be utilized to consolidate implementations in the project POM. Example: https://github.com/eclipse-pass/pass-java-client/blob/main/pom.xml#L366-L382

Adding the maven-enforcer-plugin with "normal" configuration fails in several places due to dependency convergence errors. May disable this check for now to focus on the logging dependencies

Disabling the dependency convergence test for now is fine. Enabling that test is part of #243

repo
PR
notes

[ ]
pass-java-client
https://github.com/eclipse-pass/pass-java-client/pull/176

[ ]
pass-authz

[ ]
pass-fcrepo-module-auth-rbacl

[ ]
pass-messaging-support

[ ]
pass-indexer

[ ]
pass-indexer-checker

[ ]
pass-grant-loader

[ ]
pass-doi-service

[ ]
pass-nihms-loader

[ ]
pass-fcrepo-jsonld

[ ]
pass-journal-loader

[ ]
pass-package-providers

[ ]
pass-fcrepo-jms

[ ]
pass-notification-services

[ ]
pass-deposit-services

❌
modeshape

Forked repo, ignore


Image orientation

This pull request addresses #2.
This is built on my earlier backends refactor branch so the relevant commits are right at the end of the below log.

I'd like to refactor this into its own operation before merging


Multiple Thread and Multiple Core in ESP32?

I couldnt find a way to assign task to core 0  in ESP32 , could i do that with this lib ?

No.
Red the docu:
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/freertos-smp.html

Tks alot man!


Add controlled mode to the component

In many cases, a user of the lib wants to control the state of the tree from outside.
For example, in dashboard, we highlight nodes when navigate by the code.
And on node hover we highlight the code.
This PR allows to do it and at the same time it's still possible to use it in uncontrolled mode. Just throw uast in and that's it.
Please take a look at demo for API example.
Documentation will be written later in separate PR. (first, we need to agree on API, then cover it by tests to be sure there are no problems with proposed API)
But the simplest example is:
import UASTViewer, { transformer } from 'uast-viewer';

function MyComponent() {
  return <UASTViewer uast={transformer(json)} />
}

The highlighting function is untested yet. The PR is relatively big already. I'll do it in separate PR.
P.S. There is also 1 change to the color in css, I copy-pasted a wrong one from dashboard previously.

Also, reconciliation happens for each rendered node. Without redux we don't have free optimization for it. But for now, I don't think we need to optimize it.

All comments are addressed. Merging!


New Users from CGG (still) unable to signup for Campaign via SMS

BUG
Current Behavior

As of 2:49 on December 7th, thanks to Dave's fix -- which, is outlined here:https://trello.com/c/kIvMHGsr/202-unplanned-work-fix-issues-caused-by-celebs-gone-good-users-not-having-drupal-ids -- we're creating phoenix accounts for new users coming from CGG and their ids are appearing in gambit.

Unfortunately, despite having a phoenix id, new users from CGG text INSPIRE (the Say it with the Stars campaign keyword) and receive the mdata error message.

Desired Behavior

The new user from CGG should have texted in INSPIRE and received the campaign signup message.

Steps to Replicate

how can you make it happen every time?

Trying to figure that out...
Why This Matters

They are unable to sign up for the campaign, they have a terrible first experience with the product, they are unable to sign up for future campaigns via SMS, they are less likely to re-engage and think highly of DoSomething.

Relevant Screenshots + Links
Affected users: as of 12/08/16

https://secure.mcommons.com/profiles/211080958
https://secure.mcommons.com/profiles/170790569
https://secure.mcommons.com/profiles/211077472
https://secure.mcommons.com/profiles/211082116
https://secure.mcommons.com/profiles/175881415
https://secure.mcommons.com/profiles/211085566

All of the above users have a phoenix id, which also appears in gambit.

14 users received the error message from 12/7/16 at 2:30pm until 12/8/16 at 4:30pm.

@DFurnes @deadlybutter I am able to confirm that including emojis in your first name does affect users ability to sign up for a campaign via sms.  In the screenshot below you can see emojis including in my first name, right next to >Profiles. After texting INSPIRE I received the error message, which was to be expected.
Since we implemented the fix:

14 users have received an error message (due to emojis + other unknown edge cases)
32 new users from CGG have signed up for a campaign over SMS

I was able to find a Phoenix id listed in gambit (for the profile that has emojis in my first name), but when I searched Phoenix it was nowhere to be found.

From 9:53am EST on 12/8, users were no longer able to text INSPIRE and sign up for Say it with the Stars. (Campaign keyword was changed in campaign mongo doc)
The last successful signup (from new CGG user or otherwise) occurred at 9:47 AM EST

@jamjensen @deadlybutter Does it make sense to close this issue? These errors seem related to existing Northstar/Phoenix accounts, and don't seem like Gambit code changes...

Yeah you can close this


[Bug]: API response from server has string datatype in body

Is there an existing issue for this?

[X] I have searched the existing issues

Description
We saw an issue where Appsmith crashed(handled in client side) for users when they created an API with URL as https://raw.githubusercontent.com/dmfilipenko/timezones.json/master/timezones.json and hit run to it.
This is a server side fix for the issue - #14242
Steps To Reproduce

Create a new API
Enter URL = https://raw.githubusercontent.com/dmfilipenko/timezones.json/master/timezones.json
Hit run.

Public Sample App
https://release.app.appsmith.com/app/dynamically-change-input-text/page1-62729b10bf58a33d4ce4cedb/edit
Version
1.7.1

duplicate: https://github.com/appsmithorg/appsmith/issues/14666


Remove use of "sh" module from diags.py

LGTM.  I'm fine with the UTs being removed for now - I agree that they weren't testing anything useful.


Waltz Working Group : Charming Waltz with Juju - Wed 2nd March 2022 - 9am ET / 2pm UK

Date
Wednesday 2 March 2022 - 9am ET / 2pm UK
Untracked attendees

Name
Firm
Comment

Meeting notices

FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.

All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.

FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact<EMAIL_ADDRESS>with any questions.

FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Agenda

[ ] Convene, roll call, welcome new people (5mins)
[ ] Display FINOS Antitrust Policy summary slide
[ ] Review Meeting Notices (see above)
[ ] Approve previous meeting minutes - https://github.com/finos/waltz/issues?q=is%3Aissue+is%3Aclosed+label%3Ameeting
[ ] Finalising questions and scope for - https://github.com/finos/waltz/issues/5906
[ ] AOB, Q&A & Adjourn (5mins)

WebEx info
Webex:
https://finos.webex.com/finos/j.php?MTID=mc26a32a8ea307d4cac8c2b425cd95b57
Meeting number: 2556 647 8555
Dial-in

US +1-415-655-0003 US Toll
UK +44-20319-88141 UK Toll
Access code: 2556 647 8555

Github Repo: https://github.com/finos/waltz/
Project Microsite: https://waltz.finos.org

Hello 👋🏻

Hi :wave:


Allow some sidebars to be collapsible, but others not.

Motivation
My docs site has several sidebars like https://prismatic.io/docs/getting-started/setting-up that look look best with themeConfig.sidebarCollapsible=false, but other sidebars have gotten rather long, like https://prismatic.io/docs/api/api-overview, and are in need themeConfig.sidebarCollapsible=true.  As of right now that option is all-or-nothing.
I'd like the ability to say "by default, I'd like themeConfig.sidebarCollapsible=false, but for these two sidebars I'd like themeConfig.sidebarCollapsible=true".
This commit allows a user to override themeConfig.sidebarCollapsible for a defined list of sidebars.
Have you read the Contributing Guidelines on pull requests?
yes
Test Plan
I tested this by updating the "community" sidebar to have some headers, and then setting sidebarCollapsibleOverrides: ['community'],. I verified that the docs sidebar was still collapsible, but the community sidebar wasn't.  I then added themeConfig.sidebarCollapsible=false and verified that the inverse was true about the two sidebars.
I also removed both configuration values and verified that docs looked as they did previously, so this doesn't introduce any regressions.
Related PRs
N/A

What do you think of:
module.exports = {
  firstSidebar: [
    {
      type: 'category',
      collapsible: false,
      label: 'Getting Started',
      items: ['greeting'],
    },
    {
      type: 'category',
      collapsible: false,
      label: 'Docusaurus',
      items: ['doc1'],
    },
  ],
  secondSidebar: [
    {
      type: 'category',
      collapsible: true,
      label: 'Getting Started',
      items: ['greeting'],
    },
    {
      type: 'category',
      collapsible: true,
      label: 'Docusaurus',
      items: ['doc1'],
    },
  ],
};

🤦 I should have looked at recent additions.  Looks like #2682 took care of this.

ah yeah ^^ already forgot that feature 🤦


Expired invite

Apologies, one of our developers' invites expired - please could you add sioldham to the bichard7-next-core repo?
Thank you

Hi I have added the user to the repo, they should have an invite now

Thank you - they're in!


String_game Added

🎮 Game Request
The game is a story of a movable string. It will increasing its size by adding with a part of it
Point down the features
Game points
Select program in which you are contributing
hacktoberfest, Other
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @kushaljgec2025 , You can't have another issue before completing the previous one 😀
you already have the following 1 open issues 👀 ! :
#2911

Hey @kushaljgec2025 ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇

Hey @kushaljgec2025! 🙂
It seems like you are not following proper guidelines !! 👀
Read documentation properly !!🙏
If you have any queries reach out to us on Discord🕹 .

Hey @kushaljgec2025 !
Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹


wgpu seems to ignore the wgpu::Limits config from RenderPlugin

Bevy version
13.2
Relevant system information
Windows 11
AdapterInfo { name: "NVIDIA GeForce RTX 3080 Ti Laptop GPU", vendor: 4318, device: 9248, device_type: DiscreteGpu, driver: "", driver_info: "", backend: Dx12 }

What you did
Configure RenderPlugin :
                    render_creation: bevy::render::settings::RenderCreation::Automatic(
                        WgpuSettings {
                            backends: Some( Backends::DX12),
                            limits: wgpu::Limits {
                                max_compute_invocations_per_workgroup: 65535,
                                max_compute_workgroup_size_x: 65535,
                                max_compute_workgroup_size_y: 65535,
                                max_compute_workgroup_size_z: 65535,
                                ..Default::default()
                            }

ran spirv that contains normal amount of invocations
[numthreads(32, 32, 1)]
void GenerateTerrainUtilityTextures(uint3 id : SV_DispatchThreadID){ .... }

What went wrong
What I expected: the invocation limit to dissapere.
What happened: It remained
wgpu error: Validation Error

Caused by:
    In Device::create_compute_pipeline
      note: label = `Terrain Util pipeline`
    Error matching shader requirements against the pipeline
    Shader entry point's workgroup size [32, 32, 1] (1024 total invocations) must be less or equal to the per-dimension limit [1024, 1024, 64] and the total invocation limit 768

As described in wgpu::Device::limits
The limits which can be used on this device.

No better limits can be used, even if the underlying adapter can support them.

That is why you should ask your device what best limit you can use, and don't expect device would process unsupportable limits.
I think you could ask that limits by code like:
fn main() {
    let mut app = App::new();
    app.add_plugins(DefaultPlugins);
    if let Some(render_app) = app.get_sub_app_mut(RenderApp) {
        render_app.add_systems(ExtractSchedule, print_limits);
    };
    app.run();
}

fn print_limits(render_device: Res<RenderDevice>) {
    info!("{:?}", render_device.limits());
}

For example I got
Limits { ...
max_compute_workgroup_storage_size: 49152, max_compute_invocations_per_workgroup: 1024, max_compute_workgroup_size_x: 1024, max_compute_workgroup_size_y: 1024, max_compute_workgroup_size_z: 64, max_compute_workgroups_per_dimension: 65535 }

For your case key value is max_compute_invocations_per_workgroup

Maybe I am misunderstanding, but in every other engine (unity/unreal/various c# engines) on this hardware ive used 32,32,1 its been fine. I guess the question then becomes.. why is it so low for this case? Like, where are these limits from if not the underlying hardware?
I'll try printing it out when I get a few mins.

why is it so low for this case?
I looked at source, looks like it is result from DirectX API call. I can't debug it for you to figure out better because i'm linux user. I hope you will find out and write results of investigation here.


ActionPanel Tests - toggling refresh button

Adding some tests to toggle refreshing on-and-off.
ActionPanel still has a few more eventListener tests to write...
but creating a blue print on what to test should help out.

Coverage increased (+3.3%) to 72.826% when pulling ded95b9a47219d93db15344a5068b3c1a78895d4 on TheIronDeveloper:moarActionPanelTests into 5ef8ad9e7ce2056128c9c3880482f99653768cb2 on OctoShelf:master.

Almost back to 90% .... very slowly..... ...... .....


Update fuchsia README.md

The links to get started and install fuchsia are broken.
This commit updates the links with valid ones.

Thanks for this change!
Now that fuchsia has a documentation side, maybe it's better to just link directly to the fuchsia.dev website:
https://fuchsia.dev/fuchsia-src/get-started
Can you fix the links to make them point to the right website?
Thanks!


Work around Popen.wait's busy wait in gatling

This, at the very end, Popen.wait is a busy wait:
   while p_filled:
        print("LOOP", len(res), file=sys.stderr)
        res.append(p_filled.pop(0).wait())

LOOP prints very slowly 16 times. 100% cpu. If I use poll instead, 0% CPU.
Changing to poll: gatling -m 131072 o4 pyforce sync -f >| /dev/null 30.08s user 74.23s system 59% cpu 2:55.51 total
Before: gatling -m 131072 o4 pyforce sync -f >| /dev/null 164.17s user 97.48s system 132% cpu 3:17.95 total
That's a 12% reduction in wall clock time and a 82% reduction in CPU time.
*** INFO: o4 status /Users/pbergen/blt/app/main/core
Current changelist: 20,877,215

HEAD is 20,951,650 (+74,435)
Checksumming (/usr/local/bin/o4 fstat .@20877215| /usr/local/bin/manifold o4 drop --checksum| /usr/local/bin/o4 keep --case ).
Please be patient...
*** INFO: Satisfied from local cache .o4/20877215.fstat.gz
*** INFO: All files passed the checksum test.
o4 status .  124.02s user 262.59s system 818% cpu 47.236 total

$ time o4 status .
*** INFO: (1/3) Retrieving HEAD changelist for //app/main/core/...
*** INFO: o4 status /Users/pbergen/blt/app/main/core
Current changelist: 20,877,215
  - HEAD is 20,952,826 (+75,611)
Checksumming (/usr/local/bin/o4 fstat -v .@20877215| grep -v ',$' | /usr/local/bin/manifold o4 drop --checksum| /usr/local/bin/o4 keep --case ).
Skipping deleted files.
Please be patient...
Files checked: 693,309
*** INFO: All files passed the checksum test.
o4 status .  103.19s user 251.05s system 871% cpu 40.666 total

Quick option:
$ time o4 status . -q                                                                                (02-19 04:10)
*** INFO: (1/3) Retrieving HEAD changelist for //app/main/core/...
*** INFO: o4 status /Users/pbergen/blt/app/main/core
Current changelist: 20,877,215
  - HEAD is 20,953,480 (+76,265)
Checksumming (/usr/local/bin/o4 fstat -v .@20877215 --changed 16701772| grep -v ',$' | /usr/local/bin/manifold o4 drop --checksum| /usr/local/bin/o4 keep --case ).
Skipping deleted files.
Skipping changes before changelist 16,701,772.
Please be patient...
Files checked: 343,502
*** INFO: All files passed the checksum test.
o4 status . -q  51.36s user 93.06s system 732% cpu 19.714 total


BUG: Message-viewer, sloppy animations / performance caused by React Virtualized

Description

When collapsing or expanding side-bar/drawer animations become sloppy when the message-list width is reduced.
React-vritualized autosizer is causing a repaint of the list for every animation step which in turn makes the animation very sloppy
Same issue happens if the window is resized


GCC 13.1.1 build error (ICE)

My Environment
OS: Fedora 38
Problem:
I am trying to build ArangoDB devel with GCC 13.1.1 (yes, I know, ArangoDB supports an older GCC version but I've tried to use GCC from Fedora 38 official repos). But during the build, I get Internal Compiler Error (ICE): https://pastebin.com/S5V6wvSA (sorry for partially in-Russian compiler errors).
Since it's ICE  - it's not an ArangoDB problem. I am writing this just for history.
Expected result:
ArangoDB should compile successfully.

hm, from what I see there its even a compiler bug?


Add Contact Us form

Describe the feature
Describe the feature
Type of Issue

[x] Bug 🐛
[x] New Feature 🚀
[ ] Documentation 📚

Description Issue
I want like to contribute for contact us form.
Add ScreenShots
@arghadipmanna101 (Please assign me)
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

please assign this task to me

@arghadipmanna101

please assign this task to me

@arghadipmanna101  plz give me gssoc tags

After send me your PR i will check the pr and then i will add levels.

@arghadipmanna101  Could you please provide labels for the issue as well?


TypeError: '>=' not supported between instances of 'float' and 'NoneType'

I'm running notifwd on a 2017 iMac with Catalina
MrMuscle:notifwd mnewman$ ./notifwd.py --api-key [my api-key]

  _   _       _   _ _____             _
 | \ | | ___ | |_(_)  ___|_      ____| |
 |  \| |/ _ \| __| | |_  \ \ /\ / / _` |
 | |\  | (_) | |_| |  _|  \ V  V / (_| |
 |_| \_|\___/ \__|_|_|     \_/\_/ \__,_|

notifwd by Jordan Mann. Starting up... done.
Starting scheduler. Update frequency is 60 seconds...Traceback (most recent call last):
  File "./notifwd.py", line 191, in <module>
    Notification.main(argv)
  File "./notifwd.py", line 96, in main
    raise(e)
  File "./notifwd.py", line 90, in main
    s.run()
  File "/usr/local/Cellar/python/3.7.5/Frameworks/Python.framework/Versions/3.7/lib/python3.7/sched.py", line 151, in run
    action(*argument, **kwargs)
  File "./notifwd.py", line 82, in scheduled_update
    Notification.check()
  File "./notifwd.py", line 147, in check
    while sql_data[0] != Notification.last_id and sql_data[6] >= Notification.last_date:
TypeError: '>=' not supported between instances of 'float' and 'NoneType'

I don't know anything about Python, so all I can do is let you know about the error.

I am testing this by using terminal-notifier to create a system notification:
MrMuscle:~ mnewman$ terminal-notifier -message "this is the messge" -title "this is the title"
But that results in this:
Starting scheduler. Update frequency is 60 seconds...
Sending new notification! There was a notification 0 minutes ago from : —this is the messge (...)
Received unexpected status code 400 Bad Request response:
 <?xml version="1.0" encoding="UTF-8"?>
<prowl>
<error code="400">Missing field: Application is required.</error>
</prowl>

And, one more. It seems to work fine on a 2010 MacBook running High Sierra:
Whitey:~ mnewman$ terminal-notifier -title "This is the title" -message "Here it is"
notifwd by Jordan Mann. Starting up... done.
Starting scheduler. Update frequency is 60 seconds...
Sending new notification! There was a notification 0 minutes ago from terminal-notifier.app: —Here it is (...)

No idea why it works with High Sierra, but not Catalina

It seems that this code is not working in Catalina:
Line 164: this.app = Notification.lookup_display_name(value)
If I stick this in there instead:
this.app = "dummy.app"
There error message goes away and the Prowl notice gets sent:
Sending new notification! There was a notification 0 minutes ago from dummy.app: —this is for you (...)

Not all notifications are created equally, and I think I'm missing a good amount of fallback values. I'll try to fill these in.

It actually looks like I have a fix in my local copy. I'll include it in my next commit.

Thanks for the reply.
I still think it’s odd that it works fine in High Sierra but not Catalina.
Mike
--
www.mgnewman.com

On Dec 5, 2020, at 09:16, Jordan Mann<EMAIL_ADDRESS>wrote:

Not all notifications are created equally, and I think I'm missing a large amount of fallback values. I'll try to fill these in.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Thanks. I’ll look for it.
--
www.mgnewman.com

On Dec 5, 2020, at 10:00, Jordan Mann<EMAIL_ADDRESS>wrote:

It actually looks like I have a fix in my local copy. I'll include it in my next commit.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

can someone explain better the steps for a novice user in order to be able to start this script?

can someone explain better the steps for a novice user in order to be able to start this script?

no help needed, i managed to make it work


[BUG] In some specific situation, system backup auto deleted when creating another one

Describe the bug (🐛 if you encounter this issue)
This is a corner case
While testing system backup volumeBackupPolicy, encountered a strange behavior :  after performing some specific operations, a system backup will be deleted if volume backup not appear in backup store. Create this ticket for tracking.
To Reproduce
Steps to reproduce the behavior:

Create 2 system backup sys-back, sys-back2 with volumeBackupPolicy = always
Wait system backup creation complete
Delete volume backups in backup store
Delete sys-back and recreate again
After sys-back complete, sys-back2 deleted automatically.

Expected behavior
System backup should not be deleted when creating a new 1
Log or Support bundle
supportbundle_4b0bd336-cbd1-4239-bce6-627b23e1c9b2_2023-06-02T03-51-36Z.zip
Environment

Longhorn version: longhorn-manager 663185

Additional context
https://github.com/longhorn/longhorn/issues/5011
Can not reporduce if system backup name does not contain -

It appears that the issue is caused by the bulk deletion of objects with prefix.
ref: https://github.com/longhorn/backupstore/pull/41

It appears that the issue is caused by the bulk deletion of objects with prefix.

Verified pass in longhorn master (longhorn-engine a98afe, backupstore 4cf315)
The symptom in description can not reproduce in master head, in addition, all 3 types of volumeBackupPolicy worked properly as well.

Hi @innobead, I just find that this ticket not backport to v1.5.x and not sure if this is necessary, thank you.

@chriscchien it has been backported to 1.5.0, https://github.com/longhorn/longhorn-engine/pull/908.

Update:

Thanks @chriscchien this is good.

It's good. @c3y1huang also added the e2e test cases.


Admin API to get Loaded Plugins with Version and Priority

Summary
Hi, I think it would be nice to have a list with all plugins available at Kong with the priority and its version.
Somethink like, but at the admin API:
    - name: pre-function
      config:
        access:
          - |
            local kong         = kong
            local singletons   = require "kong.singletons"
            local table_insert = table.insert
            local tostring     = tostring
            local pairs        = pairs

            local handlers = singletons.db.daos.plugins.handlers
            local output   = {}

            for k, v in pairs(handlers) do
              table_insert(output, {
                ["name"]     = k,
                ["priority"] = tostring(v['PRIORITY']),
                ["version"]  = tostring(v['VERSION']),
              })
            end

            kong.response.exit(200, output)

Yes, and perhaps with a list of handlers it implements, like [ "access", "header_filter" ]


Required upgrade of msw to avoid error with recent node versions

First thanks a lot for this! I'm not in prod yet, but looking really great so far.
I've followed the Remix tutorial steps with the azure stack. I could not start my server:
npm run dev
Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './lib' is not defined by "exports" in /home/martin/code/beeo/beeoutstanding-remix/node_modules/headers-polyfill/package.json

After some tests I find that the "root culprit" was the msw package. Upgrading from 0.39 to 0.47 (latest) made it work with npm v17
I can provide a (one line) PR if interested.

Closing as this is related to the legacy Stack.


TemplateNotFound: loopify.html

$ export FLASK_APP=looper.py
$ python3 -m flask run
 * Serving Flask app "looper"
 * Running on http://<IP_ADDRESS>:5000/ (Press CTRL+C to quit)
[2018-05-22 18:30:06,766] ERROR in app: Exception on / [GET]
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1982, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1614, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1517, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/lib/python3/dist-packages/flask/_compat.py", line 33, in reraise
    raise value
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1612, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1598, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/bjorn/Documenten/cfgexplorer/looper.py", line 16, in looper
    return render_template('loopify.html')
  File "/usr/lib/python3/dist-packages/flask/templating.py", line 133, in render_template
    return _render(ctx.app.jinja_env.get_or_select_template(template_name_or_list),
  File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 851, in get_or_select_template
    return self.get_template(template_name_or_list, parent, globals)
  File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 812, in get_template
    return self._load_template(name, self.make_globals(globals))
  File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 774, in _load_template
    cache_key = self.loader.get_source(self, name)[1]
  File "/usr/lib/python3/dist-packages/flask/templating.py", line 57, in get_source
    return self._get_source_fast(environment, template)
  File "/usr/lib/python3/dist-packages/flask/templating.py", line 85, in _get_source_fast
    raise TemplateNotFound(template)
jinja2.exceptions.TemplateNotFound: loopify.html
<IP_ADDRESS> - - [22/May/2018 18:30:06] "GET / HTTP/1.1" 500 -
[2018-05-22 18:30:07,139] ERROR in app: Exception on / [GET]
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1982, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1614, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1517, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/lib/python3/dist-packages/flask/_compat.py", line 33, in reraise
    raise value
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1612, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1598, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/bjorn/Documenten/cfgexplorer/looper.py", line 16, in looper
    return render_template('loopify.html')
  File "/usr/lib/python3/dist-packages/flask/templating.py", line 133, in render_template
    return _render(ctx.app.jinja_env.get_or_select_template(template_name_or_list),
  File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 851, in get_or_select_template
    return self.get_template(template_name_or_list, parent, globals)
  File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 812, in get_template
    return self._load_template(name, self.make_globals(globals))
  File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 774, in _load_template
    cache_key = self.loader.get_source(self, name)[1]
  File "/usr/lib/python3/dist-packages/flask/templating.py", line 57, in get_source
    return self._get_source_fast(environment, template)
  File "/usr/lib/python3/dist-packages/flask/templating.py", line 85, in _get_source_fast
    raise TemplateNotFound(template)
jinja2.exceptions.TemplateNotFound: loopify.html
<IP_ADDRESS> - - [22/May/2018 18:30:07] "GET / HTTP/1.1" 500 -
<IP_ADDRESS> - - [22/May/2018 18:30:07] "GET /favicon.ico HTTP/1.1" 404 -
<IP_ADDRESS> - - [22/May/2018 18:30:07] "GET /favicon.ico HTTP/1.1" 404 -

The URL for CFGExplorer is http://localhost:5000/tracevis/. Could you try this URL?
Currently, the URL http://<IP_ADDRESS>:5000/ or http://<IP_ADDRESS>:5000/ is unused. Thanks.

I have now added the URLs http://localhost:5000/ and http://localhost:5000/cfgexplorer/ for the app. So you can use any of the above three URLs.

It works!


Remember state of collapsible menu under Variables when debugging

Environment data

VS Code version: 1.25.1
Extension version (available under the Extensions sidebar): 2018.7.1
OS and version: Debian 9
Python version (& distribution if applicable, e.g. Anaconda): 2.7.13
Type of virtual environment used: N/A

Actual behavior
the tree under Variables when debugging refreshes and collapses all the tree on every step.
Expected  behavior
keep the trees that I opened open.
Steps to reproduce:

start debugging with a breakpoint set.
extend any variable you want to keep track to.
hit step over or step into.
you've lost track of the tree you have open before.

When debugging at a breakpoint, every time you do "step over" or "step into", variables are reloaded and the state of the tree is lost. It would be great to keep track of that state in order to ease the debugging.
I made an awful gif to illustrate

Duplicate of #645


JSX in function results in Unexpected JSXIdentifier

This code:
const X = x();
<X />

Is correctly minified to:
"use strict";var X=x();React.createElement(X,null);

This code:
const render = () => {
    const X = x();

    return (
        <X />
    );
}

Results with:

Unexpected JSXIdentifier. Expected an Identifier

This occurs in Babel REPL - when I used CLI, I've received minified version of something like this:
const a = () => {  // minified name - OK
    const b = x(); // minified name - OK

    return (
        <X /> // oops!
    );
}

The first one works because it is in the global scope and is not mangled.
I'm not sure why that errors in REPL.
For the last case, consider this workaround for now - use passPerPreset option when using with react preset. Have to debug why mangler skips that path after transforming to React.createElement.

The first one works because it is in the global scope and is not mangled.

Good to know.

For the last case, consider this workaround for now - use passPerPreset=true option when using with react preset. Have to debug why mangler skips that path after transforming to React.createElement.

I'm using babel-preset-babili ("presets": ["babili", ...]) - how can I pass this option?

console.log(require('babel-core').transform(`
const render = () => {
  const Foo = x();
  return <Foo/>;
}`, {
  presets: ['react', 'babili'],
  passPerPreset: true
}).code);

And I get the output
const render = () => {
    const a = x();
    return React.createElement(a, null);
};

OK, maybe I mistyped passPerPreset or something.


[AutoPR azure-kusto/resource-manager] fixing kusto output folder

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/7755

(message created by the CI based on PR content)


MH_LoadEngine error on startup (pre-25th engine)

MetaHookSv shows this error on startup, on pre-25th GoldSrc (on 25th version, it just throws uncompatible engine version error)

Try latest release

Can confirm same error on pre-25 builds with latest version.

Can confirm same error on pre-25 builds with latest version.

What is pre-25 builds? do you mean engine buildnum 8684?

Protocol version 48
Exe version <IP_ADDRESS>/Stdio (cstrike)
Exe build: 19:53:27 Aug  3 2020 (8684)

Fixed in the latest commit.

Thank you ❤

Now it's giving the error on the new engine build. Works fine on legacy one.

Now it's giving the error on the new engine build. Works fine on legacy one.

rip BulletPhysics.dll and CaptionMod.dll off the plugins.lst.


Bug: OTP input field removes remote authentication backends

Bug description
When having the plugin enabled, and using a remote authentication backend (SAML in my case), the buttons to log in with a remote backend disappear, in favor of the OTP code input field.
To Reproduce

Set up a remote authentication backend (OpenID, SAML, Social SSO)
Enable the plugin
Go to the login page

Expected behavior
I should see the login form, with OTP input field, and the remote backends I have enabled
Screenshots
Login page without OTP plugin, but with remote backend:

Login page with OTP plugin and remote backend:

Expected result (mockup):

Version info
Netbox v3.4.2
netbox-otp-plugin latest

Thanks for your report. I have fixed it in the and after the final check I will add it to the new version.


Added Merge Sort in Java

For short term contributors: we understand that getting your commits well
defined like we require is a hard task and takes some learning. If you
look to help without wanting to contribute long term there's no need
for you to learn this. Just drop us a message and we'll take care of brushing
up your stuff for merge!
Fixes #{149}
By submitting this pull request I confirm I've read and complied with the
below declarations.

[ ] I have read the Contribution guidelines and I am confident that my PR reflects them.
[ ] I have followed the commit guidelines for this project.
[ ] My code follows the standard code structure.
[ ] This pull request has a descriptive title. For example, {Tag}: Add {Algorithm/DS name} [{Language}], not Update README.md or Added new code.
[ ] This pull request will be closed if I fail to update it even once in a continuous time span of 7 days.
[ ] This pull request shall only be reviewed and merged once all the checks passes. No maintainer or supporter shall be obliged to review it before this condition is met.
[ ] I have mentioned the issue number correctly (with hyperlink) in this pull request description.

After you submit your pull request, DO NOT click the 'Update Branch' button.

Before opening any PR. Go through contribution guideline for the shake of that organization.

Closing since it was not assigned him.


escape_like_str()

When in my like query I use the escape_like_str() to escape !, _ and % characters but the query gives a wrong result. When I do a like query directly in phpMyAdmin it works perfectly.

But in MySQL this doesn't work, it will search for !! and not give me any results.

I noticed that the escape_like_str() function doesn't add ESCAPE '!' to the query.
The query builder $this->db->like() does this automaticly.
Maybe add this the ESCAPE '!' to the example query?

Adding ESCAPE '!' does solve the problem for % and _
But I can't search for values containing the !
I am still searching for a solution.

You should post your question in the forums, and probably include the actual code you are trying to use and what you expect to receive as output. In most cases, you wouldn't call escape_like_str() directly, or you would only use it for a specific portion of your SQL.

How can I deal with it?

By reading the documentation.


Remove useless warnings

to get rid of annoying deprecation warnings because in case the rhs is an other Nullable instance the constraint is(typeof(this.get == rhs)) triggers the deprecation warning because the rhs implicitly calls deprecated get_ member. This guard constraint prevents the rhs from being an other Nullable instance. No resolution logic change. Just getting rid of useless warning.

Restarting buildkite due to network failures.


Continued: Version abstraction for Gradle

I believe this PR has the last 2 spots in where version numbers are buried in buildSrc.  This PR gathers plugin versions in gradle.properties.

Thanks @binkley


Use custom node-gyp in product build

This PR has to do with Binskim.
Upstream is blocked on a CI failure for https://github.com/nodejs/node-gyp/pull/2825, which is blocked on nodejs/gyp-next requiring another release. Even after upstream merges the PR, we would need to wait for a new version of node-gyp to come out.

Commit 102b347 can be seen at https://github.com/rzhao271/node-gyp/commits/rzhao271/msvs-spectre/

The checkout doesn't work as-is because the user must change which directory they're in before running the checkout command.

I started a CI run to test this PR on a branch called rzhao271/product-build-debug: https://dev.azure.com/monacotools/Monaco/_build?definitionId=111. That branch is the same as this branch, but comments out the Cache task: https://github.com/microsoft/vscode/compare/rzhao271/product-build...rzhao271/product-build-debug

CI build: https://dev.azure.com/monacotools/Monaco/_build/results?buildId=210522
Commit the CI build was run on: 1878358c
Latest commit of this PR: 2f3b279
Comparison to show that the CI build above is valid:
https://github.com/microsoft/vscode/compare/2f3b279c474ffaeb7f55db8102700bcc51c70fd6..1878358c4bf8997f0c26252f7bf735d792a0b057


Create additional info blocks

You can make your resume less official by adding more entertaining info, like your hobbies and interest, or what do you like, some interactive content or joke, easter egg, etc.

At this last step I'm supposed to describe my hobbies and interest and some interactive content.


Inconsistent behavior with Categorical.add_categories

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): OSX 11.6
Modin version (modin.__version__): 0.11.3
Python version: 3.8.11
Code we can use to reproduce:

The following code gives different results between pandas as modin:
import pandas as pd
# import ray
# ray.init()
# import modin.pandas as pd
import uuid

df = pd.DataFrame(
            data=[dict(id=str(uuid.uuid4())) for _ in range(10000)]
        )
df.set_index('id', inplace=True, drop=True)
df['status'] = pd.Series([""]*len(df), dtype="category", index=df.index)
df.status = df.status.cat.add_categories('occupied')
df.loc[list(df.index)[:1000], 'status'] = 'occupied'

print(df)

I use df.status = df.status.cat.add_categories rather than using the inplace param as that is being deprecated in Pandas.
Replace the pandas import is modin and see the following error:
UserWarning: Distributing <class 'list'> object. This may take some time.
UserWarning: Distributing <class 'list'> object. This may take some time.
UserWarning: `Series.<lambda>` defaulting to pandas implementation.
To request implementation, send an email to<EMAIL_ADDRESS>FutureWarning: The `inplace` parameter in pandas.Categorical.add_categories is deprecated and will be removed in a future version. Removing unused categories will always return a new Categorical object.
UserWarning: Distributing <class 'pandas.core.series.Series'> object. This may take some time.
Traceback (most recent call last):
  File "test.py", line 15, in <module>
    print(df)
  File "/Users/chrisgoddard/Code/modin-test/.env/lib/python3.8/site-packages/modin/pandas/base.py", line 3054, in __str__
    return repr(self)
  File "/Users/chrisgoddard/Code/modin-test/.env/lib/python3.8/site-packages/modin/pandas/dataframe.py", line 210, in __repr__
    result = repr(self._build_repr_df(num_rows, num_cols))
  File "/Users/chrisgoddard/Code/modin-test/.env/lib/python3.8/site-packages/modin/pandas/base.py", line 197, in _build_repr_df
    return self.iloc[indexer]._query_compiler.to_pandas()
  File "/Users/chrisgoddard/Code/modin-test/.env/lib/python3.8/site-packages/modin/core/storage_formats/pandas/query_compiler.py", line 255, in to_pandas
    return self._modin_frame.to_pandas()
  File "/Users/chrisgoddard/Code/modin-test/.env/lib/python3.8/site-packages/modin/core/dataframe/pandas/dataframe/dataframe.py", line 2254, in to_pandas
    df = self._partition_mgr_cls.to_pandas(self._partitions)
  File "/Users/chrisgoddard/Code/modin-test/.env/lib/python3.8/site-packages/modin/core/dataframe/pandas/partitioning/partition_manager.py", line 644, in to_pandas
    retrieved_objects = [[obj.to_pandas() for obj in part] for part in partitions]
  File "/Users/chrisgoddard/Code/modin-test/.env/lib/python3.8/site-packages/modin/core/dataframe/pandas/partitioning/partition_manager.py", line 644, in <listcomp>
    retrieved_objects = [[obj.to_pandas() for obj in part] for part in partitions]
  File "/Users/chrisgoddard/Code/modin-test/.env/lib/python3.8/site-packages/modin/core/dataframe/pandas/partitioning/partition_manager.py", line 644, in <listcomp>
    retrieved_objects = [[obj.to_pandas() for obj in part] for part in partitions]
  File "/Users/chrisgoddard/Code/modin-test/.env/lib/python3.8/site-packages/modin/core/execution/ray/implementations/pandas_on_ray/partitioning/partition.py", line 193, in to_pandas
    dataframe = self.get()
  File "/Users/chrisgoddard/Code/modin-test/.env/lib/python3.8/site-packages/modin/core/execution/ray/implementations/pandas_on_ray/partitioning/partition.py", line 75, in get
    return ray.get(self.oid)
  File "/Users/chrisgoddard/Code/modin-test/.env/lib/python3.8/site-packages/ray/_private/client_mode_hook.py", line 105, in wrapper
    return func(*args, **kwargs)
  File "/Users/chrisgoddard/Code/modin-test/.env/lib/python3.8/site-packages/ray/worker.py", line 1625, in get
    raise value.as_instanceof_cause()
ray.exceptions.RayTaskError(ValueError): ray::apply_list_of_funcs() (pid=38681, ip=<IP_ADDRESS>)
  File "/Users/chrisgoddard/Code/modin-test/.env/lib/python3.8/site-packages/modin/core/storage_formats/pandas/query_compiler.py", line 3080, in iloc_mut
    partition.iloc[row_internal_indices, col_internal_indices] = item
  File "/Users/chrisgoddard/Code/modin-test/.env/lib/python3.8/site-packages/pandas/core/indexing.py", line 723, in __setitem__
    iloc._setitem_with_indexer(indexer, value, self.name)
  File "/Users/chrisgoddard/Code/modin-test/.env/lib/python3.8/site-packages/pandas/core/indexing.py", line 1732, in _setitem_with_indexer
    self._setitem_single_block(indexer, value, name)
  File "/Users/chrisgoddard/Code/modin-test/.env/lib/python3.8/site-packages/pandas/core/indexing.py", line 1968, in _setitem_single_block
    self.obj._mgr = self.obj._mgr.setitem(indexer=indexer, value=value)
  File "/Users/chrisgoddard/Code/modin-test/.env/lib/python3.8/site-packages/pandas/core/internals/managers.py", line 355, in setitem
    return self.apply("setitem", indexer=indexer, value=value)
  File "/Users/chrisgoddard/Code/modin-test/.env/lib/python3.8/site-packages/pandas/core/internals/managers.py", line 327, in apply
    applied = getattr(b, f)(**kwargs)
  File "/Users/chrisgoddard/Code/modin-test/.env/lib/python3.8/site-packages/pandas/core/internals/blocks.py", line 1491, in setitem
    self.values[indexer] = value
  File "/Users/chrisgoddard/Code/modin-test/.env/lib/python3.8/site-packages/pandas/core/arrays/_mixins.py", line 182, in __setitem__
    value = self._validate_setitem_value(value)
  File "/Users/chrisgoddard/Code/modin-test/.env/lib/python3.8/site-packages/pandas/core/arrays/categorical.py", line 2044, in _validate_setitem_value
    raise ValueError(
ValueError: Cannot setitem on a Categorical with a new category, set the categories first

During handling of the above exception, another exception occurred:

ray::apply_list_of_funcs() (pid=38681, ip=<IP_ADDRESS>)
  File "/Users/chrisgoddard/Code/modin-test/.env/lib/python3.8/site-packages/modin/core/execution/ray/implementations/pandas_on_ray/partitioning/partition.py", line 484, in apply_list_of_funcs
    partition = func(partition.copy(), *args, **kwargs)
  File "/Users/chrisgoddard/Code/modin-test/.env/lib/python3.8/site-packages/modin/core/storage_formats/pandas/query_compiler.py", line 3080, in iloc_mut
    partition.iloc[row_internal_indices, col_internal_indices] = item
  File "/Users/chrisgoddard/Code/modin-test/.env/lib/python3.8/site-packages/pandas/core/indexing.py", line 723, in __setitem__
    iloc._setitem_with_indexer(indexer, value, self.name)
  File "/Users/chrisgoddard/Code/modin-test/.env/lib/python3.8/site-packages/pandas/core/indexing.py", line 1732, in _setitem_with_indexer
    self._setitem_single_block(indexer, value, name)
  File "/Users/chrisgoddard/Code/modin-test/.env/lib/python3.8/site-packages/pandas/core/indexing.py", line 1968, in _setitem_single_block
    self.obj._mgr = self.obj._mgr.setitem(indexer=indexer, value=value)
  File "/Users/chrisgoddard/Code/modin-test/.env/lib/python3.8/site-packages/pandas/core/internals/managers.py", line 355, in setitem
    return self.apply("setitem", indexer=indexer, value=value)
  File "/Users/chrisgoddard/Code/modin-test/.env/lib/python3.8/site-packages/pandas/core/internals/managers.py", line 327, in apply
    applied = getattr(b, f)(**kwargs)
  File "/Users/chrisgoddard/Code/modin-test/.env/lib/python3.8/site-packages/pandas/core/internals/blocks.py", line 1491, in setitem
    self.values[indexer] = value
  File "/Users/chrisgoddard/Code/modin-test/.env/lib/python3.8/site-packages/pandas/core/arrays/_mixins.py", line 182, in __setitem__
    value = self._validate_setitem_value(value)
  File "/Users/chrisgoddard/Code/modin-test/.env/lib/python3.8/site-packages/pandas/core/arrays/categorical.py", line 2044, in _validate_setitem_value
    raise ValueError(
ValueError: Cannot setitem on a Categorical with a new category, set the categories first

Interestingly, when I run the code below and only update a single row, I don't get the error:
import ray
ray.init()
import modin.pandas as pd
import uuid

df = pd.DataFrame(
            data=[dict(id=str(uuid.uuid4())) for _ in range(10000)]
        )
df.set_index('id', inplace=True, drop=True)
df['status'] = pd.Series([""]*len(df), dtype="category", index=df.index)
df.status = df.status.cat.add_categories('occupied')
df.loc[list(df.index)[:1], 'status'] = 'occupied'

print(df)

Also, there error doesn't occur when the categorical value is set (df.loc... = 'occupied') - but when the dataframe itself is printed
Appreciate any help you can provide!

Thanks @chrisgoddard for the report!
The updated category does not appear to be propagating in the first case. We'll get someone on this, thanks for the detailed report!
There's also probably a simple workaround, will get that to you so you don't have to wait for the release. Thanks again!

Thanks @devin-petersohn - for now I implemented by own simple workaround using an int-type and my own lookup dictionary but it's not ideal so any other workaround suggestions would be appreciated!

I looked at this for a while and made some progress, but I still don't see how to fix the bug. It turns out that the problem is not with add_categories, as this pair of minimal examples shows:
import modin.pandas as pd
df = pd.DataFrame({"status": ["a", "b", "c"]},  dtype="category")
df.loc[:1, "status"] = "a"
df

in Modin fails with the error ValueError: Cannot setitem on a Categorical with a new category, set the categories first
but in Pandas:
import pandas as pd
df = pd.DataFrame({"status": ["a", "b", "c"]},  dtype="category")
df.loc[:1, "status"] = "a"
df

the assignment works fine. Looking deeper into the Modin code, the assigned "a" gets converted to two-dimensional array here. Each partition uses iloc to set values on a single pandas dataframe here. For the Modin example above, the row indices are array([0, 1]), the column indices are array([0]), and the item is array([['a'], ['a']], dtype='<U1'), where for all variables array is numpy.ndarray. We can verify that that iloc should fail with the same error:
import pandas as pd
from numpy import array
df = pd.DataFrame({"status": ["a", "b", "c"]},  dtype="category")
df.iloc[array([0, 1]), array([0])] = array([['a'], ['a']])

This last error could be a bug in pandas. Note that if I just add another column to the dataframe, it works:
import pandas as pd
from numpy import array
df = pd.DataFrame({"status": ["a", "b", "c"], "status2": ["d", "e", "f"]},  dtype="category")
df.iloc[array([0, 1]), array([0])] = array([['a'], ['a']])

If this is not a Pandas bug, we need to assign values with something other than iloc in __setitem__. I filed https://github.com/pandas-dev/pandas/issues/44703 with Pandas for now.

Thank you! Should I just install from git or will pip be updated too?

I think we are planning to backport this to 0.12.0 and release in 0.12.1, probably this week or next depending on a few other critical bugfixes. To use immediately installing from git is definitely the way to go!


Allow forks to build their own launchers

This allows forks (like mine) to build launchers and push them to a GitHub release named nightly of their own (like here). This works automatically by having the fork just enable GitHub actions for the main branch, if they create a release with a tag named nightly (the actual commit of this release is unused and doesn't matter).
I'm planning to use this to automatically build launchers of https://github.com/VirtusLab/scala-cli/pull/926 until it's merged, but also for ongoing / upcoming developments on top of this. Having these launchers there allows to use them straightaway on other projects' CI, to test newer publish command features before they're merged here.

In the future, we could extend the LauncherCLI functionality so that it can run the scala-cli launcher from forks.


feat: convert HeadersClient BodiesClient futures into associated types

Closes #940

Codecov Report

Merging #1063 (d91a6af) into main (71dc531) will increase coverage by 0.07%.
The diff coverage is 82.79%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main    #1063      +/-   ##
==========================================
+ Coverage   75.12%   75.20%   +0.07%
==========================================
  Files         313      313
  Lines       34288    34338      +50
==========================================
+ Hits        25759    25824      +65
+ Misses       8529     8514      -15

Flag
Coverage Δ

unit-tests
75.20% <82.79%> (+0.07%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

bin/reth/src/p2p/mod.rs
0.00% <0.00%> (ø)

crates/interfaces/src/test_utils/bodies.rs
0.00% <0.00%> (ø)

crates/net/downloaders/src/bodies/queue.rs
89.28% <ø> (ø)

crates/stages/src/stages/bodies.rs
92.95% <0.00%> (-0.02%)
:arrow_down:

crates/net/downloaders/src/headers/linear.rs
75.78% <75.00%> (-1.74%)
:arrow_down:

crates/net/downloaders/src/bodies/request.rs
81.59% <80.00%> (-0.28%)
:arrow_down:

crates/net/network/src/fetch/client.rs
72.72% <87.50%> (+0.72%)
:arrow_up:

crates/interfaces/src/test_utils/headers.rs
75.40% <90.00%> (+0.84%)
:arrow_up:

crates/interfaces/src/p2p/bodies/client.rs
75.00% <100.00%> (ø)

crates/interfaces/src/p2p/headers/client.rs
80.00% <100.00%> (ø)

... and 13 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Please include SAP Fiori in the feed generator

Topic details

Name: SAP Fiori
URL: https://community.sap.com/t5/c-khhcw49343/SAP+Fiori/pd-p/73554900100700000977
URL: https://pages.community.sap.com/topics/fiori

already available


Expire token cookie in addition to deleting the value

After the server invalidates the session token, it should expire it to indicate to the client that the client should be deleted. Otherwise, the client keeps sending an invalid value of 'deleted' as the session token, which just creates noise.

Thanks for the contribution!  I think we need to actually be setting max-age instead:
https://pkg.go.dev/net/http#ConnState.String

Thanks for the contribution! I think we need to actually be setting max-age instead:

@abraithwaite - Ah, true, that's cleaner. Fixed!

Thanks for the fix!


Feature/add preserve trailing slash option

A similar approach to PR #27, but using a preserveTrailingSlash endpoint option to be able to control the slash replacement logic.
Previously a path of /my/path/ would ultimately be requested as /my/path.
This is still the default behavior, but now using the preserveTrailingSlash option the trailing slash will be preserved.

Should be solved with commit 12485d773d44339d29ae4a5294e2b0f892a50b96


Error retrieving history from Sonarr

First of all, thank you for creating putioarr!! It was the missing piece for my near-perfect local setup.
My setup is the usual: I'm using Sonarr to track series, putioarr to download and then Sonarr to move the download to their final place.
It all works like a charm with two minor issues:

putioarr's log is full of the following error message, consistently over multiple days and downloads:
[ERROR] Error retrieving history form Sonarr: error decoding response body: expected value at line 1 column 1
There's no more context, every couple of seconds the same error appears.

(might be related!) while Sonarr copies the downloaded files to their final destination, putioarr is not deleting the already copied files from its download location - could be because it wasn't able to fetch history, and thus is doesn't know that Sonarr finished copying?

A bigger sample log section:
Jan 12 17:44:31 milim putioarr[424571]: [INFO ] Active transfers: 2 Jan 12 17:44:31 milim putioarr[424571]: [INFO ]   [948d: [New-raws] Nozomanu Fushi no Boukensha - 02 [1080p] [NF].mkv] Jan 12 17:44:31 milim putioarr[424571]: [INFO ]   [5200: [New-raws] Sousou no Frieren - 18 [1080p] [AMZN].mkv] Jan 12 17:44:32 milim putioarr[424571]: [ERROR] Error retrieving history form Sonarr: error decoding response body: expected value at line 1 column 1 Jan 12 17:44:34 milim putioarr[424571]: [ERROR] Error retrieving history form Sonarr: error decoding response body: expected value at line 1 column 1 Jan 12 17:44:38 milim putioarr[424571]: [ERROR] Error retrieving history form Sonarr: error decoding response body: expected value at line 1 column 1 Jan 12 17:44:40 milim putioarr[424571]: [ERROR] Error retrieving history form Sonarr: error decoding response body: expected value at line 1 column 1 Jan 12 17:44:41 milim putioarr[424571]: [ERROR] Error retrieving history form Sonarr: error decoding response body: expected value at line 1 column 1 Jan 12 17:44:42 milim putioarr[424571]: [ERROR] Error retrieving history form Sonarr: error decoding response body: expected value at line 1 column 1 Jan 12 17:44:44 milim putioarr[424571]: [ERROR] Error retrieving history form Sonarr: error decoding response body: expected value at line 1 column 1 Jan 12 17:44:48 milim putioarr[424571]: [ERROR] Error retrieving history form Sonarr: error decoding response body: expected value at line 1 column 1 Jan 12 17:44:50 milim putioarr[424571]: [ERROR] Error retrieving history form Sonarr: error decoding response body: expected value at line 1 column 1 Jan 12 17:44:51 milim putioarr[424571]: [ERROR] Error retrieving history form Sonarr: error decoding response body: expected value at line 1 column 1 Jan 12 17:44:52 milim putioarr[424571]: [ERROR] Error retrieving history form Sonarr: error decoding response body: expected value at line 1 column 1 Jan 12 17:44:54 milim putioarr[424571]: [ERROR] Error retrieving history form Sonarr: error decoding response body: expected value at line 1 column 1 Jan 12 17:44:58 milim putioarr[424571]: [ERROR] Error retrieving history form Sonarr: error decoding response body: expected value at line 1 column 1 Jan 12 17:45:00 milim putioarr[424571]: [ERROR] Error retrieving history form Sonarr: error decoding response body: expected value at line 1 column 1 Jan 12 17:45:01 milim putioarr[424571]: [ERROR] Error retrieving history form Sonarr: error decoding response body: expected value at line 1 column 1 Jan 12 17:45:02 milim putioarr[424571]: [ERROR] Error retrieving history form Sonarr: error decoding response body: expected value at line 1 column 1 Jan 12 17:45:04 milim putioarr[424571]: [ERROR] Error retrieving history form Sonarr: error decoding response body: expected value at line 1 column 1 Jan 12 17:45:08 milim putioarr[424571]: [ERROR] Error retrieving history form Sonarr: error decoding response body: expected value at line 1 column 1 Jan 12 17:45:10 milim putioarr[424571]: [ERROR] Error retrieving history form Sonarr: error decoding response body: expected value at line 1 column 1 Jan 12 17:45:11 milim putioarr[424571]: [ERROR] Error retrieving history form Sonarr: error decoding response body: expected value at line 1 column 1 Jan 12 17:45:12 milim putioarr[424571]: [ERROR] Error retrieving history form Sonarr: error decoding response body: expected value at line 1 column 1 Jan 12 17:45:14 milim putioarr[424571]: [ERROR] Error retrieving history form Sonarr: error decoding response body: expected value at line 1 column 1 Jan 12 17:45:18 milim putioarr[424571]: [ERROR] Error retrieving history form Sonarr: error decoding response body: expected value at line 1 column 1 Jan 12 17:45:20 milim putioarr[424571]: [ERROR] Error retrieving history form Sonarr: error decoding response body: expected value at line 1 column 1 Jan 12 17:45:21 milim putioarr[424571]: [ERROR] Error retrieving history form Sonarr: error decoding response body: expected value at line 1 column 1 Jan 12 17:45:22 milim putioarr[424571]: [ERROR] Error retrieving history form Sonarr: error decoding response body: expected value at line 1 column 1 Jan 12 17:45:24 milim putioarr[424571]: [ERROR] Error retrieving history form Sonarr: error decoding response body: expected value at line 1 column 1 Jan 12 17:45:28 milim putioarr[424571]: [ERROR] Error retrieving history form Sonarr: error decoding response body: expected value at line 1 column 1 Jan 12 17:45:30 milim putioarr[424571]: [ERROR] Error retrieving history form Sonarr: error decoding response body: expected value at line 1 column 1 Jan 12 17:45:31 milim putioarr[424571]: [ERROR] Error retrieving history form Sonarr: error decoding response body: expected value at line 1 column 1

The error is indeed related. Putioarr check sonarr if the media was imported. Can you share you config? My guess is that your sonarr url or API key are incorrect.

Sure thing!
# Required. Username and password that sonarr/radarr use to connect to the proxy
username = "myusername"
password = "mypassword"

# Required. Directory where the proxy will download files to. This directory has to be readable by
# sonarr/radarr in order to import downloads
download_directory = "/mnt/internal_ssd/incoming/putioarr"

# Optional bind address, default "<IP_ADDRESS>"
bind_address = "<IP_ADDRESS>"

# Optional TCP port, default 9091
port = 9091

# Optional log level, default "info"
loglevel = "info"

# Optional UID, default 1000. Change the owner of the downloaded files to this UID. Requires root.
uid = 117

# Optional polling interval in secs, default 10.
polling_interval = 10

# Optional skip directories when downloding, default ["sample", "extras"]
skip_directories = ["sample", "extras"]

# Optional number of orchestration workers, default 10. Unless there are many changes coming from
# put.io, you shouldn't have to touch this number. 10 is already overkill.
orchestration_workers = 10

# Optional number of download workers, default 4. This controls how many downloads we run in parallel.
download_workers = 4

[putio]
# Required. Putio API key. You can generate one using `putioarr get-token`
api_key =  "<redacted>"

# Both [sonarr] and [radarr] are optional, but you'll need at least one of them
[sonarr]
url = "http://<IP_ADDRESS>:8989/"
# Can be found in Settings -> General
api_key = "<redacted>"

Sonarr is indeed accessible at http://<IP_ADDRESS>:8989/ - everything's running on the same single server.

Do you happen to use a baseUrl in sonarr? What's the output of curl -v http://<IP_ADDRESS>:8989/? What happens if you remove the last slash from the url?

No, sonarr is listening at the root:
* processing: http://<IP_ADDRESS>:8989/
*   Trying <IP_ADDRESS>:8989...
* Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 8989
> GET / HTTP/1.1
> Host: <IP_ADDRESS>:8989
> User-Agent: curl/8.2.1
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Length: 1833
< Content-Type: text/html
< Date: Sat, 13 Jan 2024 07:39:54 GMT
< Server: Kestrel
< Cache-Control: no-cache, no-store
< Expires: -1
< Pragma: no-cache
<
<!doctype html><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="theme-color" content="#3a3f51"/><meta name="msapplication-navbutton-color" content="#3a3f51"/><meta name="description" content="Sonarr"/><link rel="apple-touch-icon" sizes="180x180" href="/Content/Images/Icons/apple-touch-icon.png?h=d+iS4xWxn2A2bjUwrERmSg"/><link rel="icon" type="image/png" sizes="32x32" href="/Content/Images/Icons/favicon-32x32.png?h=s64FHSxrh1sgZCiBBIVikQ"/><link rel="icon" type="image/png" sizes="16x16" href="/Content/Images/Icons/favicon-16x16.png?h=wksVbPqhKGB2B5P0O0h8IQ"/><link rel="manifest" href="/Content/Images/Icons/manifest.json?h=/5qJyrGdXNWB0rzU5fobuA" crossorigin="use-credentials"/><link rel="mask-icon" href="/Content/Images/Icons/safari-pinned-tab.svg?h=LLFuxx74TMIn3Vx2ai6a1A" color="#00ccff"/><link rel="shortcut icon" type="image/ico" href="/favicon.ico"/><meta name="msapplication-config" content="/Content/Images/Icons/browserconfig.xml"/><link rel="stylesheet" href="/Content/Fonts/fonts.css?h=mBv1x1/yHnvphLclzeQIBA"><link href="/Content/styles.css?h=VAwjWra8YBWH8JiyE7JFDA" rel="stylesheet"><title>Sonarr</title>

⏎

I've removed the trailing slash in the config, will check back once there was a download - thanks for the tips!

Ok, that was it - removing the trailing slash from  [sonarr] url fixed it. No more errors and imported downloads get removed from putioarr's incoming folder too. Maybe it's a good idea to make this explicit in the sample config file or the readme.
Thanks for your help!!


Skip duplicate values and continue insert Postgres

System information:

DBeaver version: <IP_ADDRESS>207091909
PostgreSQL version: PostgreSQL 9.2.24 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44), 64-bit

When importing a csv, it does not allow me to ignore the duplicates and insert the data that is not in my table, I try the ignore option but nevertheless it does not insert any value

Hello @maritogaleano
Data file example will be beneficial.
Also, did you try using the option "Ignore duplicate values"?

If I try to use the option, but it doesn't give me the option to enable it, how do I enable it?

Regarding the data, this would be an example which I want to migrate to the table called "clients", in the csv file I have a value which I want to migrate to the table in which said value does not yet exist
(Those marked in red already exist in the table, however the value marked in yellow does not yet)

Hello @maritogaleano,
You have to disable batches.

there has been no update on the issue for a long time.
If the issue is still reproducible for you - feel free to reopen it with additional info.


\back doesn't work "No location found to go back to"

i've put both permission for back and back ondeath but still doesn't work in any conditions.
i'm using the latest UltimateCore, other plugins that i use are redprotect, luckperms, economylite, and flexibleLogin.
spongeforge 5.2.0 beta 2264

i'm sorry i typo'd the spongeforge version, its spongeforge 5.2.0 BETA build 2272 for forge 2254

I will make a fix for this issue this weekend


Don't require cdylib crate-type for testing

The cdylib crate type output isn't actually necessary for the
wasm-pack test stage because wasm-bindgen isn't run over a wasm
file. This commit removes the checks during wasm-pack test that the
cdylib crate type is configured.

I just came here to open this issue since it was preventing me from migrating to wasm-pack test... sweet! Will wait for 0.6.0!


docs(MAINTAINERS): remove "initial" then alphabetize

Signed-off-by: Lloyd Chang<EMAIL_ADDRESS>

Relates to https://github.com/gitops-working-group/gitops-working-group/pull/136

Awesome, thanks @lloydchang !


[Array] update contents in syntax and mutating section

Hi. It's me. 😄
I add contents in a syntax, mutating section with less description and more code.
And I use swift 3.0 API in the sample code.
I think that we'll need to check all of sample codes and concepts for swift 3.0 API.
Welcome to your reviews

Very happy with the content. Merging. Well done as always ✋


Integration tests: Test on all connected platforms.

This PR adds the ability to run integration tests on all connected platforms (RVC2, RVC4). If there are multiple RVC2 devices connected it will only select one.
Additionally, there was a bug in ImageOutputParser because we were setting the attribute transformation of the dai.ImgFrame which doesn't have this attribute - fixing it with the method setTransformations(). Hopefully, this bugs will be catched now:)
Lastly, we updated the CI workflows for E2E and integration tests with the option to specify which depthai version we want - the specified version will then be installed in the testbed server before the tests run.
Successful CI run for integration tests is HERE. It took 10 minutes.

Codecov Report
Attention: Patch coverage is 0% with 2 lines in your changes missing coverage. Please review.

Project coverage is 33.30%. Comparing base (37a2d92) to head (d669ea2).
Report is 17 commits behind head on main.

:white_check_mark: All tests successful. No failed tests found.

Files with missing lines
Patch %
Lines

depthai_nodes/ml/parsers/image_output.py
0.00%
2 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #146      +/-   ##
==========================================
- Coverage   33.40%   33.30%   -0.10%
==========================================
  Files          68       69       +1
  Lines        3739     3837      +98
==========================================
+ Hits         1249     1278      +29
- Misses       2490     2559      +69

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Smart lazy-loading when opening a file on startup.

When I open my configuration when opening a file during startup there's a significant lag time. It infiriates me.

One possible solution is using the VeryLazy event.

Maybe Neovim is waiting for some stuff to load?

I'll try to use VeryLazy in contrast to the BufReadPost events.

#59 Doesn't completely resolve the issue. So I'll keep this open.

Sadly, using the VeryLazy event doesn't work for LSPConfig. (since it won't attach.)

Alright, I'm going the hard route - Manual lazy loading.
This is going to be a pain 😢

#63 I'm in pain rn

#66 :(

#70


visionOS support

Hello, will Rive support visionOS anytime soon?

Is there any update on this?

visionOS support is now available, also with the addition of tvOS.


evil loop because the phone service can't make a real connection.

had an evil loop happen...  we need too test how the system mis-behaves when the persons number "is not taking calls right now". its like it does not really make the full connection and therefore does bad stuff.   This is the tricky number to try out.<PHONE_NUMBER>

Boom. Goner for good.

Closed in https://github.com/CrisisCleanup/crisiscleanup-3-api/commit/17c138c37c39a304cae906f71d91e4c66a223b88