WebHook call not received when a change is made to subscription in Azure SaaS Dashboard

I am having an issue where the (Azure Marketplace) WebHook I created never receives a notification from the Azure Marketplace. I have followed the patterns in the docs and can hit the webhook API's with Postman and monitor the WebHook in the Azure Logs. The WebHook is an Azure SaaS service. I have opened a case with Microsoft Partner Center but they cannot seem to provide any answers. This is the last item I need to complete before submitting my offer for certification. I can provision and activate a test subscription from the Landing Page but when I make changes in the Azure SaaS Dashboard, no webhook call occurs. I figure it is either: 1) blocked at the network level (don't think so as it is public); 2) Saas service is not in a correct state to send WebHook messages (I can activate a test subscription); 3) Issue with endpoint (I have tired several as the docs and online postings have several variations) and I don't see any attempts to any endpoint - generally a bad endpoint shows a 404 in the logs. So the most likely is item 2 unless I am totally missing something.

Where would I find the incident number?
I believe I has resolved this issue.
I do have  a follow on question: I would like to have the Fulfillment Landing Page and the Fulfillment WebHook to be distinct applications to preserve "Seperation of concerns". Can that be done? the SaaS Accelerator show both built into a single service.
Thanks!
Stephen (Steve) Wheeler | Wheeler
Technologies, Inc.
President
Phone:
813.818.4406 (office)
Phone:
954.612.5197 (mobile)
Email:  @.***

"Certified Service Disabled Veteran Owned Small Business"

PLEASE
READ: The material contained in this email is confidential and solely for the
use of the intended recipient. Please do not forward this email to others without
permissions. All email sent to or from this address will be recorded and
archived by Wheeler Technologies, Inc. (WTI) corporate email system and is
subject to archival, monitoring or review by, and/or disclosure to, someone
other than the recipient. WTI's privacy policy can be found at https://www.wheelertech.us/privacy

WARNING:
For your own protection, avoid sending identifying information such as social
security or account numbers to us, or others via email.

From: vijayalakshmiViswanathan @.***>
Sent: Tuesday, April 30, 2024 2:14 PM
To: Azure/Commercial-Marketplace-SaaS-Accelerator
Cc: Stephen Wheeler; Author
Subject: Re: [Azure/Commercial-Marketplace-SaaS-Accelerator] WebHook call not received when a change is made to subscription in Azure SaaS Dashboard (Issue #692)
Could you please share the incident number?
—
Reply to this email directly, view it on GitHubhttps://github.com/Azure/Commercial-Marketplace-SaaS-Accelerator/issues/692#issuecomment-2086376821, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AKAG52YQFDWALJDVD5NZPXDY77NRDAVCNFSM6AAAAABGQQBBM2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOBWGM3TMOBSGE.
You are receiving this because you authored the thread.Message ID: @.***>

Hi @BayScallop That is true, both are in the same app. You can absolutely separate it but that would be your custom implementation..

Yes, I prefer to separate the 2 distinct functions into a WebHook API and a LandingPage UX, each having a distinct App Id in Entra App Registrations.
In the Technical Configuration for offers, there is a place for a TenantId and an Application Id.
Would the Application Id be for the WekHook App Id or the Landing Page Id? Or can you have multiple App Id's?
The trouble I was having was that I was not getting calls on my WebHook API when I made changes to a test subscription.
I wondered if they could be separate since the SaaS Accelerator they are in a single App.
I now suspect that the problem I had was due to a bad URL and not the fact the Web Hook and Landing Page were each distinct apps.
So, the App Id in the Tech configuration page is that for the Web Hook or the Landing Page? Can you have multiple App Id's?
I suspect the App Id is used for token generation but both the Web Hook and the Landing Page get tokens.
Please help me to understand this better.
Sincerely,
Stephen (Steve) Wheeler | Wheeler
Technologies, Inc.
President
Phone:
813.818.4406 (office)
Phone:
954.612.5197 (mobile)
Email:  @.***

"Certified Service Disabled Veteran Owned Small Business"

PLEASE
READ: The material contained in this email is confidential and solely for the
use of the intended recipient. Please do not forward this email to others without
permissions. All email sent to or from this address will be recorded and
archived by Wheeler Technologies, Inc. (WTI) corporate email system and is
subject to archival, monitoring or review by, and/or disclosure to, someone
other than the recipient. WTI's privacy policy can be found at https://www.wheelertech.us/privacy

WARNING:
For your own protection, avoid sending identifying information such as social
security or account numbers to us, or others via email.

From: SANTHOSH B @.***>
Sent: Tuesday, April 30, 2024 2:34 PM
To: Azure/Commercial-Marketplace-SaaS-Accelerator
Cc: Stephen Wheeler; Mention
Subject: Re: [Azure/Commercial-Marketplace-SaaS-Accelerator] WebHook call not received when a change is made to subscription in Azure SaaS Dashboard (Issue #692)
Hi @BayScallophttps://github.com/BayScallop That is true, both are in the same app. You can absolutely separate it but that would be your custom implementation..
—
Reply to this email directly, view it on GitHubhttps://github.com/Azure/Commercial-Marketplace-SaaS-Accelerator/issues/692#issuecomment-2086482266, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AKAG52YWTE4V3HZUPPQARG3Y77P3NAVCNFSM6AAAAABGQQBBM2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOBWGQ4DEMRWGY.
You are receiving this because you were mentioned.Message ID: @.***>


Page rendered incorrectly on Jimmy 1.2 / 2.0

The page below renders without the year 2018, and misplaces the link for "Tower 57" under 2019 instead. Visit gemini://cugi.ie/media/ to see, but it's under development and changing a little over time.
Could be an issue with consecutive headings without content (## 2019 -> ## 2018) ?

=> / Home
=> /art/ Art
=> /podcast/ Podcast
=> /hiscores/ Hi-scores
=> /newsletter/ Newsletter
=> /history/ History

# Media (UNDER CONSTRUCTION)
## 2022
Event not held due to potential changes in pandemic restrictions. See you in 2023.

## 2021
Held online due to the pandemic.
=> /0.jpg Group Photo 1
=> /1.jpg Group Photo 2
=> /2.jpg Group Photo 3

## 2020
=> /crg.png Group 1
=> /2020-1.jpg Group 2
=> /2020-2.jpg Group 3

## 2019

## 2018
=> /bgo.jpg Amiga port of Tower 57 by Daniel 'Daytona675x' Müßener by Banjo Guy Ollie

## 2017
=> /aeon.png Group photo by Trevor Dickinson of A-EON Technology ltd

=> /LiamD-photo.png

## 2016
(missing 2016 photos)

=><EMAIL_ADDRESS>Contact
=> https://retrocomputing.stackexchange.com/questions/tagged/amiga/ Tech Support
=> /policies/ Policies
=> /media/ Media
=> gemini://jeacle.ie/amiga/amigemini/ AmiGemini - Amiga Gemini Client
=> ircs://libera.chat:6697/#amiga-ie IRC

Should be fixed in v0.2.1
Can you check and let me know?
Thanks

Closing this for now, do not hesitate to reopen @tenleftfingers if you happen to notice this behaviour again.


Ensure body is consumed only once (alternative to #851)

Fixes: #846

@hartwork Please take a look at this PR :pray: .

@sathieu I had a quick look and I think understand the problem now but from a quick look the patch raises questions, may not be the best place to patch yet, and is also lacking a new test to both document and regression-protect the case that it's fixing. I have other priorities at the moment, I won't be able to help more at the moment, thanks for your understanding.

Thanks @hartwork I've fixed CI and added tests. Back to you :ping_pong: !

Superseded by just-merged #851, closing…


artman: pull the artman image for me

We don't pin to latest docker image, but there's also no way for a user to get all versions of a docker image. That leads to a kinda crummy UX: I always have to run googleapis-artman, then get an error, then go docker pull for whatever version googleapis-artman is looking for.
Per @lukesneeringer suggestion: can we just have the python program do the pull, since it already knows which version it needs?

Ping - anyone who can pick this up? It continues to be a huge QOL nuisance. :/

Ping Alex@ to take a look at this issue, not sure how long it takes to pull the image.

@jadekler I see your pain :)  I will see if it's an easy fix to add docker pull there.

No way we are going to fix anything in artman.  Deprecated it is.

No way we are going to fix anything in artman.  Deprecated it is.


Pantheon: Random crashes since upgrading to 23.11

Describe the bug
After upgrading from 23.05 to 23.11, the rate of Pantheon crashes has gone from basically-never to once every few days. Some days I don't have any, other days it's 2-3 crashes.
I unfortunately can't pinpoint any particular situation that reproduces these crashes though. Here are some situations where I remember a crash happening afterwards:

Switching workspaces
Alt-tabbing between Discord and Element
Entering fullscreen mode on a YouTube video in Firefox

...but I cannot force a crash by aggressively spamming these actions.
Steps To Reproduce
Unsure, beyond "Seemingly normal Pantheon usage on 23.11".
Expected behavior
No crashes.
Screenshots
n/a, just the regular Pantheon "An error occurred, please log out" screen after it happens.
Additional context
I'm not 100% certain this is really a Pantheon issue. Pantheon itself seems to look & behave fine for hours without any graphics issues. but the apps that I remember using before crashes are all GPU-accelerated.
I've been busy with bisecting my way through our git history for the last week or so, to find the cause of severe graphics issues & corruption under Miriway after upgrading from 23.05 to 23.11. Is it possible this is really a GPU driver issue? For now, all I can say about this issue is that gala is crashing sometimes.
If it turns out to be hardware/GPU-specific, I'm using a Radeon RX 5700 XT.
Any advice on how to debug the crashes would be appreciated, in case this is completely unreproducible on your end.
Notify maintainers
Pantheon maintainers for now: @davidak @bobby285271
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.1.66-xanmod1, NixOS, 23.11 (Tapir), 23.11.1779.cf28ee258fd5`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.1`
 - channels(bt1cn): `"unstable"`
 - channels(root): `"nixos-23.11"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Add a :+1: reaction to issues you find important.

Some situations I have now spotted, after further use. I'm not sure if they're actually new issues caused by the bump, or really 23.05 issues re-spotted after messing with my settings / trying out other packages again.

All variants of eclipses.* crash the compositor 100% of the time when launched
Notification pop-ups have the possibility of crashing the compositor, but this doesn't always happen. I've seen this happen in the following situations:

while watching a YouTube video in fullscreen / in the process of toggling fullscreen mode
while playing a game in fullscreen
switching workspaces

In addition to the above, the crashes from the OP came back yesterday. After getting 6 crashes in a row doing the same things post-login during a pair programming meetup, I had to give up on my graphical setup. I'll just list what I did after logging in:

launch protonmail-bridge in kitty
launch thunderbird
switch workspace to the right
launch element-desktop
launch discord and join a call
press alt-tab
crash

Any suggestion for what I could do to provide more details would still be appreciated, because I know this isn't super helpful so far. Syslogs don't seem to have any details as-is, just a message that gala crashes along with the normal assertion failures.

Honestly I don't think I can actually help fix such issue since I don't know much other than packaging, though Pantheon runs fine for me so far. Some random thing I can think of so far

Did systemctl status bamfdaemon.service --user failed?
Any Pantheon stuff in coredumpctl? Then follow https://discourse.nixos.org/t/how-to-investigate-gnome-crashing/19726/2 to get a backtrace

For projects written in Vala, you will need overriding the package with VALAFLAGS = "-g"; to get correct line numbers.

If you see criticals, to trigger a core dump when criticals appear you can set G_DEBUG=fatal-criticals, then go back to step 2

And after getting a backtrace with debug symbols, and if you see lines pointing to mutter's source files, you can probably check which commit later touches those lines and try to backport it to the mutter Pantheon uses and see how it goes

After re-enabling desktop notifications and re-discovering that TB mail notifs can crash my session, I've re-membered this issue. :sweat_smile:
I don't have the time to dive into this too deeply, but I'll throw in what I've found. When I'm updating to 24.11, I'll try to find the time for more.

Did systemctl status bamfdaemon.service --user failed?

Not AFAICT, at least there's no message about the service explicitly failing in the syslog.

Any Pantheon stuff in coredumpctl?

coredumpctl doesn't like how I manage my journal and is eternally-empty, but here's the core dump info:
Core was generated by `/nix/store/r8vybm779j16akdanp3hq6lmamfr4i7p-gala-7.1.3/bin/gala'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007ff0cb0bd927 in meta_window_actor_get_meta_window (self=0x0) at ../src/compositor/meta-window-actor.c:521

warning: 521	../src/compositor/meta-window-actor.c: No such file or directory
[Current thread is 1 (Thread 0x7ff0c8a38000 (LWP 3464))]
(gdb) bt
#0  0x00007ff0cb0bd927 in meta_window_actor_get_meta_window (self=0x0) at ../src/compositor/meta-window-actor.c:521
#1  0x00000000004316d7 in gala_notification_stack_update_positions ()
#2  0x0000000000431b93 in gala_notification_stack_show_notification ()
#3  0x00007ff0cc0a7668 in g_closure_invoke (closure=0xe4844a0, return_value=0x0, n_param_values=2, param_values=0x7fff77e02bf0, invocation_hint=0x7fff77e02b40) at ../gobject/gclosure.c:834
#4  0x00007ff0cc0bbbcc in signal_emit_unlocked_R (node=node@entry=0x7fff77e02cc0, detail=detail@entry=0, instance=instance@entry=0xd3e2fd0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fff77e02bf0) at ../gobject/gsignal.c:3888
#5  0x00007ff0cc0bd561 in signal_emit_valist_unlocked (instance=instance@entry=0xd3e2fd0, signal_id=signal_id@entry=351, detail=detail@entry=0, var_args=var_args@entry=0x7fff77e02e20) at ../gobject/gsignal.c:3520
#6  0x00007ff0cc0c32c2 in g_signal_emit_valist (instance=0xd3e2fd0, signal_id=351, detail=0, var_args=0x7fff77e02e20) at ../gobject/gsignal.c:3263
#7  0x00007ff0cc0c336f in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../gobject/gsignal.c:3583
#8  0x00007ff0cc0a7668 in g_closure_invoke (closure=0xd3a9b80, return_value=0x0, n_param_values=2, param_values=0x7fff77e030d0, invocation_hint=0x7fff77e03020) at ../gobject/gclosure.c:834
#9  0x00007ff0cc0bbbcc in signal_emit_unlocked_R (node=node@entry=0x7fff77e031a0, detail=detail@entry=0, instance=instance@entry=0xd242520, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fff77e030d0) at ../gobject/gsignal.c:3888
#10 0x00007ff0cc0bd561 in signal_emit_valist_unlocked (instance=instance@entry=0xd242520, signal_id=signal_id@entry=147, detail=detail@entry=0, var_args=var_args@entry=0x7fff77e03300) at ../gobject/gsignal.c:3520
#11 0x00007ff0cc0c32c2 in g_signal_emit_valist (instance=0xd242520, signal_id=147, detail=0, var_args=0x7fff77e03300) at ../gobject/gsignal.c:3263
#12 0x00007ff0cc0c336f in g_signal_emit (instance=instance@entry=0xd242520, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3583
#13 0x00007ff0cb0c8bf3 in meta_display_notify_window_created (display=display@entry=0xd242520, window=window@entry=0x105d31c0) at ../src/core/display.c:1740
#14 0x00007ff0cb0f3033 in _meta_window_shared_new (display=display@entry=0xd242520, client_type=client_type@entry=META_WINDOW_CLIENT_TYPE_X11, surface=surface@entry=0x0, xwindow=xwindow@entry=50338264, existing_wm_state=existing_wm_state@entry=0,
    effect=effect@entry=META_COMP_EFFECT_CREATE, attrs=<optimized out>) at ../src/core/window.c:1391
#15 0x00007ff0cb12d754 in meta_window_x11_new (display=display@entry=0xd242520, xwindow=50338264, must_be_viewable=must_be_viewable@entry=0, effect=effect@entry=META_COMP_EFFECT_CREATE) at ../src/x11/window-x11.c:3747
#16 0x00007ff0cb1157e8 in handle_other_xevent (x11_display=x11_display@entry=0xd27fb70, event=event@entry=0x7fff77e03920) at ../src/x11/events.c:1523
#17 0x00007ff0cb11656b in meta_x11_display_handle_xevent (event=0x7fff77e03920, x11_display=0xd27fb70) at ../src/x11/events.c:1984
#18 xevent_filter (xevent=0x7fff77e03920, event=<optimized out>, data=0xd27fb70) at ../src/x11/events.c:2031
#19 0x00007ff0cbd56edf in gdk_event_apply_filters (xevent=xevent@entry=0x7fff77e03920, event=event@entry=0xe647180, window=window@entry=0x0) at ../gdk/x11/gdkeventsource.c:79
#20 0x00007ff0cbd571da in gdk_event_source_translate_event (xevent=0x7fff77e03920, event_source=0xd256980) at ../gdk/x11/gdkeventsource.c:198
#21 _gdk_x11_display_queue_events (display=0xd1acd90) at ../gdk/x11/gdkeventsource.c:341
#22 0x00007ff0cbcf9350 in gdk_display_get_event (display=display@entry=0xd1acd90) at ../gdk/gdkdisplay.c:442
#23 0x00007ff0cbd56f72 in gdk_event_source_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at ../gdk/x11/gdkeventsource.c:363
#24 0x00007ff0cc14ff54 in g_main_dispatch (context=context@entry=0xcdac680) at ../glib/gmain.c:3344
#25 0x00007ff0cc152fd7 in g_main_context_dispatch_unlocked (context=0xcdac680) at ../glib/gmain.c:4152
#26 g_main_context_iterate_unlocked (context=0xcdac680, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
#27 0x00007ff0cc15388f in g_main_loop_run (loop=0xd3d7bd0) at ../glib/gmain.c:4419
#28 0x00007ff0cb0d87b5 in meta_context_run_main_loop (context=<optimized out>, error=0x7fff77e03b98) at ../src/core/meta-context.c:465
#29 0x000000000042fc57 in gala_main ()
#30 0x00007ff0caa6410e in __libc_start_call_main (main=main@entry=0x421980 <main>, argc=argc@entry=1, argv=argv@entry=0x7fff77e03fd8) at ../sysdeps/nptl/libc_start_call_main.h:58
#31 0x00007ff0caa641c9 in __libc_start_main_impl (main=0x421980 <main>, argc=1, argv=0x7fff77e03fd8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff77e03fc8) at ../csu/libc-start.c:360
#32 0x00000000004219b5 in _start ()

Looks to me like it's similar-enough to the stack trace from https://github.com/elementary/gala/issues/1727#issuecomment-1836488852, although outside of the multi-task view (I also remember the issue mentioned with that though, so maybe the cause is close enough).
Fix for that issue is https://github.com/elementary/gala/commit/186e9a304a02bcef01a97a4336438c2969c57754 in 8.0.0, but our 7.x version builds fine with it applied. If I notice this again in 24.11, I'll test if applying this changes anything.

New random crash after switching to 24.11, while trying to open an app from the starter. Throwing it in here for now.
Core was generated by `/nix/store/5ng0gjhnzrz2l3ahci3d4rpf8jmlqh9m-gala-7.1.3/bin/gala'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f33250f380c in meta_window_focus (window=0x7504d50, timestamp=0) at ../src/core/window.c:4462

(gdb) bt
#0  0x00007f33250f380c in meta_window_focus (window=0x7504d50, timestamp=0) at ../src/core/window.c:4462
#1  0x00007f32fc03371b in wingpanel_interface_focus_manager_restore_focused_window () from /run/current-system/sw/lib/gala/plugins/libwingpanel-interface.so
#2  0x00007f32fc031906 in wingpanel_interface_dbus_server_restore_focused_window () from /run/current-system/sw/lib/gala/plugins/libwingpanel-interface.so
#3  0x00007f32fc031994 in _dbus_wingpanel_interface_dbus_server_restore_focused_window () from /run/current-system/sw/lib/gala/plugins/libwingpanel-interface.so
#4  0x00007f3325f20b78 in call_in_idle_cb (user_data=user_data@entry=0x7f330000f600) at ../gio/gdbusconnection.c:5458
#5  0x00007f33261c6c1e in g_idle_dispatch (source=0x7f3300010bb0, callback=0x7f3325f20a60 <call_in_idle_cb>, user_data=0x7f330000f600) at ../glib/gmain.c:6243
#6  0x00007f33261c9571 in g_main_dispatch (context=0x5b2fba0) at ../glib/gmain.c:3357
#7  g_main_context_dispatch_unlocked (context=context@entry=0x5b2fba0) at ../glib/gmain.c:4208
#8  0x00007f33261cb6b0 in g_main_context_iterate_unlocked (context=0x5b2fba0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4273
#9  0x00007f33261cc0df in g_main_loop_run (loop=0x63d5ed0) at ../glib/gmain.c:4475
#10 0x00007f33250de1f5 in meta_context_run_main_loop (context=<optimized out>, error=0x7ffc27c0fe08) at ../src/core/meta-context.c:465
#11 0x00000000004306e2 in gala_main ()
#12 0x00007f3324a4027e in __libc_start_call_main (main=main@entry=0x421980 <main>, argc=argc@entry=1, argv=argv@entry=0x7ffc27c10248) at ../sysdeps/nptl/libc_start_call_main.h:58
#13 0x00007f3324a40339 in __libc_start_main_impl (main=0x421980 <main>, argc=1, argv=0x7ffc27c10248, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffc27c10238) at ../csu/libc-start.c:360
#14 0x00000000004219b5 in _start ()


Refactor APCDataSubstrate and APCUser to make them modular

As mentioned in #41, the data substrate and especially APCUser are tightly coupled to various parts of AppCore and the Bridge SDK. It would be nice to have these as protocols but keep the existing code as implementations of those protocols. Additionally, APCDataSubstrate (as-is) should take care of the stack initialization, not the app delegate.

APCDataSubstrate
It seems it would make sense to create two protocols for the data substrate:

APCDataSubstrate <NSObject>

currentUser
parameters (mostly used for the bypass-server setting)

APCCoreDataSubstrate <APCDataSubstrate>

persistentContext
mainContext
persistentStoreCoordinator
-resetCoreData

APCUser
The user's interface could be converted into a protocol as-is. The current implementation could then be put into an actual class, maybe APCAppUser?
Its UserData category consists entirely of class methods, this could be put into a different class.
@jwe-apple As per your comment on #41, as a first step I'd leave the current APCUser implementation as-is to get this going. Then we can see if we want your object composition idea reflected in the protocol or just have the APC implementation follow that pattern. Hope this is okay.
I will start with this on a branch because I need it as protocols for our app.

Makes sense to me.


Removed megatron-lm from requirements

This fix is required to avoid the below error during DeepSpeed build
ERROR: Could not find a version that satisfies the requirement megatron-lm==1.1.5 (from deepspeed==0.6.6+828ab71) (from versions: none)
ERROR: No matching distribution found for megatron-lm==1.1.5 (from deepspeed==0.6.6+828ab71)
This change is already made in upstream https://github.com/microsoft/DeepSpeed/commit/a094c9763de8d42107cbffd0bb9abb8056aa3c60
https://ontrack-internal.amd.com/browse/SWDEV-397284

Code change to skip UT is not required is it?

Code change to skip UT is not required is it?

These tests are not present in the current branch to skip.


New Control ProgressStepsIndicator

Q
A

Bug fix?
[ ]

New feature?
[ ]

New sample?
[ X]

Related issues?
fixes #X, partially #Y, mentioned in #Z

What's in this Pull Request?
Please describe the changes in this PR. Sample description or details around bugs which are being fixed.
New Control ProgressStepsIndicator

Many thanks @joaojmendes !


[FLINK-32257]-table-Add-ARRAY_MAX-function

What is the purpose of the change
This is an implementation of ARRAY_MAX
Brief change log
The array_max() function get the maximum element from input array.
The result matches the type of the elements. NULL elements are skipped. If array is empty, or contains only NULL elements, NULL is returned.
Arguments
array: Any ARRAY with elements for which order is supported.
Syntax
array_max(array)
Returns
The result matches the type of the elements. NULL elements are skipped. If array is empty, or contains only NULL elements, NULL is returned.
Examples
SQL
> SELECT array_max(array(1, 20, NULL, 3)); 20

// Fink SQL-> select array_max(array[1, 20, null, 3]) 20

See also
spark https://spark.apache.org/docs/latest/api/sql/index.html#array_max
presto https://prestodb.io/docs/current/functions/array.html
Verifying this change
This change added tests in CollectionFunctionsITCase.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

Thank you @hanyuzheng7 for the contribution. Could you please fill in the description template correctly? It helps reviewers tremendously. You have a nice overview what your changes do, but would be really helpful if you put it in the correct sections and fill in the rest.

@dawidwys I have already fixed all comments. You can do the second pass. Thank you.

@dawidwys I have already fixed all comments. You can do a pass. Thank you.

I think it's mostly good. I just had two minor comments. Please address that and rebase on top of the current master. I hope we can merge it after that.

@dawidwys, I have address the  two minor comments and rebase on top of the current master. It's ready to merge. Thank you.

@dawidwys , @hanyuzheng7
I'm really sorry however we had to revert this change since it brings a blocker issue with ArrayElementOutputTypeStrategyTest
which is constantly failing even locally like
[ERROR] Failures:
[ERROR]   ArrayElementOutputTypeStrategyTest>TypeStrategiesTestBase.testTypeStrategy:58
expected: "INT NOT NULL (AtomicDataType@26e4eacd)"
 but was: "INT NOT NULL (AtomicDataType@1716b369)"
[ERROR]   ArrayElementOutputTypeStrategyTest>TypeStrategiesTestBase.testTypeStrategy:58
expected: "INT (AtomicDataType@18ab74e7)"
 but was: "INT (AtomicDataType@f0704a2)"

and ci mirror
https://dev.azure.com/apache-flink/apache-flink/_build/results?buildId=50669&view=logs&j=0c940707-2659-5648-cbe6-a1ad63045f0a&t=075c2716-8010-5565-fe08-3c4bb45824a4&l=8884
also I noticed that the latest ci for this PR fails with exactly same problem

@snuyanzin Sorry for that. I must've looked at the wrong CI run, before the rebase. Thanks for the revert, we'll take it from here.

@dawidwys ok I will fix it.

@hanyuzheng7 @dawidwys @snuyanzin and the commit log is also not good

@snuyanzin do you know why this happen? Because before rebase it, this test case can pass. And now it has aorg.opentest4j.AssertionFailedError:

@dawidwys @snuyanzin  base previous master base. The test can be passed

@dawidwys ok got it. Thank you!

@dawidwys @hanyuzheng7 @snuyanzin git msg should like
[FLINK-xxxx][table] Add built-in xxx function.
there is a sample https://github.com/apache/flink/commit/79b06cf95389491d6a800ccebdcc8feb2b6f9025

@liuyongvs ok got it. I will fix it.


Tidy up global

Changes
Tidy up some things in the dosomething_global module. :leaves:
Also fixes three warnings: ensures that the index country exists before comparing it (f4c5282), explicitly define $roles before assigning to an index of the array (f262a56), and ensure that $languages is defined since we're using that object in scenarios where $request_path[0] is empty.
How should this be manually tested?
Ehhh. Most changes are within docblocks. Skimming the code should be enough. :)

For review: @angaither

:+1:


C4 Model Diagram Shapes

Hello All,
The current set of C4 shapes are missing some of the shapes in C4 model such as mobile container shape
C4 Mobile container should be added to the shapes of C4 shapes, and it will be great if you can add all the shapes of C4 model to draw.io
I am using the container shape currently to replace the mobile shape yet it is not representative as the mobile shap

Missing which? Please to them. This is very vague, please be precise is detailing what is wrong and how to fix it.

Please check the attached file, the browser container is there in the current C4 model shapes but the mobile container is not available

So one shape is missing, not multiple as you wrote in your initial message?

Yes, that is what I faced so far.


Add Sparse Embedding to BaseNode Class

Description
This PR adds an optional parameter to the BaseNode class sparse_embedding. This is made to support by default the growing number of RAG systems that include traditional sparse-vector search methods (ex. Okapi BM25).
To provide extended functionality for this change, I edited the PineconeVectorStore class to support adding nodes with existing sparse vectors in the add class method.
Type of Change
Please delete options that are not relevant.

[X] New feature (non-breaking change which adds functionality)
[X] This change requires a documentation update

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

[X] I stared at the code and made sure it makes sense

Suggested Checklist:

[X] I have performed a self-review of my own code
[X] My changes generate no new warnings
[X] I ran make format; make lint to appease the lint gods

tbh I'm a little hesitant to add new attributes to the base node class -- this is a foundational object to the repo, and modifying the interface should only be done when absolutely needed. If we add it now, it will need to be supported indefinitely (and if it was ever removed, cause even more issues with backwards compatibility)
Maybe it would be better to put it in the node metadata for now? And remove it from metadata when inserting? The exact metadata key to look at could be defined in the vector store definition

agree with @logan-markewich !

@big-nico could you help refactor the Sparse Embedding to metadata for BaseNode class, thanks!

since we have hybrid search for some vector db which stores the sparse embedding separately from dense embedding.
I think we can close this pr for now


Purge protection not required for configuring TDE CMK encryption

In several places in the article it is mentioned both soft-delete and purge-protection must be enabled when configuring customer-managed TDE protector.

Soft-delete and purge protection features must be enabled on the key vault to protect from data loss due to accidental key (or key vault) deletion.

Both soft-delete and purge protection must be enabled on the key vault when configuring customer-managed TDE on a new or existing server or managed instance.

Azure SQL requires soft-delete and purge protection to be enabled on the key vault containing the encryption key being used as the TDE protector for the server or managed instance. This helps prevent the scenario of accidental or malicious key vault or key deletion that can lead to the database going into Inaccessible state.

When configuring the TDE protector on an existing server or during server creation, Azure SQL validates that the key vault being used has soft-delete and purge protection turned on. If soft-delete and purge protection aren't enabled on the key vault, the TDE protector setup fails with an error. In this case, soft-delete and purge protection must first be enabled on the key vault and then the TDE protector setup should be performed.

Yet I have been able to successfully use key from purge-protection disabled Key Vault without any error.
I just can see a notification in the SQL Server portal overview that I should enable purge-protection:

Looks like documentation is wrong in several places.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: ebc22d6d-6411-8b1f-6b0c-df0c6c0d4f41
Version Independent ID: f34d4fa8-dc18-d2bb-a42f-bdea4329b118
Content: Customer-managed transparent data encryption (TDE) - Azure SQL Database & Azure SQL Managed Instance & Azure Synapse Analytics
Content Source: azure-sql/database/transparent-data-encryption-byok-overview.md
Service: sql-db-mi
Sub-service: security
GitHub Login: @GithubMirek
Microsoft Alias: mireks

Let me understand the asks:

Yet I have been able to successfully use key from purge-protection disabled Key Vault without any error.

I just can see a notification in the SQL Server portal overview that I should enable purge-protection.
Ad 1)
Is it about successfully using key from purge-protection disabled Key Vault without any error?
In this case did you access the database after let’s say 1 hr to see if you can still access it?
There is a time lag between deleting a key and notifying SQL about it.
Ad 2)
Is this about having an extract message in the TDE portal indicating the key purge-protection?
If so as it is documented in the section “Requirements for configuring AKV” in the document above
Customer-managed transparent data encryption (TDE) - Azure SQL Database & Azure SQL Managed Instance & Azure Synapse Analytics | Microsoft Learn
features must be enabled on the key vault to protect from data loss due to accidental key (or key vault) deletion. As such this is part of requirements for configuring AKV (enabled on key vault) and not SQL. SQL is using what AKV provides.

Please close this one.

Extra message in the portal is fine.
This issue is about the fact I was able to configure TDE CMK encryption without purge protection enabled on the Key Vault while documentation says purge protection is required.
I can retest this again in a few hours.

If you still can reproduce it. Could you please report it to our support team (CSS) and submit a case to investigate it.

Create a Key Vault without purge-protection disabled
Create a Key Vault key for tde encryption
Create Sql Server & Database
Enable SystemAssigned identity to Sql Server
Assign key permissions: get, wrapKey, unwrapKey permissions for Sql Server's system identity
Configure TDE encryption on Sql Server using key from key vault

It succeeds while documentation says purge-protection is required.

I do not think I understand your repro. Where in your repro is the key deletion part in Azure key vault allowing to delete the key during its retention period?
SQL is not enforcing or checking the purge protection since this is key vault setting. SQL accesses a key, and it is either available or not (like deleted). The purge protection is a strong reminder ( or a request) to enable it, otherwise an accidental key deletion in key vault could prevent access to the database. Again, SQL does not enforce it.
To continue you repro script,  delta the key during its retention period, wait 0.5-1 he and try to access your database.
The access will fail. If you have the purge protection enabled, you will not be able to delete a key during its retention period protection.

Ok, maybe this is my misunderstanding but I thought when documentation says it must be configured it is actually a strong requirement (enforcement).
There is also discrepancy in what you write:

SQL is not enforcing or checking the purge protection since this is key vault setting.

Vs what documentation says:

When configuring the TDE protector on an existing server or during server creation, Azure SQL validates that the key vault being used has soft-delete and purge protection turned on. If soft-delete and purge protection aren't enabled on the key vault, the TDE protector setup fails with an error.

Maybe this is just the wording in the documentation that should be corrected.

Thank you for all your input.
Could we debug this case please.
To do this we would need the following data from your configuration.
Would you be OK to send us the following information.

Subscription ID
Server Name and Region
AKV name and Key name with version
For your protection, please create a test server w/o any database, a test UMI, a test AKV ( disable purge-protection) and a test key as well as the approximate time of its creation.
Please setup the key for this server.
We will check the telemetry on our end created during the creation time.
Please let me know if you do not feel comfortable to provide this data, which is OK.

I suggest continuing this conversation via e-mail.
If possible, could you please send me the data using my e-mail alias<EMAIL_ADDRESS>

I have dogged dipper into this problem and

The documentation on purge protection is correct.
However, it appears that in several regions we experience some issues with this enforcement.
W/o more information about your subscription and the region of your server, for now I cannot provide more details specific to your case.
We are working on the fix that should be in place for all regions within a few weeks.
You ware welcome to try it again sometimes later.
Thank you for bringing this issue and for this discssion.

Thank you, I have received it. We will continue our conversation via e-mail to debug your environment.
Please close this thread


Re/configure default field properties across entire application?

We're using formly 6 on Angular 13 with ngx-translate, and json-powered forms; everything is fine, even translations are working as expected.
However I was wonder if there's a way to define field.props.translate = true as a default across all fields, similar to how we're using perhaps presets, or custom-types, or custom-wrappers (at the module.import / forRoot level), instead of having to duplicate the line in each json-powered formly-field defintion.
Another use-case for this is if I wanted to define field.props.required = true across the entire app, and only set it to false (in my json definitions) if the field is not-required... instead of having to define required: true in almost every field-definition (we have hundreds)
Any help is appreciated. Love your work!

Also, I find myself having the repeat the field definition..:
expressions: {
  'props.disabled': 'formState.disabled',

... in each of my field. Would be nice is there was somewhere I can define the once, and have it as default across the entire application


Wiegand reading - interrupt issue?

SDK version
v2.108

In what kind of operation problems appear, and how to reproduce the problem ?

I am trying to reimplement arduino based library for Wiegand reader (26 bit) (original lib: https://github.com/monkeyboard/Wiegand-Protocol-Library-for-Arduino)
However I am running into issue. Bitcount is sometimes 51.. most likely 52 (twice as supposed to be)
I am using pin IO2 (UART1_CTS/IO2) for D0 and IO7 (UART2_RTS/I2C3_SDA/IO7) for D1.
My GPIO setup code:
void wiegand_begin(GPIO_PIN pin0, GPIO_PIN pin1)
{
	D0 = pin0;
	D1 = pin1;

	_lastWiegand = 0;
	_cardTempHigh = 0;
	_cardTemp = 0;
	_code = 0;
	_wiegandType = 0;
	_bitCount = 0;

	GPIO_config_t gpioD0 =
	{
		.mode = GPIO_MODE_INPUT_INT,
		.pin = D0,
		.defaultLevel = GPIO_LEVEL_LOW,
		.intConfig.debounce = 50,
		.intConfig.type = GPIO_INT_TYPE_FALLING_EDGE,
		.intConfig.callback = ReadD0
	};

	GPIO_config_t gpioD1 =
	{
		.mode = GPIO_MODE_INPUT_INT,
		.pin = D1,
		.defaultLevel = GPIO_LEVEL_LOW,
		.intConfig.debounce = 50,
		.intConfig.type = GPIO_INT_TYPE_FALLING_EDGE,
		.intConfig.callback = ReadD1
	};

	GPIO_Init(gpioD0);
	GPIO_Init(gpioD1);
}

rest of code is copied and unchanged except for wiegand_available where is supposed to be disabled interrupt. I guess AI Thinker dont have how? So I've done it via bool property.
bool wiegand_available()
{
	// disable interrupts
	disabled = true;

	bool available = DoWiegandConversion();

	// enable interrupts
	disabled = false;

	return available;
}

inside reading disabled.. however I managed to receive trace only few times. I guess thats not main issue.
void ReadD1(GPIO_INT_callback_param_t* param)
{
	if (disabled)
	{
		Trace(1, "Disabled D1!");
		return;
	}

Instead arduino millis() I am using #define MILLIS (unsigned long)(clock() / CLOCKS_PER_MSEC) .. should be equivalent.
header file: https://pastebin.com/Ufmze8nD
c file: https://pastebin.com/bvwYhkbV
I tried to use device with ESP32 and same library from monkeyboard. Worked. However I suspice GPIO interrupt setup.

Ok, so I found out that callback is called twice. Dunno what can cause that.
However my workaround is to use array of 52 integers. In conversion function using for cycle with i += 2 to skip duplicite value.


neotree-root-dir-face used to have a beautiful lighter background ...

... no more.
It was like that, but now the background face is identical to the rest of the buffer.
Using solaire-mode (which I think is not involved), and doom-one-theme.
Maybe we could add doom-neotree-root-dir-face to the defcustom's ?

However, the code seems right, in doom-themes-common:
    (neo-root-dir-face   :foreground strings :background bg-alt :box `(:line-width 4 :color ,bg-alt))

Ah, this is an oversight on my part, caused by a recent update where I flip bg and bg-alt. I'll look into this over the weekend.

Just pushed a fix for this, so I'll consider this resolved. Feel free to reopen otherwise.


Is it possible to go full gRPC now with the tonic crate?

@liufuyang thanks for submitting. Anything is possible, will do some preliminary investigation and get back to you

Thank you. And if there is some simple task others can help with, please let me know as well :)

Yes it is possible!   Check out https://github.com/solana-labs/solana/tree/master/storage-bigtable.  The code in src/lib.rs is specific to my project, but the remainder of this crate should be generic and reusable.   Using just the gRPC interface is a little painful at times (such as decoding a read_rows response) soI think there's still value in building a Rust-specific API over the protobuf

I see. Thank you for the info 👍

@mvines I used quite some of your code and started on an idea here https://github.com/liufuyang/bigtable_rs
I hope it's open to borrow some of the code you have in your project?
@durch I hope it's okay that I am trying of a slightly different approach to try to make a bigtable client, as in the future when I am about to use the client in my backend, the performance will be an important to the application I am working on.

@mvines I used quite some of your code and started on an idea here https://github.com/liufuyang/bigtable_rs
I hope it's open to borrow some of the code you have in your project?
@durch I hope it's okay that I am trying of a slightly different approach to try to make a bigtable client, as in the future when I am about to use the client in my backend, the performance will be an important to the application I am working on.


mWeb – Sign in – Settings open when log in with a new account

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.60-5
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/4475624
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Issue reported by: Applause - Internal Team
Action Performed:

Go to https://staging.new.expensify.com/
On the login screen - enter a new email account and continue
Enter the magic code
Verify you're logged in

Expected Result:
LHN opens
Actual Result:
Settings open when log in with a new account
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[x] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/220f416f-4c91-4946-ba25-2832af0e5606
View all open jobs on GitHub

@johncschuster  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

I am closing this one we have aleady logged this issue https://github.com/Expensify/App/issues/39714


Indentation guides hard to see in darker themes

Testing #8232 on a MacBook Pro Retina display with brightness 2 steps below max while using a power adapter. This is my usual setting a regularly lit environments.
In the following themes the indentation guides should be changed to improve their visibility:

Abyss
High Contrast
Monokai

In the following themes the indentation guides are subtle and easy to miss. However, changing those is optional.

Dark (and Dark+)

I am using the invisibles color from the theme, 100% the same as renderWhitespace. @aeschli owns the Dark and Dark+ themes (including the invisibles color):
https://github.com/Microsoft/vscode/blob/master/src/vs/workbench/services/themes/electron-browser/themeService.ts#L385

@bgashler1 Assigning to the UX team to decide on changes to the default colors.

Some of the reported themes (Dark, Dark+, High Contrast) are owned by us. Others (Abyss, Monokai) are cloned and packaged along with VS Code. It means indirectly we own them and have to maintain them. So we should provide proper color for indent guides for all these themes.
@bgashler1 Can you please go through all our default packaged themes and come with a nice indentation guides color ?
Note: TM theme setting to use for identation guides is guide.

Reopening until PR is merged in

Moving this to September milestone, since it is too late to make into August


Your scatter plot demo seems broken

Hi,
the demo http://www.chartjs.org/samples/latest/charts/scatter/basic.html
seems to be broken in some sense.

Works fine for me.


[FEATURE]: Data Toolkit

Describe the feature
I appreciate your great work of releasing llama 2 model.
When will Data Processing Toolkit be released?

Hi,
Yes, we are planning to open-source the data processing toolkit for the whole community.

Any update or ETA? Thank you!

This part is now under internal review. Will be released soon.

This part is now under internal review. Will be released soon.

Hi,
I was wondering if there are any upcoming data-processing toolkit that will be open-sourced soon? I am eagerly anticipating such releases.


I18n::Missing Translation Data (translation missing: en.date.formats.default):

Hello,
Thanks a lot for your useful plugin.
I' getting the following error message once activated the maintenance mode.
Redmine version 3.4.4
Started GET "/login?back_url=https%3A%2F%2Fredmine.example.com%2F" for <IP_ADDRESS> at 2018-03-07 20:51:13 +0000
Processing by AccountController#login as HTML
  Parameters: {"back_url"=>"https://redmine.example.com/"}
  Current user: anonymous
Completed 500 Internal Server Error in 4ms (ActiveRecord: 0.8ms)

I18n::MissingTranslationData (translation missing: en.date.formats.default):
  lib/redmine/i18n.rb:71:in `format_date'
  lib/redmine/i18n.rb:82:in `format_time'
  plugins/redmine_maintenance_mode/lib/maintenance_mode_functions.rb:20:in `get_maintenance_plugin_settings'
  plugins/redmine_maintenance_mode/lib/maintenance_mode.rb:12:in `show_maintenance_mode_page'
  lib/redmine/sudo_mode.rb:63:in `sudo_mode'

Does this happen with the plain version of this plugin or with your fork?
I see that you changed the translation files and added this:
https://github.com/fjudith/redmine_maintenance_mode/commit/cf04b6c6c2c99ac64a6df8149bcf4a320a4476fd
Does this fix the issue?
Normally the format_date and format_time functions from redmine core use the default format date/time format defined in the redmine core language file in YAML key en.date.formats.default.
Can you make sure the default english language file /config/locales/en.yml exists in your redmine core?

I am running a production version of Redmine 3.4.4 with the current plugin version and haven't encountered that problem yet, so I'm eager to learn what leads to this error.

Also: would you mind sharing your french translation with the community and send it over as a PullRequest? Thanks! 🎉

Hello @tofi86
Thank you for your feedback
Surprisingly, The error message only appears with Firefox where english is enforce.
I have not been able to reproduce the issue using Edge, Internet Explorer and Chrome...
I will perform further investigations next week.
Notice that my Redmine instance is running  Abacus Office.
PR Has been submitted

Hi Florian,
thanks for the update and the PR.

Can you confirm that the file config/locales/en.yml exists in your redmine root directory?

Can you confirm that the specified key en.date.formats.default exists in this file?

Could you ping the Abacus Office support, point them to this discussion and ask whether their theme alters language files or adds or overrides language configuration?

you can also try to disable the theme and run plain redmine with my plugin and test if it still happens...

Hello @tofi86 ,
I'm closing this issue as i was'nt able to reproduce this issue since i upgraded my Firefox Beta browser.
I confirm that everything was fine regarding config/locales/en.yml.
I'm going to submit another PR for the french translation without the date format enforcement.


Fix header buttons on root page

Addresses #3138

Hides 'revisions' entry on root page.
Makes the 'more' dropdown menu not display when it is empty, which in practice will be the root page.
Hides the 'privacy' link/icon on root page.

I was tempted to leave the 'privacy' button alone, as the fact that it's not a link (because page_perms.can_set_view_restrictions is False) meant it was harmless, but my opinion is that leaving it there is more confusing than not: 'public' suggests viewable, which the root page isn't.

Merged in 6fda0dc01ff4470600c71a7cf6d9ebcf3535696c - thanks!


Create package.json file to resolve some LS issues

Solution:

Modify the following line to add the file after LS has been downloaded..
https://github.com/DonJayamanne/pythonVSCode/blob/319f19227000079901a64c6e8234b35c2482087f/src/client/activation/languageServer/activator.ts#L61
Create file named Microsoft.Python.LanguageServer.runtimeconfig.json
Contents of file:

{
  "runtimeOptions": {
    "configProperties": {
      "System.Globalization.Invariant": true
    }
  }
}

validated


Clarify file upload interface

It seems that some users have problems with the file uploads. Something about the interface isn't clear. I had two applicants email me their files because they couldn't do it. The description was nebulous, but this has happened to a few people.

@marcj303 This might have been the same issue that Claire emailed us about while testing. It might not be clear to users that you're supposed to click the "Browse" button to select a file before clicking "Upload"
I added an error message that explains you need to select a file, but we should probably look into changing the interface for uploads to be more clear anyway.

This helps. I agree, it should not have the upload button until there is a file selected.


add Yuchen Shen to the owner list

/verify-owners

/verify-owners

/verify-owners

/verify-owners

/retest


Find solution to git pushes hanging / many files in cache

When trying to push an entirely new cache, git push will hang due to the large number of added files. Unsure if this is a Github specific problem, and if it is it may be best to switch to a different provider because the current method of caching responses and classes as individual files is very convenient. Perhaps caching into a tarball would be an acceptable alternative.

Dunno what the issue was but freshly cloning the repo has resolved this for now.


web chat

Custom Web chat How to link with a robot deployed to Microsoft Azure

@zxy66481 Please ask your questions in the BotBuilder repository or on Stack Overflow using the tag "botframework"


Multiple span.bt-content inside td

Plugin create a lot of span.bt-content inside td.
http://codepen.io/Zoxon/pen/JGEvQQ

@falconx Tnak you

@zoxon besides that I noticed there were no support for <tfoot>. I've added a fix.

@jerrylow thankyou, anyway I'm create my own fork. Maybe you will find something interesting there https://github.com/zoxon/basictable


specs: clarify Q3 extended data

Context
https://github.com/celestiaorg/celestia-app/pull/1442#discussion_r1128035484
Proposal
Confirm that it doesn't matter if Q3 is extended from Q1 or Q2. Then add a note to https://github.com/celestiaorg/celestia-app/blob/c09843d07d4c3842753138de96b304b4866e8f5d/specs/src/specs/data_structures.md?plain=1#L387-L391

We may need to also update the link added as part of this PR https://github.com/celestiaorg/celestia-app/pull/1461 if the extension logic is explained in a different section of the data structure spec.

Verified that Q3 is identical if it is extended vertically from Q1 or horizontally from Q2. See this commit and this test which continues to pass.

to add a comment to the code

I don't think it would hurt. Will add a comment to the code in rsmt2d.


Account Linking

Is it possible to use account linking feature with bootbot?

Hi @ansarizafar, yes you can use Account Linking with BootBot. You can subscribe to the account_linking event with your bot instance. For example:
bot.on('account_linking', (payload, chat) => {
  const status = payload.account_linking.status;
  // status will be 'linked' or 'unlinked'
});

Your payload will have the format specified in the Account Linking Documentation
And to send a Login or Logout button, you can use any of the methods provided by bootbot like sendButtonTemplate or sendGenericTemplate. For example:
chat.sendGenericTemplate([{
  "title": "Welcome to M-Bank",
  "image_url": "http://www.example.com/images/m-bank.png",
  "buttons": [{
    "type": "account_link",
    "url": "https://www.example.com/oauth/authorize"
  }]
}]);

Let me know if you have any other questions ;)

Added a wiki entry with this information: https://github.com/Charca/bootbot/wiki/Account-Linking

Can someone explain what should be at example.com/oauth/authorize ? Been having a go at this for the past week. Kinda tried to make a backend with express and passport and passport-facebook and it semi works but I don't know where or how to redirect back to the bot.  There's lots of missing elements and couldn't find a concrete example or tutorial anywhere online.
For example in here what would the redirect uri and redirect uri success be ? Should it be the m.me/ the address to my bot ?
App.get ('/ authorize', function (req, res) {
var accountLinkingToken = req.query.account_linking_token;
var redirectURI = req.query.redirect_uri;
var authCode = "1234567890";
var redirectURISuccess = redirectURI + "& authorization_code = + AuthCode;

Res.render ('authorize', {
accountLinkingToken: accountLinkingToken,
redirectURI: redirectURI,
redirectURISuccess: redirectURISuccess
});
});


doc: Fix typo in manpage

CLA: trivial
Signed-off-by: Jakub Jelen<EMAIL_ADDRESS>
Checklist

[x] documentation is added or updated
[ ] tests are added or updated

Its trivial for CLA purposes.
Maybe update the commit message to 'doc: Fix typo in  EVP_DigestSignInit manpage'.

Merged to master and 1.1.1, thank you!
099a398268 doc: Fix typo in EVP_DigestSignInit manpage
6b9c86c471 doc: Fix typo in EVP_DigestSignInit manpage


search cxsecurity

The third main exploit source after EDB and PacketStorm is cxsecurity (https://cxsecurity.com/).
Like PacketStorm it republishes EDB + have its own unique exploits.
IDK how you handle duplicates.

Try https://www.exploit.observer 😊

I have added Exploit observer support in the new pull. Have a look.

Hi!
Each argument is provided for the user's needs, when the user wants information from certain sources available on Sicat (example: ExploitDB , the users can use the arguments that have been provided (--exploitdb)
Thanks.


Added Umbrella by @rorymbyrne

[x] Project URL: https://github.com/securityfirst/Umbrella_ios
[x] Update contents.json instead of README
[x] One project per pull request
[x] Screenshot included
[x] Avoid iOS or open-source in description as it is assumed
[x] Use this commit title format if applicable: Add app-name by @github-username
[x] Use approved format for your entry

Perhaps someone can suggest why the Ruby build is failing?

Perhaps someone can suggest why the Ruby build is failing?

@rorymbyrne will fix, thanks for your contribution

@rorymbyrne will fix, thanks for your contribution


Enforce-MFA on 'Registration Flow' does not work

First of all, thank you for this excellent plugin for supporting user-selectable MFA method. This works beautifully in the 'Browser Flow'.
However, I'm now trying to add it into 'Registration Flow', to support the new 'Organizations' feature invite link, and setting up OTP in the registration step. With exactly the same flow setup (I'm using mrparkers/keycloak with Terraform to script it), I get the registration flow to present the OTP selection dialog ('Please choose an authentication method as a second factor.'). But after the selection, I get an error message 'We are sorry... Registration not allowed'.
Keycloak log says:
keycloak-1           | 2024-11-11 10:05:23,319 WARN  [org.keycloak.events] (executor-thread-111) type="REGISTER_ERROR", realmId="1a000a7b-9eab-45f5-b254-2a6f2a96f7ad", realmName="demo", clientId="null", userId="null", ipAddress="<IP_ADDRESS>", error="registration_disabled"

This is my 'Registration Flow':

This very simple 'Registration Flow' with REQUIRED Authenticator App works fine:

OK, I think I found it. The Organizations 'Invite member' action does not require that the 'Realm settings' -> 'Login' -> 'User registration' is enabled.
However, if the 'Enforce MFA' step is added into the registration flow, the realm-level 'User registration' must be enabled. It looks like the 'session' object doesn't carry the organizations info, and it causes the registration to fail here:
https://github.com/keycloak/keycloak/blob/47dac5ef26499230b7c8fbb713afdfbf505175fe/services/src/main/java/org/keycloak/services/resources/LoginActionsService.java#L794


Remove inject.

I'm not sure what the intent of inject is, but it makes this ICO heavily trusted rather than untrusted since the admin can give away however many tokens they want to whomever they want.  On top of this, anyone added to the ICO via inject gets a bonus even if it is outside the bonus period or after the sale is over.
With functions like this included in the contract, it does not really make sense to run an on-chain auction at all and you would be much better suited to just running a centralized trusted auction instead.  If the admin can effectively "do whatever they want" then there really isn't any point in using a blockchain to manage the auction.  Just let people send you ETH and then you promise to give them some undefined number of DOTs at some point in the future (either as an Ethereum token or as Polkadot DOTs).

Only bounded number of tokens will ever exist, see FrozenToken.

The contracts, currently, are designed such that the second price auction contract can be used with any token.  This means that the auction contract should not be relying on implementation details of FrozenToken for providing trust guarantees.  If this auction is designed to only work with a specific implementation of a token, I recommend combining them into a single file and changing the type from a generic Token to FrozenToken to make it clear to the reader that this only works with FrozenToken.
Also, even though the total number of tokens given away may be capped by the token supply of FrozenToken, the admin can, after all tokens have been distributed but before all tokens have been finalized create a bunch of faux sales using inject and then finalise them which would result in people who had previously sent ETH to the contract not getting any tokens in return because the sale is over-subscribed.  The issue here is that inject has no constraints on it such as "there are any tokens left to sell" or "the sale is over".

In fact, it gets worse.  If inject is called after the tokens are sold out, the totalAccounted will increase and anyone who had finalized prior to inject being called would get a better deal on the tokens than people who called finalize after inject was called.

This function can also be used to reset the endTime via overflow as well as do some pathological things to the various state variables with overflows.
There are so many attacks possible via this function that I would simply assert that the admin has the ability to set any state variable to whatever they want.  While this isn't technically true, I think it should be assumed to be true as long as this function exists in its current form as the admin can really screw with state via this function.

before_beginning modifier should suffice

I generally disagree with the sentiment of "this contract depends on FrozenToken". Guarantees can be delivered in parts.

If I get a chance I'll re-review with before_beginning as that addresses most of my original issues.


[Basics] Switch IdentifiableSet to use OrderedDictionary

Motivation:
Turns IdentifiableSet into an ordered collection which should cut on flakiness in tests and other spots that expect certain ordering of elements.
Modifications:
Changes storage of IdentifiableSet from Dictionary to OrderedDictionary.
Result:
Less flakiness throughout.

@swift-ci please test

IMO definitely worth cherry-picking for 6.0.

I was looking at IdentifiableSet recently, is there a reason to duplicate the API surface of SetAlgebra instead of using Set<Identified<Element>>?
struct Identified<Element> where Element: Identifiable {
  var element: Element
}

extension Identified: Equatable {
  static func ==(lhs: Self, rhs: Self) -> Bool { lhs.id == rhs.id }
}

extension Identified: Hashable {
  func hash(into hasher: inout Hasher) -> Bool { hasher.combine(self.id) }
}

How would one look up an element by its ID in Set<Identified<Element>>?

How would one look up an element by its ID in Set<Identified<Element>>? We also have subscripts defined on IdentifiableSet, it's a somewhat weird Dictionary/Set hybrid.

Clearly I didn't think this through enough!

For a bit more context, we were storing some of its elements in an Array previously, then for deduplication Set made more sense, and we were also storing some of those elements in dictionaries too. To make those element types Sendable and modifications local and predictable, we had to convert them from classes to structs. The synthesized Hashable and Equatable conformances on structs led to performance regressions. Use of Identifiable and IdentifiableSet were introduced to fix that. Then the only remaining hole was non-determinism when iterating through elements, which is now fixed with OrderedDictionary.


Doesn't cover keyboard

HUD should cover the keyboard by default or should expose the option to

Although none of the commits explicitly state it, I have added this with the last push. Thanks again for your input.


problems with wifi active portals

Active portals pose a few challenges for the configurations used by this tool.

Some public wifi access points require you to use their DNS server to access the active portal login, but will permit custom DNS servers once authenticated.
Active portal pop-up is disabled by this tool, requiring the user to access it through the browser. Also, now that www.google.com uses HSTS, you can't access the DNS redirect to the active portal login page via "google.com" which is what people are accustomed to.

Somehow the tool should deal with these problems or prepare users to deal with them manually.

Right now the Google DNS settings are not "sticking" between reboots consistently, which is why the the DNS component of this problem only shows up some of the time.

I've added a command-line tool to help with this and provided instructions in README.


minio: declarative creation of buckets/groups/policies/users (#89559)

Description of changes
I'd like to add the functionality as requested in  #89559 to allow creating buckets, groups, users and policies declaratively in minio. The units added are based on the work of @expipiplus1 and @JosephLucas.
Pinging @bachp and @hamishmack for review and test. I'm going to need help testing and implementing this, let me know where to start and what is still missing. There might be more elegant ways of doing this.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

Oh no... more ensure* options... This leads to configuration files which don't match the actual configuration of a machine, doesn't it? NixOS machines which are difficult to reason about aren't very good NixOS machines...

@aanderse Hm, you might be right on that. The solution is not really declarative, do you have any proposal on how we could have s3 stuff like buckets, policies and users scripted in minio with nix? I have looked at the config files that get generated when you create these entities via the GUI, but I'm not sure how to create those from nix directly.

Oh no... more ensure* options... This leads to configuration files which don't match the actual configuration of a machine, doesn't it? NixOS machines which are difficult to reason about aren't very good NixOS machines...

While I agree with you, I feel like this should be end-user responsibility to choose or not, this compromise.
Bootstrapping many MinIO resources is very annoying and require to use their ugly GUI, I am very interested into having something like this.

@RaitoBezarius it sounds like you're looking for a solution more like terraform, not NixOS... The two can go well together. Let's not mix them up.

@RaitoBezarius it sounds like you're looking for a solution more like terraform, not NixOS... The two can go well together. Let's not mix them up.

While it's true that Terraform providers or NixOps providers might do a better job at this, there is no reason we cannot have weaker solutions in NixOS as we already have ensure* options for PostgreSQL and all.
The only reason for why I would say this PR would be a bad idea is, if it rots and never get maintained, breaking things at some point.
When this happens, we can remove / deprecate this, in my opinion.

Terraform providers ... might do a better job at thi

Terraform, by design, manages state. NixOS, by design, does not. "might" was the wrong choice of wording.

as we already have ensure* options for PostgreSQL and all.

Which I authored and deeply regret. There are a ton of problems with the ensure* options in the postgres module.

The only reason for why I would say this PR would be a bad idea is, if it rots and never get maintained, breaking things at some point.

I'll continue my point above about the ensure* options in the postgres module: Other modules start using ensure* options and become dependant on them. Module authors may not realize the implications. We had a case some time back where another module ended up breaking user setups because it depended on ensure* options which weren't reproducible. And of course we do the damage of promoting a bad solution that most people don't end up understanding and never realize it is a problem.
I'll summarize my position by quoting myself from above:

This leads to configuration files which don't match the actual configuration of a machine, doesn't it? NixOS machines which are difficult to reason about aren't very good NixOS machines...

That being said... we're both members of the community and respect each other's decisions and positions. I have stated my case and would be happy to discuss further if you think there would be value in that. If not I will at least feel satisfied that I made the argument against when someone hits the merge button. Thanks for hearing me out ❤

Terraform providers ... might do a better job at thi

Terraform, by design, manages state. NixOS, by design, does not. "might" was the wrong choice of wording.

Well, I disagree because you can clearly manage state using NixOS, e.g. by managing in-tree of your NixOS configuration as simple files.
Of course, this is the poor's man state management and I do agree with the semantics of what you are saying.
Nevertheless, this situation is not necessarily one that will never change, and I do think there is a need for a spectrum of solutions, even if they are less than desirable and introduces a lot of caveats. Tools are always abused by their end-users and (system) designers have to take this possibility in account, therefore, I am not surprised to offer escape hatches.
But, this bring me to my next point.

as we already have ensure* options for PostgreSQL and all.

Which I authored and deeply regret. There are a ton of problems with the ensure* options in the postgres module.

The only reason for why I would say this PR would be a bad idea is, if it rots and never get maintained, breaking things at some point.

I'll continue my point above about the ensure* options in the postgres module: Other modules start using ensure* options and become dependant on them. Module authors may not realize the implications. We had a case some time back where another module ended up breaking user setups because it depended on ensure* options which weren't reproducible. And of course we do the damage of promoting a bad solution that most people don't end up understanding and never realize it is a problem.

I definitely see how ensure* options are very fragile and dangerous in fact.
At the same time, I really appreciate that the community (including you) have gone to great extents to test this, exercise it and ensure (no pun intended) it had the right properties to have a "good enough" level of reliability.
Therefore, as long as we can get the ~same level of reliability for a new option, I would not say "no" to another attempt.
Of course, at some point, this proliferation of ensure* has to stop, and we need "actual" and "proper" ways to bake state or declarative information in these modules.
But there is a long way until upstream software will support this and a lot of people including me cannot buy into Terraform-like things for many other reliability reasons and KISS principles (and I say this as someone who started a NixOps backend and was bummed by the difficulty of maintaining the world's view in sync with my Nix expression view).

I'll summarize my position by quoting myself from above:

This leads to configuration files which don't match the actual configuration of a machine, doesn't it? NixOS machines which are difficult to reason about aren't very good NixOS machines...

That's true and understandable, but in that case, I think we have a dire need to introduce a clear-cut separation between "well behaved NixOS machines" and "clunky NixOS machines that could be well behaved as long as this anti feature X is not broken" and let people adopt their compromise and propagate it through the whole NixOS module.
But I do agree I would like to keep these features to their bare minimum and necessary and on a very specific perimeter to avoid having them growing uncontrollably.
So we should definitely do a more meta thing about this kind of things. :)

That being said... we're both members of the community and respect each other's decisions and positions. I have stated my case and would be happy to discuss further if you think there would be value in that. If not I will at least feel satisfied that I made the argument against when someone hits the merge button. Thanks for hearing me out heart

Thank you for clarifying and having this discussion! :) I hope we did not annoy @pinpox too much, though. Apologies for this meta discussion.
My proposal would be the following: we should discuss more of this in another place, it could be RFC or it could be an issue in nixpkgs architecture team, etc.
I think I will ask for more members of the community to weigh in on that. I do have an usecase for this PR and would really love to get it, but I get your points.

My proposal would be the following: we should discuss more of this in another place, it could be RFC or it could be an issue in nixpkgs architecture team, etc.
I think I will ask for more members of the community to weigh in on that. I do have an usecase for this PR and would really love to get it, but I get your points.

Sounds good. Thanks so much @RaitoBezarius!

Question regarding this meta-discussion about state: Where does "configuration" end and "state" start? I'm having trouble pinpointing the difference between a S3 bucket that is declaratively configured to "be there" as part of a setup and something like  e.g. a virtual host in nginx, which is considered part of the configuration.
Staying with minio as an example, would you consider a policy to be state or configuration? It could be defined in a json configuration document and generated from nix code. While I haven't seen a way to do this for buckets, where is the difference?

Unfortunately some applications don't differentiate between state and configuration. Some applications use configuration to initially define state. Not always easy to reconcile this with nix philosophy.

I'm having trouble pinpointing the difference between a S3 bucket that is declaratively configured to "be there" as part of a setup and something like e.g. a virtual host in nginx, which is considered part of the configuration.

For the purpose of this conversation let's ask a simple questions for each scenario: Can your S3 bucket or virtual host ever deviate from what is described in nix?

For the purpose of this conversation let's ask a simple questions for each scenario: Can your S3 bucket or virtual host ever deviate from what is described in nix?

The virtual host can not. The S3 bucket (currently) can. But that is exactly what I'm trying to change: I would like the buckets to be in an inmutable, declared state. Of course the content should be mutable, but the bucket itself should not.

The bucket will remain mutable, though. Since you use imperative commands to create buckets this implies that you can later issue more commands imperatively to undo/alter these buckets and make your configuration deviate from reality.
It boils down to minio storing state every time you issue a command to create a bucket. nginx has no stored state for each virtual host... just configuration.

The virtual host can not. The S3 bucket (currently) can. But that is exactly what I'm trying to change: I would like the buckets to be in an inmutable, declared state. Of course the content should be mutable, but the bucket itself should not.

Right, so the idea is that some piece of state (the set of buckets that exist) is managed declaratively, while another part (the content of the buckets) is not. That by itself is not a problem, it's how all of NixOS works. What makes this tricky in this case is that the dynamic part of the state depends on the static part of the state.
We need to ask: What should NixOS, when applying a configuration, do if it finds a bucket that's not declared.
You essentially have two options here:

Leave the bucket alone. This is what the existing ensure* options in NixOS do, and it's the "safe" option. But it also means that the set of buckets is not fully managed declaratively. With this option, if you ever remove declaratively managed buckets, you will end up leaking them and having to manually remove them.
Delete the bucket. This would be more thorough and not leak buckets, but it bears the danger of losing data irrecoverably. In any case, it means that you can not fearlessly try out and roll back a NixOS configuration.

FWIW, I don't think that this is a blocker for this PR. As others have noted, ensure-style options are already a thing. Just wanted to clarify why this is a bit spicier than e.g. nginx virtualhosts.


Possible issue with jinja2 and cached templates in environment.py _load_template function

I am using the lektor project that in turn, uses jinja2
now it could be related to lektor itself, but I don't think so after a lot of debugging.
there is an example project here https://github.com/Jossnaz/lektor_issue_411 to reproduce the issue
Here is the issue:
the server runs, and builds a template, lets call it
test-page1.html
test-page1 now uses a macro
render_percentage_items.html
which in turn, uses a macro
render_percentage_item.html
this should work right? well it does for the first time, when
/home/myuser/miniconda3/envs/mylektor36env/lib/python3.6/site-packages/jinja2/environment.py
_load_template() fills its cache
any consequent calls to _load_template though, will not refresh the template if the change is done to the nested macro render_percentage_item.html
it does work again, when commenting the cache lines in the _load_template function like so
    @internalcode
    def _load_template(self, name, globals):
        if self.loader is None:
            raise TypeError('no loader for this environment specified')
        cache_key = (weakref.ref(self.loader), name)
        # if self.cache is not None:
        #     template = self.cache.get(cache_key)
        #     if template is not None and (not self.auto_reload or
        #                                  template.is_up_to_date):
        #         return template
        template = self.loader.load(self, name, globals)
        if self.cache is not None:
            self.cache[cache_key] = template
        return template

so I think that something is wrong with the caching of the templates

Expected Behavior
changes to nested macros in other macros should trigger a rerender of all templates using them, even if not directly but nested.
Actual Behavior
No change is detected as the cached version only seems to be loading / observing 1 level deep
Template Code
see https://github.com/Jossnaz/lektor_issue_411
Your Environment

Python version: 3.6
Jinja version: 2.10

actually found issues here
https://github.com/pallets/jinja/issues/742
and here
https://github.com/pallets/jinja/issues/253
5 years anniversary of the bug


AttributeError: 'NoneType' object has no attribute 'strip'

Hello,
I performed the steps in the instructions to run via docker - that all worked well.
However when I load http://localhost:8501 I get the following error:
AttributeError: 'NoneType' object has no attribute 'strip'
Traceback:
File "/usr/local/lib/python3.10/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 552, in _run_script
exec(code, module.dict)
File "/opt/voicechat.py", line 116, in
app()
File "/opt/voicechat.py", line 78, in app
asr, chatgpt, ttsVoices = init_load_setups()
File "/opt/voicechat.py", line 60, in init_load_setups
openai.api_key = os.getenv("OPENAI_API_KEY").strip('"')
Is it a known issue?

Figured it out, need to use the following format:
OPENAI_API_KEY=


Phase 1: Membership (replicate existing form)

What is it and who's it for?
We currently have a pre-registration form on https://catalogue.wellcomelibrary.org/selfreg which captures limited information on users applying for library membership. This was designed to enable users to pre-register before coming to the building and allow them to access functionality such as Requesting in advance to being a full library member.
We would like to migrate this sign up process to wellcomecollection.org to sit alongside the new login/requesting flows for existing members and to minimise the disruption and change in experience between signing up/registering and logging in/requesting.
It is likely membership will be formed of multiple phases:

Phase 1 will migrate the existing form
Phase 2 will look at how to capture additional data fields (e.g. address)
Phase 3 will tackle how to align the offline experience.

User story
As a non-library member
I want to create an account
So that I can request materials to see on my library visit
Acceptance criteria

Introductory text explaining membership, how to apply for it and next steps. This text should be easily amended / managed.
The ability to capture multiple, mandatory fields (First name, Last name, Email address, Confirm email address, Password, Confirm password)
The ability show, link to and capture acceptance of Terms & Conditions
Validation of fields, including clear, error messaging/prompts for users
For the form to fail if mandatory fields aren't completed and validated successfully
For the form to progress to confirmation if fields are completed and validated successfully
The ability to show and link to Terms & Conditions and Privacy Policy

Measurement

Visits to page

All Phase 1 stories
#7808 - Replicate existing form
#7809 - Confirmation of application
#7811 - Verification of email
#7812 - Update sign in
#7814 - Update editorial content
#7815 - Reporting

Replication of existing online application form:
https://zpl.io/9qkgNnY
I've also included copy (originally from the paper form) about accepting the conditions of use. It's more of an explicit message about what they're accepting (more so for anyone that will inevitably check the box without actually reading the full terms)

Thanks Carla, I've updated the designs and added some comments

Updated the design slightly to include a line about agreeing to the T&Cs and Privacy Policy above the button: https://zpl.io/NwkyMed
Also created a secondary design option for the page: https://zpl.io/8lkxe8J

Right now we use auth0 to log users in to request items (i know, stating the obvious). Auth0 gives us different options of how we make that all work, we are currently using what auth0 call :sparkles: universal login :sparkles: .
Universal login has restrictions on how users sign up, see the video here that illustrates it. (we can customise some wording and how this modal looks, as we do for the login currently)
Basically, using universal login/sign up will mean we only ask a user for an email address and password to sign up. You can add custom actions to show other fields, but the initial part of the flow is someone giving their email and setting a password (auth0 helps us validate both inline). Jamie has illustrated 3 approaches to making this work for us but I wanted to show you what it would mean if we continued to use universal login. Taking the bare minimum details (email and password) and then asking for more is progressive profiling, Jamie mentioned here.
I did a short spike on how possible option 2 was, more details are in the related ticket here.
The upshot being:  We can continue to use universal login for membership work by just adding one step to the start of the user flow here, email and password first. (To see video of the sign up process from sandbox account click here)

Re the phases mentioned above:
phase 1 is definitely worth finishing and getting live
we may then possibly look at 2, depending on how things are starting to settle and how much further change is required in eg content too
3 is i think definitely out of scope for now
(pers comm from Alex)

@DominiqueMarshall Question about the wording on the registration form:

After you complete the registration form, you’ll need to email a form of personal identification (ID) and proof of address to the Library team in order to confirm your membership. Your membership will be confirmed within 72 hours.

As we've just been closed for 96 hours, and the library closes for longer over the Christmas/New Year period, is that wording that LE&E suggested and are happy with? I don't want to get into fiddling with copy for unusual closures, but also don't want to give expectations that we know won't be met.

@pollecuttn that was copy written such a long time ago and LE&E were happy with it, but it's probably worth removing the line "Your membership will be confirmed within 72 hours"


Document usage of config files

In CONTRIBUTING.md, we should add an introductory explanation of the various configuration files we use (.secureli.yaml, .secureli/repo-config.yaml, and .pre-commit-config.yaml). This should include the reasoning for splitting configuration across these files, and how they differ from each other.

.secureli/.pre-commit-config.yaml is a config file used by the pre-commit library. I added info about it to the README in #560.
.secureli.yaml is already described in some detail in the README.
AFAIK there isn't any documentation on .secureli/repo-config.yaml.
I don't think it makes sense to add any of the config file documentation to CONTRIBUTING.md. That file is used for providing info to people who want to contribute to the seCureLI project; config file documentation is relevant to end users of seCureLI, and so should probably be in (or be linked from) the README.


Can't compile the plugin on windows

The bug:
Library nvbufsurface found: NO
Run-time dependency CUDA (modules: cudart) found: NO (tried system)
Message: Deepstream or CUDA not found, skipping NVMM support
Run-time dependency valgrind found: NO (tried pkgconfig)
Run-time dependency gstreamer-plugins-base-1.0 found: YES 1.22.6
Dependency gstpylon found: YES 0.7.0 (overridden)
Program C:/gstreamer/1.0/msvc_x86_64/libexec/gstreamer-1.0/gst-plugins-doc-cache-generator found: NO
docs\meson.build:32: WARNING: GStreamer plugin inspector for documentation not found, can't update the cache
Program hotdoc found: NO
Message: Hotdoc not found, not building the documentation
Message: Meta python bindings disabled
Configuring config.h using configuration
Build targets in project: 8
To Reproduce:
meson setup build --prefix=%GSTREAMER_1_0_ROOT_MSVC_X86_64%
Expected behavior
The paths are all correct, not sure what path is wrong.

That was fixed by downloading the development installer. Now a new compilation error appeared.
Library nvbufsurface found: NO
Run-time dependency CUDA (modules: cudart) found: NO (tried system)
Message: Deepstream or CUDA not found, skipping NVMM support
Run-time dependency valgrind found: NO (tried pkgconfig)
Run-time dependency gstreamer-plugins-base-1.0 found: YES 1.22.6
Dependency gstpylon found: YES 0.7.0 (overridden)
Program C:/gstreamer/1.0/msvc_x86_64/libexec/gstreamer-1.0/gst-plugins-doc-cache-generator found: NO
docs\meson.build:32: WARNING: GStreamer plugin inspector for documentation not found, can't update the cache
Program hotdoc found: NO
Message: Hotdoc not found, not building the documentation
Message: Meta python bindings disabled
Configuring config.h using configuration
Build targets in project: 8

Library nvbufsurface found: NO
Run-time dependency CUDA (modules: cudart) found: NO (tried system)
Message: Deepstream or CUDA not found, skipping NVMM support
Run-time dependency valgrind found: NO (tried pkgconfig)
Run-time dependency gstreamer-plugins-base-1.0 found: YES 1.22.6
Dependency gstpylon found: YES 0.7.0 (overridden)
Program C:/gstreamer/1.0/msvc_x86_64/libexec/gstreamer-1.0/gst-plugins-doc-cache-generator found: NO
docs\meson.build:32: WARNING: GStreamer plugin inspector for documentation not found, can't update the cache
Program hotdoc found: NO
Message: Hotdoc not found, not building the documentation
Message: Meta python bindings disabled
Configuring config.h using configuration
Build targets in project: 8

What is the error, that you get?
Is meson failing or ninja ?

Here is the error message it produces when I try meson setup build --prefix=%GSTREAMER_1_0_ROOT_MSVC_X86_64%
Program C:/gstreamer/1.0/msvc_x86_64/libexec/gstreamer-1.0/gst-plugins-doc-cache-generator found: NO
docs\meson.build:32: WARNING: GStreamer plugin inspector for documentation not found, can't update the cache
Program hotdoc found: NO
Message: Hotdoc not found, not building the documentation
Message: Meta python bindings disabled
Configuring config.h using configuration
Build targets in project: 8

And when I ignore and run ninja -C build, it runs into error again. I think that the meson failed the compilation.
Environment: Windows 11, CUDA 12.2, Pylon 7.4.0, gstreamer 1.22.6.

This issue is resolved after reinstalling pylon 7.3.0. Thanks!


[C] Fix building error under arm64/gcc

Fix building error under arm64/gcc due to stdatomic.h included in cpp file.
The issue is as below:
arch: aarch64
system: aws t4g.large
os: Ubuntu 18.04.6 LTS
gcc: 7.5.0
command: ./cppbuild/cppbuild

[ 53%] Building CXX object aeron-client/src/test/c/CMakeFiles/spsc_rb_test.dir/concurrent/aeron_spsc_rb_test.cpp.o
In file included from aeron/aeron-client/src/main/c/concurrent/aeron_atomic64_c11.h:22,
                 from aeron/aeron-client/src/main/c/concurrent/aeron_atomic.h:25,
                 from aeron/aeron-client/src/main/c/concurrent/aeron_rb.h:22,
                 from aeron/aeron-client/src/main/c/concurrent/aeron_spsc_rb.h:20,
                 from aeron/aeron-client/src/test/c/concurrent/aeron_spsc_rb_test.cpp:26:
/usr/lib/gcc/aarch64-linux-gnu/9/include/stdatomic.h:40:9: error: ‘_Atomic’ does not name a type
   40 | typedef _Atomic _Bool atomic_bool;
      |         ^~~~~~~
/usr/lib/gcc/aarch64-linux-gnu/9/include/stdatomic.h:41:9: error: ‘_Atomic’ does not name a type
   41 | typedef _Atomic char atomic_char;
      |         ^~~~~~~
/usr/lib/gcc/aarch64-linux-gnu/9/include/stdatomic.h:42:9: error: ‘_Atomic’ does not name a type
   42 | typedef _Atomic signed char atomic_schar;
      |         ^~~~~~~

add aeron_atomic64_cpp.h to adapt to g++  without touch original aeron_atomic64_c11.h.
This has minimum side effect to original logic.
Test passed on mac m1 and aws t4g.large.

This is the wrong direction.
The test is meant to be testing the C atomics and not shadowing them out to use C++. i.e. this change only affects the tests and removes them as useful as the tests don't test against the right compilation for C.
Also, Aeron C++ API has the std::atomic already and Apple M1 compiles fine. And this is a g++ issue that has been well known for a long time.
To handle the test issues, the tests probably need to instantiate the unit under test as a .c compilation unit that the C++ can call through to. In other words, a shim between the C++ and C side so that the actual tests can be against a C compiled version. Which is the intent.

it's better to update the testcases rather than changing header files.
I'll close the pr and submit a issue to you.


Automated generation of threats by element implementation

Implement automated generation of threats by element
As it was implemented in the 1.X versions

We only had the option to accept or ignore each threat suggestion in the series as a form of brainstorming with minimal suggestion features
Which was the motivation to redesign the same feature with an additional option to skip the whole process accompanying a suggestive feature inherently suggesting the next threat type from within the default threat creation process
as per the original issue #792

implemented in pull request #1033 , thanks @mohamedselbohy ,  so can now close this issue


Subscription list does not update when a stream is deleted.

Hello,
Last week when I was working on #3448, I found that subscription list does not get updated when a stream is deleted (although the stream list is updated).
Steps to reproduce:

Open the mobile app and the web app.
Delete a stream (which you are subscribed to) from the web app.
The deleted stream should disappear from subscription list, but it does not.

I tried to trace the root cause of this problem and it seems that getSubscriptions in getSubscribedStreams in  src/subscriptions/subscriptionSelectors.js returns the same list before & after deleting a stream. This could be easily fixed like I did in this commit, but I think this shouldn't be fixed here. It seems it is more of a server problem and should probably be posted on https://github.com/zulip/zulip/issues, but I want a confirmation before posting there.
P.S: The subscription list is updated properly .when a user unsubscribes.

@timabbott this will be fixed with #3479 but I am surprised there is no 'unsubscribe' event for the Stream being sent.
Is this something we should fix on the back-end or is this intentional?

Thanks @ungps for the report!

@timabbott this will be fixed with #3479 but I am surprised there is no 'unsubscribe' event for the Stream being sent.
Is this something we should fix on the back-end or is this intentional?

To be explicit here: we get a "stream delete" event, but no "unsubscribe".
The "stream delete" seems like it carries all the information, doesn't it? So it seems fine to not also have an "unsubscribe".
In particular: if the server did send an "unsubscribe" in this situation, what would be the meaning of a sequence where the client sees "stream delete" but doesn't yet see "unsubscribe"? What is the state of things at that point?
It's hard to see a meaningful interpretation of that state that is different from getting both "stream delete" and "unsubscribe". So, if the client is correctly handling "stream delete" -- i.e., it's updating its internal data to some kind of meaningful, consistent state -- then if it later gets an "unsubscribe" it will do nothing at all with it. Which makes it seem pretty unnecessary to send it.


fix: broken tests

I didn't execute the tests after implementing the error codes.
(we need a proper CI soon 🙈)

Ah. ! also reviewed verry well then. 🙈

Ah. ! also reviewed verry well then. 🙈

Yes, this was a team effort 😂😂😂


Feat: a new page with complete backend support

Feat: to add a page which list all iron man movies franchise with complete backend support (using tmdb api) .
Detail about page:-

The page will consist of a movie banner , movie name, date of release and rating
The page will be automatically updated without manual interaction as soon as tmdb database updates for any new movie or series.

Assign me this under hacktoberfest and gssoc-ext.

@aslams2020 can you assign me this issue

@aslams2020 hi can you please assign me this issue.


How to register token to firebase on iOS?

I'm using plugin in a ionic 1 application.I want to get a firebase valid token on iOS.Now i receive token from APNS and is not valid for fcm api.Does anyone have an idea?

The v2.x version of the plugin supports FCM.
Use that version, provide the Google-Services.plist file and you should then get the FCM token instead of the FCM one (read the docs about FCM, I might have missed some step)


Distance To Assets updates

Renamed _pro with spaces
Added Descriptions to both toolboxes
Added same Alias to both toolboxes
Added missing .LYR and .LYRX to layers folder.

Description
see above...
Related Issue
None
Motivation and Context
Make sure toolboxes follow guidelines for toolboxes.
Missing symbology for tool outputs.
How Has This Been Tested?
Manual test.
Screenshots (if appropriate):
Types of changes

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[X] My code follows the code style of this project.
[X] My change requires a change to the documentation.
[X] I have updated the documentation accordingly.
[X] I have read the CONTRIBUTING document.

@csmoore Hold off on reviewing this one still finding issues with the toolboxes/tools. Will update them soon.

@csmoore Was finding that the some of the defaults were pointing to local hardcoded paths. They should be ready to go.

Looked at tools in PR, described changes above, and issue - I don't have the data to run the tools, but things looks as described above and issue with default parameters seems addressed:

@mfunk the geocoder wants to be a hard coded path, otherwise the user is going to have to know the URL to the online world geocode service

@adgiles - that still seemed to work - but you may want to grab the latest to confirm since you may be more familiar with the tools

@adgiles
In Pro the geocoder is set to a URL so I left it alone:

In Desktop though it pointed to "D:\streemap_na\data\Street_Addresses_US" which is a path that does not exist on most machines. So that one got removed:

can we point the desktop to the same on as Pro?

@adgiles
I get an error in the Input Address Locator parameter for the Geocode Asset Address Fields with the path: *https://geocode.arcgis.com/arcgis/rest/services/World\GeocodeServer*:

I don't have this error in Pro.

ok, it must have to be set by adding a geocode service to the server connects in catalog, which is documented in the help. So probably best just to leave it blank like you have done

@adgiles Will do. Tried a few variations of inputs but got nowhere. Not sure if there was some combination of url/login/token that might have worked but no luck.


API Endpoint to recognize plugin jar via hash

Is your feature request related to a problem?
No, I want it to be added to recognize a plugin by its hash. I would like to find a source of where a plugin has come from inside my plugin package manager.
Describe the solution you'd like.
I would like an endpoint which requires a hash, then provides what plugin and version it has come from. See this in action via the Modrinth API: https://docs.modrinth.com/#tag/version-files
Describe alternatives you've considered.
Scrape through every single available plugin, and every released version under every released channel, get the hash of said plugin, store inside my of own database (semi illegally), then create an API which would create said endpoint and aggregate a result for the user.
I have hypothetically created this in the past, and it was allegedly not a fun experience.
Other
No response

https://github.com/HangarMC/Hangar/commit/060d99b60fe60a8a33fe958496b5715db2f092f8