Microsoft Remote Desktop crashes when drawing xrdp login dialog

Client: Microsoft Remote Desktop (Store version) 10.2.1810.0
https://user-images.githubusercontent.com/941609/116184328-81b5c280-a75a-11eb-8017-407cf0614b3d.mov

Server
xrdp 5bb9d98 has this issue. However, 0.9.12 doesn't have this issue. It might be a regression of on-the-fly resizing but I'm still not sure. I haven't confirmed with other versions of xrdp.
Workaround
Don't use "ask login credentials every time".
Connect with saved credentials.  It will bypass xrdp's login dialog so the client doesn't crash.

I've confirmed this on this platform:-

Windows 10 20H2 (19042.928)
RDP client 10.2.1810.0 (as above)
Laptop with single screen, resolution 1366x768

Another workaround is to set security_layer=rdp in xrdp..ini. So this may be nothing to do with drawing the dialog box.
I'll run a git bisect and see if I can identify the commit.

I'm experiencing the issue on the 0.9.12 checkout, so there's something more complex going on here. I've tried various config options.
When the crash happens I'm getting the following in the Windows event log:-
 <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
  <Provider Name="Application Error" />
  <EventID Qualifiers="0">1000</EventID>
  <Version>0</Version>
  <Level>2</Level>
  <Task>100</Task>
  <Opcode>0</Opcode>
  <Keywords>0x80000000000000</Keywords>
  <TimeCreated SystemTime="2021-04-27T08:21:06.1566956Z" />
  <EventRecordID>1321</EventRecordID>
  <Correlation />
  <Execution ProcessID="0" ThreadID="0" />
  <Channel>Application</Channel>
  <Computer>DESKTOP-OLT894V</Computer>
  <Security />
  </System>
- <EventData>
  <Data>RdClient.Windows.exe</Data>
  <Data><IP_ADDRESS></Data>
  <Data>60411c6c</Data>
  <Data>RdClientWinRT.dll</Data>
  <Data>1.0.2102.24</Data>
  <Data>6036e9bb</Data>
  <Data>c0000005</Data>
  <Data>00000000003f7d35</Data>
  <Data>1764</Data>
  <Data>01d73b3e42daae35</Data>
  <Data>C:\Program Files\WindowsApps\Microsoft.RemoteDesktop_10.2.1810.0_x64__8wekyb3d8bbwe\RdClient.Windows.exe</Data>
  <Data>C:\Program Files\WindowsApps\Microsoft.RemoteDesktop_10.2.1810.0_x64__8wekyb3d8bbwe\RdClientWinRT.dll</Data>
  <Data>df2bcbf5-f5cf-4508-87da-302d43433ac6</Data>
  <Data>Microsoft.RemoteDesktop_10.2.1810.0_x64__8wekyb3d8bbwe</Data>
  <Data>App</Data>
  </EventData>
  </Event>

@metalefty - how are you configuring v0.9.12 when this is working?

@matt335672 I can not see the whole configuration right now but I'm certain security_layer=rdp at least. I'll paste the whole configuration later.

In my testing I can confirm that this issue was not related to the resizing code and has been around for at least some time, and I had learned that setting sec=rdp helped fix this long before I started working on resizing (Try it with FreeRDP and you'll see the same results most of the time). In my testing this error was not 100% deterministic, which suggests a threading race condition of some sort.
While it may not help, @jsorg71 had added a fix to his egfx branch that repaired at least some of the login scenarios, but it might only be specific to the gfx PR: https://github.com/jsorg71/xrdp/commit/0a581a7f3d5cbe72ba7aafee4d7ba0928d2d62d8
I can do more testing later this week.

Another scenario: Try populating your auto-login credentials with known invalid ones, like username: foo, password: bar, and the login dialog will come up.

Yet another scenario that I've found funny:

Try to connect to XRDP
Failure expected
sudo service xrdp restart
Try to connect again
Result: Success

Here's my xrdp.ini of 0.9.12. It is identical to stock Ubuntu 20.04 installation.

xrdp.ini

[Globals]
; xrdp.ini file version number
ini_version=1

; fork a new process for each incoming connection
fork=true

; ports to listen on, number alone means listen on all interfaces
; <IP_ADDRESS> or :: if ipv6 is configured
; space between multiple occurrences
;
; Examples:
;   port=3389
;   port=unix://./tmp/xrdp.socket
;   port=tcp://.:3389                           <IP_ADDRESS>:3389
;   port=tcp://:3389                            *:3389
;   port=tcp://:3389      <IP_ADDRESS>:3389
;   port=tcp6://.:3389                          ::1:3389
;   port=tcp6://:3389                           *:3389
;   port=tcp6://{}:3389   {FC00:0:0:0:0:0:0:1}:3389
;   port=vsock://:
port=3389

; 'port' above should be connected to with vsock instead of tcp
; use this only with number alone in port above
; prefer use vsock://: above
use_vsock=false

; regulate if the listening socket use socket option tcp_nodelay
; no buffering will be performed in the TCP stack
tcp_nodelay=true

; regulate if the listening socket use socket option keepalive
; if the network connection disappear without close messages the connection will be closed
tcp_keepalive=true

; set tcp send/recv buffer (for experts)
#tcp_send_buffer_bytes=32768
#tcp_recv_buffer_bytes=32768

; security layer can be 'tls', 'rdp' or 'negotiate'
; for client compatible layer
security_layer=negotiate

; minimum security level allowed for client for classic RDP encryption
; use tls_ciphers to configure TLS encryption
; can be 'none', 'low', 'medium', 'high', 'fips'
crypt_level=high

; X.509 certificate and private key
; openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 365
; note this needs the user xrdp to be a member of the ssl-cert group, do with e.g.
;$ sudo adduser xrdp ssl-cert
certificate=
key_file=

; set SSL protocols
; can be comma separated list of 'SSLv3', 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'
ssl_protocols=TLSv1.2, TLSv1.3
; set TLS cipher suites
#tls_ciphers=HIGH

; Section name to use for automatic login if the client sends username
; and password. If empty, the domain name sent by the client is used.
; If empty and no domain name is given, the first suitable section in
; this file will be used.
autorun=

allow_channels=true
allow_multimon=true
bitmap_cache=true
bitmap_compression=true
bulk_compression=true
#hidelogwindow=true
max_bpp=32
new_cursors=true
; fastpath - can be 'input', 'output', 'both', 'none'
use_fastpath=both
; when true, userid/password *must* be passed on cmd line
#require_credentials=true
; You can set the PAM error text in a gateway setup (MAX 256 chars)
#pamerrortxt=change your password according to policy at http://url

;
; colors used by windows in RGB format
;
blue=009cb5
grey=dedede
#black=000000
#dark_grey=808080
#blue=08246b
#dark_blue=08246b
#white=ffffff
#red=ff0000
#green=00ff00
#background=626c72

;
; configure login screen
;

; Login Screen Window Title
#ls_title=My Login Title

; top level window background color in RGB format
ls_top_window_bg_color=009cb5

; width and height of login screen
ls_width=350
ls_height=430

; login screen background color in RGB format
ls_bg_color=dedede

; optional background image filename (bmp format).
#ls_background_image=

; logo
; full path to bmp-file or file in shared folder
ls_logo_filename=
ls_logo_x_pos=55
ls_logo_y_pos=50

; for positioning labels such as username, password etc
ls_label_x_pos=30
ls_label_width=65

; for positioning text and combo boxes next to above labels
ls_input_x_pos=110
ls_input_width=210

; y pos for first label and combo box
ls_input_y_pos=220

; OK button
ls_btn_ok_x_pos=142
ls_btn_ok_y_pos=370
ls_btn_ok_width=85
ls_btn_ok_height=30

; Cancel button
ls_btn_cancel_x_pos=237
ls_btn_cancel_y_pos=370
ls_btn_cancel_width=85
ls_btn_cancel_height=30

[Logging]
LogFile=xrdp.log
LogLevel=DEBUG
EnableSyslog=true
SyslogLevel=DEBUG
; LogLevel and SysLogLevel could by any of: core, error, warning, info or debug

[Channels]
; Channel names not listed here will be blocked by XRDP.
; You can block any channel by setting its value to false.
; IMPORTANT! All channels are not supported in all use
; cases even if you set all values to true.
; You can override these settings on each session type
; These settings are only used if allow_channels=true
rdpdr=true
rdpsnd=true
drdynvc=true
cliprdr=true
rail=true
xrdpvr=true
tcutils=true

; for debugging xrdp, in section xrdp1, change port=-1 to this:
#port=/tmp/.xrdp/xrdp_display_10

; for debugging xrdp, add following line to section xrdp1
#chansrvport=/tmp/.xrdp/xrdp_chansrv_socket_7210

;
; Session types
;

; Some session types such as Xorg, X11rdp and Xvnc start a display server.
; Startup command-line parameters for the display server are configured
; in sesman.ini. See and configure also sesman.ini.
[Xorg]
name=Xorg
lib=libxup.so
username=ask
password=ask
ip=<IP_ADDRESS>
port=-1
code=20

[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=<IP_ADDRESS>
port=-1
#xserverbpp=24
#delay_ms=2000

[vnc-any]
name=vnc-any
lib=libvnc.so
ip=ask
port=ask5900
username=na
password=ask
#pamusername=asksame
#pampassword=asksame
#pamsessionmng=<IP_ADDRESS>
#delay_ms=2000

[neutrinordp-any]
name=neutrinordp-any
lib=libxrdpneutrinordp.so
ip=ask
port=ask3389
username=ask
password=ask

; You can override the common channel settings for each session type
#channel.rdpdr=true
#channel.rdpsnd=true
#channel.drdynvc=true
#channel.cliprdr=true
#channel.rail=true
#channel.xrdpvr=true

I've just had another look into this, and my experiences are as follows:-

If I run with any version of xrdp with TLS selected using the remote desktop saved settings (as per the video above), the client crashes. This include v0.9.12 with @metalefty's config above, and even happens on a stock install of xrdp 0.9.5 on Ubuntu 18.04.
If I open an RDP file using the same client (i.e. right-click, select "Open With...", select "Remote Desktop") the client doesn't crash. I'm pretty sure this is how I tested all of @Nexarian's changes.
The client crash happens early. We get a client Negotiate Request PDU and we respond with a Negotiate Response PDU and then the client crashes. Note this is before the actual TLS negotiation starts.
In both the working and broken configs we send identical data in the negotiate response PDU (flags = EXTENDED_CLIENT_DATA_SUPPORTED, selectedProtocol = PROTOCOL_SSL). Here's a wireshark dump of a failing connect:-

I think Windows server will use one of the CredSSP responses in the negotiate response PDU (even with NLA disabled), and so this doesn't arise with Windows clients. I'br taken a Windows 10 install, enabled RDP and disabled NLA. The nenotiate response PDU contains selectedProtocol=PROTOCOL_HYBRID_EX

In short, this very much seems to be a client problem. I can't see a way to work around it from our end, short of implementing NLA as we're sending the same data when the crash occurs as when it doesn't occur.

Curious, how does FreeRDP handle it?

Also: What about MSTSC?

I've just run up with remmina version 1.4.11 on our latest wavefront, and the initial packet trace goes as follows:-

Client->Server. Negotiate Request PDU with RequestedProtocols=0x00000003 (TLS security supported, CredSSP supported)
Server->Client : Negotiate Response PDU with flags = EXTENDED_CLIENT_DATA_SUPPORTED, selectedProtocol = PROTOCOL_SSL).
Client->Server. TLS 1.3 Client Hello

In other words, the same as the MS client, but there's no crash. Login screen is displayed as expected.
With MSTSC on Windows 10 things are identical except:-

the initial negotiate request contains an (ignored) Routing Cookie
the initial negotiate request PDU contains requestedProtocols=0x0000000b (TLS security supported, CredSSP supported, Early User Authorization Result PDU supported)
The client hello is only TLS 1.2

Again, there's no crash. Login screen is displayed as expected.
The code on our side is
https://github.com/neutrinolabs/xrdp/blob/5bb9d982ea8a7866949df5f34bc5c5b66277b021/libxrdp/xrdp_iso.c#L399
So I've seen nothing further to suggest any way we can fix this on our side in the short term.

We should submit a bug to Microsoft them.

I'd love to. The major question is 'how'?
I've posted a message to MS Q&A here:-
https://docs.microsoft.com/en-us/answers/questions/378751/crash-in-rdclientwinrtdll-version-10210224-without.html
Since we have no other support avenues for MS, I'm not confident of a response. It is however, the best I could think of. I'm open to further suggestions.

Following a suggestion from Nexarian, I've attempted to look at the problem using windbg.
I've not managed to get anywhere sadly. The remote desktop store app is a WinRt app which may have something to do with it.Here's the output I could get:-

Header

Microsoft (R) Windows Debugger Version 10.0.19041.685 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.
Loading Dump File [C:\Users\mjb\rd.dump]
User Mini Dump File: Only registers, stack and portions of memory are available
Symbol search path is: srv*
Executable search path is:
Windows 10 Version 19042 MP (4 procs) Free x64
Product: WinNt, suite: SingleUserTS Personal
19041.1.amd64fre.vb_release.191206-1406
Machine Name:
Debug session time: Thu May  6 11:05:35.000 2021 (UTC + 1:00)
System Uptime: not available
Process Uptime: 0 days 0:01:14.000
................................................................
................................................................
.................
This dump file has an exception of interest stored in it.
The stored exception information can be accessed via .ecxr.
(1a04.122c): Access violation - code c0000005 (first/second chance not available)
For analysis of this file, run !analyze -v
*** WARNING: Unable to verify checksum for RdClientWinRT.dll
RdClientWinRT!DllGetActivationFactory+0x392d05:
00007ffc10767d35 66833a00        cmp     word ptr [rdx],0 ds:0000000000000000=????

analyze -v

0:038> !analyze -v
*******************************************************************************
*                                                                             *
*                        Exception Analysis                                   *
*                                                                             *
*******************************************************************************
*** WARNING: Unable to verify checksum for RdClient.Windows.dll
*** WARNING: Unable to verify checksum for MsRdcWebRTCAddin.dll
KEY_VALUES_STRING: 1
Key  : AV.Dereference
Value: NullPtr

Key  : AV.Fault
Value: Read

Key  : Analysis.CPU.Sec
Value: 31

Key  : Analysis.DebugAnalysisProvider.CPP
Value: Create: 8007007e on DESKTOP-OLT894V

Key  : Analysis.DebugData
Value: CreateObject

Key  : Analysis.DebugModel
Value: CreateObject

Key  : Analysis.Elapsed.Sec
Value: 662

Key  : Analysis.Memory.CommitPeak.Mb
Value: 346

Key  : Analysis.System
Value: CreateObject

Key  : Timeline.Process.Start.DeltaSec
Value: 74

CONTEXT:  (.ecxr)
rax=0000000000000000 rbx=0000000000000000 rcx=521f0717d8d20000
rdx=0000000000000000 rsi=00007ffc10e72c60 rdi=0000000000000000
rip=00007ffc10767d35 rsp=00000015f59fbed0 rbp=00000015f59fbfd0
r8=0000000000000000  r9=0000000000000000 r10=00007ffc10dfb521
r11=00007ffc10dfb521 r12=0000000000000001 r13=00000000ffffffff
r14=00007ffc10df59f8 r15=000001a0f753bc70
iopl=0         nv up ei pl zr na po nc
cs=0033  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00010246
RdClientWinRT!DllGetActivationFactory+0x392d05:
00007ffc10767d35 66833a00        cmp     word ptr [rdx],0 ds:0000000000000000=????
Resetting default scope
EXCEPTION_RECORD:  (.exr -1)
ExceptionAddress: 00007ffc10767d35 (RdClientWinRT!DllGetActivationFactory+0x0000000000392d05)
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]:<PHONE_NUMBER>000000
Parameter[1]:<PHONE_NUMBER>000000
Attempt to read from address<PHONE_NUMBER>000000
PROCESS_NAME:  RdClient.Windows.exe
READ_ADDRESS:<PHONE_NUMBER>000000
ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%p referenced memory at 0x%p. The memory could not be %s.
EXCEPTION_CODE_STR:  c0000005
EXCEPTION_PARAMETER1:<PHONE_NUMBER>000000
EXCEPTION_PARAMETER2:<PHONE_NUMBER>000000
STACK_TEXT:
00000015f59fbed0 00007ffc10761123 : 000001a0f71c64d0<PHONE_NUMBER>000000 000001a0f753a410 000001a0f78066c8 : RdClientWinRT!DllGetActivationFactory+0x392d05
00000015f59fd730 00007ffc1075d839 :<PHONE_NUMBER>000000 000001a0f753a500 000001a0f50863b0 000001a0f744c820 : RdClientWinRT!DllGetActivationFactory+0x38c0f3
00000015f59fd980 00007ffc1062e28b : 000001a0f751db10 000001a0f744c820 000001a0f50863b0 000001a0f744c820 : RdClientWinRT!DllGetActivationFactory+0x388809
00000015f59fdb60 00007ffc105ef2a7 : 000001a0f744c820 00007ffc1080a98d 000001a0f7124910<PHONE_NUMBER>e47c37 : RdClientWinRT!DllGetActivationFactory+0x25925b
00000015f59fdb90 00007ffc1072d05a : 0000520af2880322 000001a0f744c820 000001a0f50863b0<PHONE_NUMBER>e47c37 : RdClientWinRT!DllGetActivationFactory+0x21a277
00000015f59fdda0 00007ffc1072e69d : 000001a0f744c820 000001a0f744c820 000001a0f50863b0 000001a0f75a9d80 : RdClientWinRT!DllGetActivationFactory+0x35802a
00000015f59fde00 00007ffc1072e1a9 : 000001a0f751db70<PHONE_NUMBER>000001 000001a0f75a9ce0 00000015f59fdf80 : RdClientWinRT!DllGetActivationFactory+0x35966d
00000015f59fde80 00007ffc10731b59 :<PHONE_NUMBER>000000<PHONE_NUMBER>000000 000001a0f751db10<PHONE_NUMBER>000002 : RdClientWinRT!DllGetActivationFactory+0x359179
00000015f59fe300 00007ffc1073230a : 00000000ffffffff 00000000ffffffff 000001a0f751db10<PHONE_NUMBER>000000 : RdClientWinRT!DllGetActivationFactory+0x35cb29
00000015f59fe750 00007ffc107307e7 : 00000015f59feec0 00007ffc10539126 000001a0f71e5f90<PHONE_NUMBER>000000 : RdClientWinRT!DllGetActivationFactory+0x35d2da
00000015f59fed80 00007ffc10634a78 : 000001a0f71e5f90 00007ffc10df59f8<PHONE_NUMBER>000001<PHONE_NUMBER>000002 : RdClientWinRT!DllGetActivationFactory+0x35b7b7
00000015f59fedc0 00007ffc106347d9 : 000001a0f71c64e0 00007ffc10df59f8 000001a0f71e5f90 000001a0f75cbf30 : RdClientWinRT!DllGetActivationFactory+0x25fa48
00000015f59fefa0 00007ffc1072fdf4 : 000001a0f751db10 000001a0f751db10 00007ffc10df59f8 000001a0f75cbf30 : RdClientWinRT!DllGetActivationFactory+0x25f7a9
00000015f59ff170 00007ffc1080cd34 :<PHONE_NUMBER>000000 00000015f50fd7c0 00007ffc10370000 00007ffc1072f670 : RdClientWinRT!DllGetActivationFactory+0x35adc4
00000015f59ff890 00007ffc469e7034 :<PHONE_NUMBER>000000<PHONE_NUMBER>000000<PHONE_NUMBER>000000<PHONE_NUMBER>000000 : RdClientWinRT!DllGetActivationFactory+0x437d04
00000015f59ff8c0 00007ffc47862651 :<PHONE_NUMBER>000000<PHONE_NUMBER>000000<PHONE_NUMBER>000000<PHONE_NUMBER>000000 : kernel32!BaseThreadInitThunk+0x14
00000015f59ff8f0<PHONE_NUMBER>000000 :<PHONE_NUMBER>000000<PHONE_NUMBER>000000<PHONE_NUMBER>000000<PHONE_NUMBER>000000 : ntdll!RtlUserThreadStart+0x21
SYMBOL_NAME:  RdClientWinRT!DllGetActivationFactory+392d05
MODULE_NAME: RdClientWinRT
IMAGE_NAME:  RdClientWinRT.dll
STACK_COMMAND:  ~38s ; .ecxr ; kb
FAILURE_BUCKET_ID:  NULL_POINTER_READ_c0000005_RdClientWinRT.dll!DllGetActivationFactory
OS_VERSION:  10.0.19041.1
BUILDLAB_STR:  vb_release
OSPLATFORM_TYPE:  x64
OSNAME:  Windows 10
FAILURE_ID_HASH:  {97b71d8a-6580-3da7-9fa4-b8b221a45522}
Followup:     MachineOwner
---------
0:038>
ExceptionAddress: 00007ffc10767d35 (RdClientWinRT!DllGetActivationFactory+0x0000000000392d05)
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]:<PHONE_NUMBER>000000
Parameter[1]:<PHONE_NUMBER>000000
Attempt to read from address<PHONE_NUMBER>000000

kp

0:038> kp
 # Child-SP          RetAddr           Call Site
00 00000015`f59fbed0 00007ffc`10761123 RdClientWinRT!DllGetActivationFactory+0x392d05
01 00000015`f59fd730 00007ffc`1075d839 RdClientWinRT!DllGetActivationFactory+0x38c0f3
02 00000015`f59fd980 00007ffc`1062e28b RdClientWinRT!DllGetActivationFactory+0x388809
03 00000015`f59fdb60 00007ffc`105ef2a7 RdClientWinRT!DllGetActivationFactory+0x25925b
04 00000015`f59fdb90 00007ffc`1072d05a RdClientWinRT!DllGetActivationFactory+0x21a277
05 00000015`f59fdda0 00007ffc`1072e69d RdClientWinRT!DllGetActivationFactory+0x35802a
06 00000015`f59fde00 00007ffc`1072e1a9 RdClientWinRT!DllGetActivationFactory+0x35966d
07 00000015`f59fde80 00007ffc`10731b59 RdClientWinRT!DllGetActivationFactory+0x359179
08 00000015`f59fe300 00007ffc`1073230a RdClientWinRT!DllGetActivationFactory+0x35cb29
09 00000015`f59fe750 00007ffc`107307e7 RdClientWinRT!DllGetActivationFactory+0x35d2da
0a 00000015`f59fed80 00007ffc`10634a78 RdClientWinRT!DllGetActivationFactory+0x35b7b7
0b 00000015`f59fedc0 00007ffc`106347d9 RdClientWinRT!DllGetActivationFactory+0x25fa48
0c 00000015`f59fefa0 00007ffc`1072fdf4 RdClientWinRT!DllGetActivationFactory+0x25f7a9
0d 00000015`f59ff170 00007ffc`1080cd34 RdClientWinRT!DllGetActivationFactory+0x35adc4
0e 00000015`f59ff890 00007ffc`469e7034 RdClientWinRT!DllGetActivationFactory+0x437d04
0f 00000015`f59ff8c0 00007ffc`47862651 kernel32!BaseThreadInitThunk+0x14
10 00000015`f59ff8f0 00000000`00000000 ntdll!RtlUserThreadStart+0x21

The lack of a symbolic trace seems related to this error:-
*** WARNING: Unable to verify checksum for RdClient.Windows.dll

Look up the documentation on how to connect to Microsoft's public symbol servers. It's a bit of an arcane command/UI option if I remember correctly, but it is documented and the servers are reliable. But it shouldn't be a checksum issue, I think you just need the symbols. They are gigantic files which is why you have to set this up yourself, Microsoft wanted to make sure you really wanted to download them before they were enabled.
Here's some documentation that may help:

https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/symbol-path
https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/microsoft-public-symbols

Let me know if you need help with figuring this part out.

windbg is all set up to connect to the symbol servers. Symbol search path is cache*;SRV*https://msdl.microsoft.com/download/symbols"
Sadly, I think what the message means is that the dll checksum is not found on the symbol servers. I think this is something to do with it being a WinRt app. I've even checked this isn't a file permissions issue which was hard enough to do with the c:\Program Files\WindowsApps directory.
I've used the !sym noisy commandf in windbg which illustrates the issue:-

Microsoft (R) Windows Debugger Version 10.0.19041.685 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.

Loading Dump File [C:\Users\mjb\rd.dump]
User Mini Dump File: Only registers, stack and portions of memory are available

Symbol search path is: srv*
Executable search path is:
Windows 10 Version 19042 MP (4 procs) Free x64
Product: WinNt, suite: SingleUserTS Personal
19041.1.amd64fre.vb_release.191206-1406
Machine Name:
Debug session time: Thu May  6 11:05:35.000 2021 (UTC + 1:00)
System Uptime: not available
Process Uptime: 0 days 0:01:14.000
................................................................
................................................................
.................
This dump file has an exception of interest stored in it.
The stored exception information can be accessed via .ecxr.
(1a04.122c): Access violation - code c0000005 (first/second chance not available)
For analysis of this file, run !analyze -v
*** WARNING: Unable to verify checksum for RdClientWinRT.dll
RdClientWinRT!DllGetActivationFactory+0x392d05:
00007ffc`10767d35 66833a00        cmp     word ptr [rdx],0 ds:00000000`00000000=????
0:038> !sym noisy
noisy mode - symbol prompts on
0:038> .reload
................................................................
................................................................
.................
SYMSRV:  BYINDEX: 0x6
         C:\ProgramData\dbg\sym
         RdClientWinRT.dll
         6036E9BB1101000
SYMSRV:  UNC: C:\ProgramData\dbg\sym\RdClientWinRT.dll\6036E9BB1101000\RdClientWinRT.dll - path not found
SYMSRV:  UNC: C:\ProgramData\dbg\sym\RdClientWinRT.dll\6036E9BB1101000\RdClientWinRT.dl_ - path not found
SYMSRV:  UNC: C:\ProgramData\dbg\sym\RdClientWinRT.dll\6036E9BB1101000\file.ptr - path not found
SYMSRV:  RESULT: 0x80070003
SYMSRV:  BYINDEX: 0x7
         C:\ProgramData\dbg\sym*https://msdl.microsoft.com/download/symbols
         RdClientWinRT.dll
         6036E9BB1101000
SYMSRV:  UNC: C:\ProgramData\dbg\sym\RdClientWinRT.dll\6036E9BB1101000\RdClientWinRT.dll - path not found
SYMSRV:  UNC: C:\ProgramData\dbg\sym\RdClientWinRT.dll\6036E9BB1101000\RdClientWinRT.dl_ - path not found
SYMSRV:  UNC: C:\ProgramData\dbg\sym\RdClientWinRT.dll\6036E9BB1101000\file.ptr - path not found
SYMSRV:  HTTPGET: /download/symbols/RdClientWinRT.dll/6036E9BB1101000/RdClientWinRT.dll
SYMSRV:  HttpQueryInfo(HTTP_QUERY_CONTENT_LENGTH): 800C2F76 - ERROR_HTTP_HEADER_NOT_FOUND
SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND
SYMSRV:  HTTPGET: /download/symbols/RdClientWinRT.dll/6036E9BB1101000/RdClientWinRT.dl_
SYMSRV:  HttpQueryInfo(HTTP_QUERY_CONTENT_LENGTH): 800C2F76 - ERROR_HTTP_HEADER_NOT_FOUND
SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND
SYMSRV:  HTTPGET: /download/symbols/RdClientWinRT.dll/6036E9BB1101000/file.ptr
SYMSRV:  HttpQueryInfo(HTTP_QUERY_CONTENT_LENGTH): 800C2F76 - ERROR_HTTP_HEADER_NOT_FOUND
SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND
SYMSRV:  RESULT: 0x80190194
DBGHELP: C:\Program Files (x86)\Windows Kits\10\Debuggers\RdClientWinRT.dll - file not found
SYMSRV:  BYINDEX: 0x8
         https://msdl.microsoft.com/download/symbols
         RdClientWinRT.dll
         6036E9BB1101000
SYMSRV:  UNC: C:\ProgramData\dbg\sym\RdClientWinRT.dll\6036E9BB1101000\RdClientWinRT.dll - path not found
SYMSRV:  UNC: C:\ProgramData\dbg\sym\RdClientWinRT.dll\6036E9BB1101000\RdClientWinRT.dl_ - path not found
SYMSRV:  UNC: C:\ProgramData\dbg\sym\RdClientWinRT.dll\6036E9BB1101000\file.ptr - path not found
SYMSRV:  HTTPGET: /download/symbols/RdClientWinRT.dll/6036E9BB1101000/RdClientWinRT.dll
SYMSRV:  HttpQueryInfo(HTTP_QUERY_CONTENT_LENGTH): 800C2F76 - ERROR_HTTP_HEADER_NOT_FOUND
SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND
SYMSRV:  HTTPGET: /download/symbols/RdClientWinRT.dll/6036E9BB1101000/RdClientWinRT.dl_
SYMSRV:  HttpQueryInfo(HTTP_QUERY_CONTENT_LENGTH): 800C2F76 - ERROR_HTTP_HEADER_NOT_FOUND
SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND
SYMSRV:  HTTPGET: /download/symbols/RdClientWinRT.dll/6036E9BB1101000/file.ptr
SYMSRV:  HttpQueryInfo(HTTP_QUERY_CONTENT_LENGTH): 800C2F76 - ERROR_HTTP_HEADER_NOT_FOUND
SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND
SYMSRV:  RESULT: 0x80190194
DBGENG:  C:\Program Files\WindowsApps\Microsoft.RemoteDesktop_10.2.1810.0_x64__8wekyb3d8bbwe\RdClientWinRT.dll - Mapped image memory
SYMSRV:  BYINDEX: 0x9
         C:\ProgramData\dbg\sym
         RdClientWinRT.pdb
         A22A5B9E51C84304A5507C57AE3EC3DA1
SYMSRV:  UNC: C:\ProgramData\dbg\sym\RdClientWinRT.pdb\A22A5B9E51C84304A5507C57AE3EC3DA1\RdClientWinRT.pdb - path not found
SYMSRV:  UNC: C:\ProgramData\dbg\sym\RdClientWinRT.pdb\A22A5B9E51C84304A5507C57AE3EC3DA1\RdClientWinRT.pd_ - path not found
SYMSRV:  UNC: C:\ProgramData\dbg\sym\RdClientWinRT.pdb\A22A5B9E51C84304A5507C57AE3EC3DA1\file.ptr - path not found
SYMSRV:  RESULT: 0x80070003
SYMSRV:  BYINDEX: 0xA
         C:\ProgramData\dbg\sym*https://msdl.microsoft.com/download/symbols
         RdClientWinRT.pdb
         A22A5B9E51C84304A5507C57AE3EC3DA1
SYMSRV:  UNC: C:\ProgramData\dbg\sym\RdClientWinRT.pdb\A22A5B9E51C84304A5507C57AE3EC3DA1\RdClientWinRT.pdb - path not found
SYMSRV:  UNC: C:\ProgramData\dbg\sym\RdClientWinRT.pdb\A22A5B9E51C84304A5507C57AE3EC3DA1\RdClientWinRT.pd_ - path not found
SYMSRV:  UNC: C:\ProgramData\dbg\sym\RdClientWinRT.pdb\A22A5B9E51C84304A5507C57AE3EC3DA1\file.ptr - path not found
SYMSRV:  HTTPGET: /download/symbols/RdClientWinRT.pdb/A22A5B9E51C84304A5507C57AE3EC3DA1/RdClientWinRT.pdb
SYMSRV:  HttpQueryInfo(HTTP_QUERY_CONTENT_LENGTH): 800C2F76 - ERROR_HTTP_HEADER_NOT_FOUND
SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND
SYMSRV:  HTTPGET: /download/symbols/RdClientWinRT.pdb/A22A5B9E51C84304A5507C57AE3EC3DA1/RdClientWinRT.pd_
SYMSRV:  HttpQueryInfo(HTTP_QUERY_CONTENT_LENGTH): 800C2F76 - ERROR_HTTP_HEADER_NOT_FOUND
SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND
SYMSRV:  HTTPGET: /download/symbols/RdClientWinRT.pdb/A22A5B9E51C84304A5507C57AE3EC3DA1/file.ptr
SYMSRV:  HttpQueryInfo(HTTP_QUERY_CONTENT_LENGTH): 800C2F76 - ERROR_HTTP_HEADER_NOT_FOUND
SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND
SYMSRV:  RESULT: 0x80190194
DBGHELP: RdClientWinRT.pdb - file not found
DBGHELP: E:\BA\50\b\release\x64\RdClientWinRT.pdb - file not found
*** WARNING: Unable to verify checksum for RdClientWinRT.dll
DBGHELP: RdClientWinRT - export symbols

************* Symbol Loading Error Summary **************
Module name            Error
RdClientWinRT          The system cannot find the file specified
				The SYMSRV client failed to find a file in the UNC store, or there
				is an invalid UNC store (an invalid path or the pingme.txt file is
				not present in the root directory), or the file is present in the
				symbol server exclusion list.


share/p2p/peers: Peer manager hardening tracking issue

[x] https://github.com/celestiaorg/celestia-node/issues/1731
[x] add debug logs
[x] add GC for old / unwanted pools
[ ] https://github.com/celestiaorg/celestia-node/issues/1780

Related to #1707

Closing, because all issues are tracked in Blocksync Epic:https://github.com/celestiaorg/celestia-node/issues/1397


Fix broken Google Maps API link

I am changing this to point to the documentation for the Google Maps Javascript API Home (https://developers.google.com/maps/documentation/javascript/) Another option would be to point to the direct API reference (https://developers.google.com/maps/documentation/javascript/reference)

Hi @vanhineam,
thank you for fixing the link!
Please note that the link you proposed is for the JavaScript client Google Maps API.
This library implement the webservices API:
https://developers.google.com/maps/web-services/overview
Although the library is also written in JavaScript it is a server side implementation of Google Maps web services and it is not suitable to use on the client.


Update browserslist regularly

Please describe the feature you would like to see implemented.
We should update browserslist database in storefront and administration regularly:
[info] [webpackbar] Compiling Shopware 6 Storefront
Browserslist: caniuse-lite is outdated. Please run:
npx browserslist@latest --update-db
Why you should do it regularly:
https://github.com/browserslist/browserslist#browsers-data-updating

I guess its a core issue and not for this project

This ticket is not an issue, just a enhancement :-)
Because we can deal it foe plugins this way.


KaTeX support!

This will be an easy one, I just haven't had time to get around to it.
The katex renderer will piggy-back off the remarkable renderer (as it does in the legacy build), however the current remarkable renderer should be placed into it's own component before this happens

is it tbd in the same way as the prior version?

is it tbd in the same way as the prior version?

I'm not sure what you mean by "the same way". The Katex lib will be added to the package.json, then included in the rendering component, the remarkable renderer will then be told to use an instance of Katex. The way a user posts Latex to the chat will remain the same.

I'm not sure what you mean by "the same way". The Katex lib will be added to the package.json, then included in the rendering component, the remarkable renderer will then be told to use an instance of Katex. The way a user posts Latex to the chat will remain the same.

Feature added with c78648c7d1c3fbbe97d6972dfb5257480fdf51e9 and is live on beta.hack.chat


Removed Random from Box and updated Project.toml

With reference to this issue #12

Thanks @kraftpunk97 !


Set panel component's title heading level to 1 as default

We think the panel title should be the h1 in the majority of cases.
This PR:

updates the Panel component template
updates the component tests
updates the example YAMl file
generates and updated README

Trello ticket: https://trello.com/c/CA0fql0w/1388-set-panel-components-title-heading-level-to-1-as-default
Fixes: https://github.com/alphagov/govuk-frontend/issues/864

Merged in @igloosi's absence.


Update README.md

What does this PR do?
What issues does this PR fix or reference?
#
The PR fulfills these requirements:
[ ] Tests for the proposed changes have been added/updated.
[ ] Code linting and formatting was performed.
Functionality Before
<insert gif and/or summary>
Functionality After
<insert gif and/or summary>

uat TO PREPROD


Activity RetryPolicy does not work well for host specific tasklist

Cadence server adjusts ScheduleToStartTimeout(Queue Timeout) to be the same as ExpirationInterval specified for RetryOptions.  This does not work well when client wants to use task routing for host specific tasklist, as it requires to have much smaller ScheduleToStartTimeout so the task can be retried on a different host in case of host failure.

One of the issues for Cadence in this particular case, it has no way to identify if the tasklist is host specific or not.  So currently there is no way to associate different behavior for RetryPolicy based on type of activity tasklist.
We might need to think about a high level abstraction for activity host specific tasklist which might make it easier for Server to associate different behavior for configured retry policy.

@yycptt move to client

Moved to client side https://github.com/uber-go/cadence-client/issues/697


Move to using canvas unpack as part of solution unpack

DO NOT APPROVE/MERGE UNTIL NEW PAC BASED POWER PLATFORM BUILD TOOLS ARE PUBLICLY AVAILABLE
Fixes microsoft/coe-starter-kit#3006
Fixes microsoft/coe-starter-kit#3035

Using a variable also gives people the ability to override this setting globally for a given pipeline without needing to edit the yml file.

Fixes microsoft/coe-starter-kit#3035

Ran across an issue in testing with the new Power Platform Build Tools #135. We'll need to hold off on this PR for the July release until this is resolved.

Closing this out for now as the changes have been incorporated into https://github.com/microsoft/coe-alm-accelerator-templates/pull/176


Clubhouse Voice Social App Support

Checklist

[X] I'm reporting a new site support request
[X] I've verified that I'm running yt-dlp version 2<IP_ADDRESS> (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that none of provided URLs violate any copyrights or contain any DRM to the best of my knowledge
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[ ] I've read about sharing account credentials and am willing to share it if required

Region
Global, except countries that blocked from national firewall
Example URLs

Single Audio:
https://www.clubhouse.com/room/PN50O4GG?utm_medium=ch_room_xerc&utm_campaign=MNCJrc7UGsjhsqjZi3ZqJQ-248223
Example Thumbnails Related for the Audio:
https://www.clubhouse.com/og/room/PN50O4GG.png?utm_medium=ch_room_xerc&utm_campaign=MNCJrc7UGsjhsqjZi3ZqJQ-248223
Metadata Script for the Clubhouse App:
https://static-assets.clubhouseapi.com/static/web_client/js/build.dddd417c0e2e.js
The App Source Code of this Example Page:
 Please copy, paste only and do not click the link below
view-source:https://www.clubhouse.com/room/PN50O4GG?utm_medium=ch_room_xerc&utm_campaign=MNCJrc7UGsjhsqjZi3ZqJQ-248223

Description
Introduction to Clubhouse Mobile App:
https://en.m.wikipedia.org/wiki/Clubhouse_(app)
Their offical site:
https://www.clubhouse.com/
Verbose log
yt-dlp -cw --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; arm64) Chrome/103.0.5060.53 Edg/103.0.1264.21 yt-dlp/$VERSION aria2/$VERSION wget/$VERSION Transmission/3.00" -N $(cat /proc/cpuinfo | grep processor | wc -l) -f mergeall --video-multistreams --audio-multistreams --merge-output-format evc --embed-subs --embed-thumbnail --audio-quality 0 "https://www.clubhouse.com/room/PN50O4GG?utm_medium=ch_room_xerc&utm_campaign=MNCJrc7UGsjhsqjZi3ZqJQ-248223"
[generic] PN50O4GG?utm_medium=ch_room_xerc&utm_campaign=MNCJrc7UGsjhsqjZi3ZqJQ-248223: Requesting header
WARNING: [generic] Falling back on generic information extractor.
[generic] PN50O4GG?utm_medium=ch_room_xerc&utm_campaign=MNCJrc7UGsjhsqjZi3ZqJQ-248223: Downloading webpage
[generic] PN50O4GG?utm_medium=ch_room_xerc&utm_campaign=MNCJrc7UGsjhsqjZi3ZqJQ-248223: Extracting information
ERROR: Unsupported URL: https://www.clubhouse.com/room/PN50O4GG?utm_medium=ch_room_xerc&utm_campaign=MNCJrc7UGsjhsqjZi3ZqJQ-248223
~/.../Download/Audios $ pip install -U --no-cache-dir -qqq yt-dlp
~/.../Download/Audios $ yt-dlp -vU -cw --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; arm64) Chrome/103.0.5060.53 Edg/103.0.1264.21 yt-dlp/$VERSION aria2/$VERSION wget/$VERSION Transmission/3.00" -N $(cat /proc/cpuinfo | grep processor | wc -l) -f mergeall --video-multistreams --audio-multistreams --merge-output-format evc --embed-subs --embed-thumbnail --audio-quality 0 "https://www.clubhouse.com/room/PN50O4GG?utm_medium=ch_room_xerc&utm_campaign=MNCJrc7UGsjhsqjZi3ZqJQ-248223"
[debug] Command-line config: ['-vU', '-cw', '--user-agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; arm64) Chrome/103.0.5060.53 Edg/103.0.1264.21 yt-dlp/ aria2/ wget/ Transmission/3.00', '-N', '8', '-f', 'mergeall', '--video-multistreams', '--audio-multistreams', '--merge-output-format', 'evc', '--embed-subs', '--embed-thumbnail', '--audio-quality', '0', 'https://www.clubhouse.com/room/PN50O4GG?utm_medium=ch_room_xerc&utm_campaign=MNCJrc7UGsjhsqjZi3ZqJQ-248223']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2<IP_ADDRESS> [a86e01e]
[debug] Python version 3.10.5 (CPython 64bit) - Linux-4.9.186-22986754-aarch64-with-libc
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg 5.0.1 (setts), ffprobe 5.0.1
[debug] Optional libraries: Cryptodome-3.14.1, brotli-1.0.9, certifi-2<IP_ADDRESS>, mutagen-1.45.1, sqlite3-2.6.0, websockets-10.3
[debug] Proxy map: {}
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2<IP_ADDRESS>, Current version: 2<IP_ADDRESS>
yt-dlp is up to date (2<IP_ADDRESS>)
[debug] [generic] Extracting URL: https://www.clubhouse.com/room/PN50O4GG?utm_medium=ch_room_xerc&utm_campaign=MNCJrc7UGsjhsqjZi3ZqJQ-248223
[generic] PN50O4GG?utm_medium=ch_room_xerc&utm_campaign=MNCJrc7UGsjhsqjZi3ZqJQ-248223: Requesting header
WARNING: [generic] Falling back on generic information extractor.
[generic] PN50O4GG?utm_medium=ch_room_xerc&utm_campaign=MNCJrc7UGsjhsqjZi3ZqJQ-248223: Downloading webpage
[generic] PN50O4GG?utm_medium=ch_room_xerc&utm_campaign=MNCJrc7UGsjhsqjZi3ZqJQ-248223: Extracting information
[debug] Looking for video embeds
ERROR: Unsupported URL: https://www.clubhouse.com/room/PN50O4GG?utm_medium=ch_room_xerc&utm_campaign=MNCJrc7UGsjhsqjZi3ZqJQ-248223
Traceback (most recent call last):
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1427, in wrapper
    return func(self, *args, **kwargs)
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1497, in __extract_info
    ie_result = ie.extract(url)
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 647, in extract
    ie_result = self._real_extract(url)
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/yt_dlp/extractor/generic.py", line 4136, in _real_extract
    raise UnsupportedError(url)
yt_dlp.utils.UnsupportedError: Unsupported URL: https://www.clubhouse.com/room/PN50O4GG?utm_medium=ch_room_xerc&utm_campaign=MNCJrc7UGsjhsqjZi3ZqJQ-248223

I'm taking this up and will be treating this as a podcast extractor (no fancy parsing of when a guy joined or who is speaking etc)


[HW] Ankita Srivastava

Name: Ankita Srivastava
Email<EMAIL_ADDRESS>Linkedin Profile:
Attach the homework screenshots below for both step II and step III:

2.

You may need to attach "Congratulations!" screenshots from https://www.datastax.com/node/3272 and https://www.datastax.com/dev/scenario/try-it-out-cassandra-query-language-cql as well, @jollyank .

You may need to attach "Congratulations!" screenshots from https://www.datastax.com/node/3272 and https://www.datastax.com/dev/scenario/try-it-out-cassandra-query-language-cql as well, @jollyank .

See https://github.com/datastaxdevs/workshop-intro-to-cassandra/issues/312

done

Hey Ankita Srivastava, great job! Congrats! Here is your badge! https://api.badgr.io/public/assertions/Hz5P_yFTRJOc66y6UtrGLw


HE_SESSID - Where do I get it?

I like faster, but I don't know what the SESSID even is. Could you explain a little more about it and how to get it?  Thanks, Tom

I think it's the CGISESSID cookie that's created when you log in.


wasabi: migrate to multipart uploads write

Hi! I'm new in here! Can i help with this?

Hi! I'm new in here! Can i help with this?

Sure! Wish you have fun here!

wasabi doesn't implement multipart upload. This issue is invalid, closing now.
@Yangsx-1 thanks for the interest.


'elapsedMillis' does not name a type

I have:
ESP32 DevKit v1
ubx v5.1.0
units v4.1.1
eigen v3.0.2
When I compile ublox_example.ino, I get an error
In file included from /home/boris/.var/app/cc.arduino.IDE2/cache/.arduinoIDE-unsaved202281-31-1aa1z6a.w72z/ublox_example/ublox_example.ino:26:0:
/home/boris/Документы/Projects/Arduino/libraries/ublox-5.1.0/src/ubx.h:161:3: error: 'elapsedMillis' does not name a type
   elapsedMillis t_ms_;
   ^

exit status 1

Compilation error: exit status 1

I have included elapsedMillis library in ubx.h and now everything works.
I do not know if this error appeared due to the peculiarity of using ESP32 or something else.

Thanks, I fixed this in the latest release.


Editing DSound/DTube and possibly other apps posts with eSteem removes important metadata from the post

Hi there @feruzm! I had a report of a DSound user that used eSteem to edit a post and the post didn't work anymore... Went to check it out and verified that eSteem app is substituting the json_metadata of the post with it's own. I find it strange that nobody already reported this with DTube posts for instance...
So the recommended solution would be to incorporate the already existing metadata when updating and only change what makes sense to eSteem app. This way eSteem would be keeping all apps extra data intact as it should be... Thanks! :)

Hi, I believe you are referring to app section in json?! Edits overwrites json_metadata.app as it is done similarly on steemit.com.

no problem with the json_metdata.app :) the problem is that in that case the json_metadata.audio disappeared... and instead there was a images and other data that wasn't on the original post by dsound. so it seems that when updating a post, your app is creating json_metadata from a {} instead of from {...old_json_metadata} and substituting what needs to be substituted. if eSteem is not doing that, then sorry, but some other app should be removing the data...

eSteem merges into old json metadata when editing, not sure about steemit. But eSteem uses steemit standard and was wondering you could consider adding json_metadata.image field with links of images within post because we use first image from that array as a thumbnail and if dlive or dsound doesn't add them, it fallsback to default cover image... Busy, Steepshot and Dtube following that standard now, but some apps still in progress to update that. Steemit does that by default as well.


DRAFT: Custom Structs for ACSets

This is a draft for generating custom structs for ACSets, related to #375. Currently, if pres is the presentation for WeightedGraph, then struct_acset(:WeightedGraph, pres, [:src,:tgt]) produces
quote
    #= /g/Catlab.jl/src/categorical_algebra/StructAcsets.jl:42 =#
    struct WeightedGraph{Weight}
        #= /g/Catlab.jl/src/categorical_algebra/StructAcsets.jl:43 =#
        tables::NamedTuple{(:V, :E), Tuple{Table{NamedTuple{(), Tuple{}}}, Table{NamedTuple{(:src, :tgt, :weight), Tuple{Int64, Int64, Weight}}}}}
    end
    #= /g/Catlab.jl/src/categorical_algebra/StructAcsets.jl:46 =#
    schema(::Type{<:WeightedGraph}) = begin
            #= /g/Catlab.jl/src/categorical_algebra/StructAcsets.jl:46 =#
            Presentation{Schema,Symbol}(Catlab.Theories.FreeSchema, (Ob = Catlab.Theories.FreeSchema.Ob{:generator}[V, E], Hom = Catlab.Theories.FreeSchema.Hom{:generator}[src, tgt], Data = Catlab.Theories.FreeSchema.Data{:generator}[Weight], Attr = Catlab.Theories.FreeSchema.Attr{:generator}[weight]), Dict(:src => (:Hom => 1),:weight => (:Attr => 1),:V => (:Ob => 1),:E => (:Ob => 2),:tgt => (:Hom => 2),:Weight => (:Data => 1)), Pair[])
        end
end

I still have to add indices and make this into a macro, but as a proof of concept this is totally doable. I'm now having vague recollections of discussing this before; did we decide that something made this undesirable? I feel like it really might solve a lot of our problems.

The good news is that I think most of the accessing code doesn't even need to change that much! We even get to clean it up, because we can work with the presentation object directly instead of the clumsy CatDesc and AttrDesc.

The good news is that I think most of the accessing code doesn't even need to change that much! We even get to clean it up, because we can work with the presentation object directly instead of the clumsy CatDesc and AttrDesc.

Yes, and functions that are constant given type of the input argument like your schema function, are subject to constant propagation at compile time. So no runtime performance penalty is introduced there.

Yes, and functions that are constant given type of the input argument like your schema function, are subject to constant propagation at compile time. So no runtime performance penalty is introduced there.

Well, schema is only called a @generation time, so it doesn't really matter either way :D

Well, schema is only called a @generation time, so it doesn't really matter either way :D

I can see an application where you would want to avoid generated functions and use a more generic implementation to avoid compile costs. Like if you used ACSets to interface with a DB and every query result came back as an ACSet with a different schema. You would want a generic implementation for all schemas rather than specializing on each schema so that the compiler wasn’t invoked for every query. But that application is far away and this refactor will help with that by making subtyping less janky.

I can see an application where you would want to avoid generated functions and use a more generic implementation to avoid compile costs. Like if you used ACSets to interface with a DB and every query result came back as an ACSet with a different schema. You would want a generic implementation for all schemas rather than specializing on each schema so that the compiler wasn’t invoked for every query. But that application is far away and this refactor will help with that by making subtyping less janky.

I can see an application where you would want to avoid generated functions and use a more generic implementation to avoid compile costs. Like if you used ACSets to interface with a DB and every query result came back as an ACSet with a different schema. You would want a generic implementation for all schemas rather than specializing on each schema so that the compiler wasn’t invoked for every query. But that application is far away and this refactor will help with that by making subtyping less janky.

Yes, this makes a lot of sense, and this is exactly what I mean when I say "custom implementations". I.e.; we can have different implementations of the basic operations, including generic ones.

I can see an application where you would want to avoid generated functions and use a more generic implementation to avoid compile costs. Like if you used ACSets to interface with a DB and every query result came back as an ACSet with a different schema. You would want a generic implementation for all schemas rather than specializing on each schema so that the compiler wasn’t invoked for every query. But that application is far away and this refactor will help with that by making subtyping less janky.

Yes, this makes a lot of sense, and this is exactly what I mean when I say "custom implementations". I.e.; we can have different implementations of the basic operations, including generic ones.

OK, while we're at it, we might as well clean up the interface for declaring an acset. Really, it should be as simple as:
@acset_type WeightedGraph{T} begin
  V::Ob
  E::Ob with {src::V,weight::T}
  tgt::Hom(E,V)
end

I.e., we support both declaring homs in-line and separately, and data objects are automatically declared through the generic type. This also obviates the annoying requirement to have both "WeightedGraph" and "TheoryWeightedGraph". We will just have "WeightedGraph" and "schema(WeightedGraph)".

OK, while we're at it, we might as well clean up the interface for declaring an acset. Really, it should be as simple as:
@acset_type WeightedGraph{T} begin
  V::Ob
  E::Ob with {src::V,weight::T}
  tgt::Hom(E,V)
end

I.e., we support both declaring homs in-line and separately, and data objects are automatically declared through the generic type. This also obviates the annoying requirement to have both "WeightedGraph" and "TheoryWeightedGraph". We will just have "WeightedGraph" and "schema(WeightedGraph)".

@epatters, we need to figure out naming for CSets.jl/Acsets.jl. Maybe what we currently call Acsets.jl should be AcsetInterface.jl?

One big todo here is to reimplement the tables.jl functionality, now that this doesn't use a tables.jl thing internally.

Also need to do unique_index

And the @acset macro, and map. Soo much acset infrastructure, this better all be worth it...


Create the KFDef object to the cluster when kubeflow is deployed using kfctl CLI

As a follow up of #241, this issue is opened for discussion on creating the KfDef object when the kubeflow is deployed through kfctl command line.
Background:
Currently if kubeflow is installed through kubeflow operator with the instructions in https://github.com/kubeflow/kfctl/blob/master/operator.md, a KfDef kind object is created. We can use this object as the root owner object for any kubeflow resources deployed. The solution in #241 is to use the ownerReferences with this object to help clean up resources when deleting kubeflow. As we can see the benefit with this approach, we propose to create the same KfDef object when kubeflow is not installed through the operator.
/cc @animeshsingh
/cc @vpavlin

Thanks @adrian555
I think this would be best and keep things consistent. I believe reimplementing core K8S functionality (owner based garbage collection) is not a good idea and having point of reference for what is deployed (KFDef manifest uploaded) in the cluster might be useful anyway.

/assign @gabrielwen @jlewi @yanniszark  - thoughts - and anyone would like to pick this up on core kfctl cli side?

See comment about deleting
https://github.com/kubeflow/kfctl/issues/293#issuecomment-612691634
Using an uber KFDef to own all resources and GC them on delete seems a bit ill-defined.
We have also been using the Application CR as a general way of providing information about what applications are installed.
In general, I think we are moving in the direction of treating kubeflow as a loose collection of applications. As opposed to an uber monolthic application.
So I don't see much need on GCP to start defining and installing KFDef objects on GKE clusters. We are also using the KFDef to define the GKE cluster itself and all the supporting GCP infrastructure. So treating the KFDef as a K8s resource that lives in the GKE cluster doesn't fit that model. For example, if you delete the K8s resource you wouldn't be GC'ing the associated GCP infrastructure.

/priority p2


feat: add preview image URL variable to articles

Description
Add a %previewURL% variable containing the URL to the article preview image. The preview image is extracted from the DOM using the OpenGraph og:image or the Twitter twitter:image meta tags. These two meta tags seem to be the most popular ones.
Small structure changes in the WebsiteParser file: avoiding wrapping promises, factorization of replaceImages and using this.app instead of passing it as a parameter.
Motivation and Context
I'm using this great plugin with the DataView plugin to display my items to read using a Card view. I really lacked an image to illustrate all my links. I was manually adding the preview image myself to the notes (sometimes using the dev tools to get the infos from the meta tags), so I decided to make it a feature of this plugin.
I hope this will be usefull to someone else!
How has this been tested?
Tested using multiple website both with or without the OpenGraph or Twitter tag.
Types of changes

Changes visible to users:

[ ] Bug fix (prefix: fix - non-breaking change which fixes an issue)
[x] New feature (prefix: feat - non-breaking change which adds functionality)
[ ] Breaking change (prefix: feat!! or fix!! - fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation (prefix: docs - improvements to any documentation content)

Internal changes:

[x] Refactor (prefix: refactor - non-breaking change which only improves the design or structure of existing code, and making no changes to its external behaviour)
[ ] Tests (prefix: test - additions and improvements to unit tests and the smoke tests)
[ ] Infrastructure (prefix: chore - examples include GitHub Actions, issue templates)

Checklist

[x] My code follows the code style of this project and passes npm run lint.
[x] My change requires an update of README.md
[x] I have updated the README.md

Thanks!


Added replace collection with time to live property test

Fixed breaking emulator changes (port from this PR: https://github.com/Azure/azure-sdk-for-java/pull/6352)
Added test to replace collection after setting time to live property on an existing collection.

strong-singleregion-tcp-tests passed here: https://dev.azure.com/azure-cosmos-java/azure-cosmos-java-private/_build/results?buildId=10216
strong-singleregion-https-tests CI latest run is here: https://dev.azure.com/azure-cosmos-java/azure-cosmos-java-private/_build/results?buildId=10247


Dragon: speed-based animations

The dragon pet and mount versions need to have speed-based animations for the walk/hop, similar to https://github.com/webaverse/app/issues/1842.
This was working a year ago but the current implementation of sittables/mounts does not support the nice effect we had. We need to re-add that support and make sure it work with all of the animated dragon-based apps.

Related: https://github.com/webaverse/app/issues/1842


Login Resume

Is there any way to resume a login with this package? I know you just got start, i'm just curious is there is something undocumented.

I don't understand what are you referring with 'resume login', could you please elaborate on this so I can help you?

Absolutely, is there currently a way with this package to resume a users
session without needing them to re-click the login button.
On Tue, Aug 23, 2016 at 10:59 PM Andrés C. Viesca Ruiz <
<EMAIL_ADDRESS>wrote:

I don't understand what are you referring with 'resume login', could you
please elaborate on this so I can help you?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/viestat/react-native-spotify/issues/3#issuecomment-241944300,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHOuuTdT1PDwhbWBWZfmf9on6Ms2Zxouks5qi7N4gaJpZM4JpNdm
.

You can call the method loggedIn before calling setClientID:setRedirectURL:setRequestedScopes:callback  but it will have a funky behaviour right now. I am working on updating this module to work with the beta 21, I will try to make this clearer on the next version.

oh awesome -- thanks for making this package btw. I can't wait to see the beta 21 version!

@viestat Is the funky behavior loggedIn not persisting if the app has been closed?

correct, the login screen still shows. I really don't have a way to check if the user is logged in. So they have to click the login button everytime, they don't always have to re-render the credentials, but they do have to hit the button again.

Is there anyway to cache login credentials in AsyncStorage or in Keychain?

I think this is sort of a big issue because new app versions will likely kill the cache in WebKit (other factors could clear that as well) which will also require re-authenticate.
@patrickml What are the blockers preventing authentication to be persistent?

@digitaldavenyc I'm not completely sure. For all i know it is persisting, but I know there isn't a way to know if the user was logged back in, i.e. Spotify.on('resume', () => {}) or something like that. Therefore you can't update your UI or have your UI wait to know if the user is logging in / being logged in / or has logged in.

@patrickml logging back on isn't the issue as I see it. The user shouldn't have to log back on at all. There should be a cache of some sorts that stores data outside of the app, I'm thinking the Keychain is the most appropriate place to do this.
Do you know what type of authentication the library is using?

@digitaldavenyc i agree, and im am not too sure as to the answer of your question. The app I made with this was for a 1 time event, so it diving in deeper wasn't needed. @viestat do you have any insight?

@patrickml and @digitaldavenyc , the auth process is OAuth. The way it is implemented right now requires the SPTAudioStreamingController  to log in every time the app restarts. As I mentioned before I am working on an update to work with the SDK beta 21. A lot has changed and unfortunately I have had little time to finish it (hopefully soon! ).
I am thinking on a better approach for the login process so your input is super valuable. I agree with you, the user should have to login just once.
Sorry for the inconvenience...

@viestat Thank you, really appreciate you putting time into this library, it's been incredibly helpful. Can't wait for the update. If I can be of any assistance I'd be happy to help.
Regarding the auth, Spotify has a few types of authentication and I curious which type was in place:

Authorization Code Flow
Client Credentials Flow
Implicit Grant Flow

True, Authorization Clode Flow is probably the right choice here. It requires an oauth 2.0 back-end service though (for token refresh etc).
For example:
https://github.com/ciaranj/node-oauth
From the Spotify docs:
"This method is suitable for long-running applications which the user logs into once. It provides an access token that can be refreshed. Since the token exchange involves sending your secret key, this should happen on a secure location, like a backend service, not from a client like a browser or mobile apps."

@moooji That's a good point about requiring a backend API for Authorization Code Flow since your secret key is required. It's possible some developers may not want to build an API to use the library. However, I think it should be an option to go one way other the other because it's a feature of Spotify's auth and apps (like ours) need a permanent auth solution.

Yes, I think so too. It would make this package definitely less attractive if "Authorization Code Flow" would be the only option. Not everyone wants to go through the complexity of setting up an oAuth backend service first just to be able try it out.
So I guess currently this package is using "Implicit Grant Flow". That's fine to get started fast, the only drawbacks are that:

Users have to login every time
Tokens are only valid for short time (I think 1 hour), then User has to login again.

It would be nice to be able to choose between "Authorization Code Flow" and "Implicit Grant Flow". I don't think that the third flow ("Client Credentials Flow") is that interesting, because it cannot access user data.
https://developer.spotify.com/web-api/authorization-guide/#supported-authorization-flows

I had a look at the code and it seems "Authorization Code Flow" can be enabled by adding these two lines to startAuth:
[[SPTAuth defaultInstance] setTokenSwapURL:[NSURL URLWithString:tokenSwapURL]];
[[SPTAuth defaultInstance] setTokenRefreshURL:[NSURL URLWithString:tokenRefreshURL]];

Here is a sample implementation of the backend service to get and refresh the access token:
const axios = require('axios');
const express = require('express');
const bodyParser = require('body-parser');

const redirectUri = 'my-spotify-app://callback';
const clientId = '...';
const clientSecret = '...';
const authUrl = 'https://accounts.spotify.com/api/token';

const app = express();
app.use(bodyParser.urlencoded({ extended: true }))

app.post('/swap', function(req, res) {
  const options = {
    code: req.body.code,
    redirect_uri: redirectUri,
    grant_type: 'authorization_code',
  };

  requestAuth(options)
    .then(body => res.send(body))
    .catch(err => res.status(400).send({ error: err.message }));
});

app.post('/refresh', function(req, res) {
  const options = {
    refresh_token: req.body.refresh_token,
    grant_type: 'refresh_token',
  };

  requestAuth(options)
    .then(body => res.send(body))
    .catch(err => res.status(400).send({ error: err.message }));
});

function requestAuth(options) {
  return axios({
    url: authUrl,
    method: 'post',
    params: options,
    auth: {
      username: clientId,
      password: clientSecret,
    },
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded',
    }
  })
  .then(body => body.data);
}

console.log('Listening on 8888');
app.listen(8888);

@moooji @viestat
My opinion is that this option is a smarter choice:
const options = { clientId, redirectURL, tokenSwapURL, tokenRefreshURL, scopes };
SpotifyAuth.login(options, callback)

I think renaming setClientID to login is a much clearer description of the action that function will perform. I am currently dealing with a show stopping authentication bug with the repo right now that has an open issue so I am unable to test this.

I have created a PR here: https://github.com/viestat/react-native-spotify/pull/8 which adds the optional Authorization Code Flow.
Implicit Grant Flow
const options = {
	clientID: 'your-clientID',
	redirectURL: 'your-app-schema://callback',
	requestedScopes: ['streaming',...]
};

SpotifyAuth.login(options,(error)=>{console.log(error)});

Authorization Code Flow
const options = {
	clientID: 'your-clientID',
	redirectURL: 'your-app-schema://callback',
	requestedScopes: ['streaming',...],
	tokenSwapURL: 'http://your.backend.com/token/swap',
	tokenRefreshURL: 'http://your.backend.com/token/refresh'
};

SpotifyAuth.login(options,(error)=>{console.log(error)});


Allow exclusiveMinimum and exclusiveMaximum as numbers as per newer versions of JSON schema

The OpenAPI spec for 3.0 spec uses a draft version of the jsonschema spec where exclusiveMinimum is a boolean type. In later versions it has become a number. We parse OpenAPI documents generated by libraries in other languages, for instance FastAPI in Python. There is a bug in FastAPI OpenAPI document generation where it apparantly uses a later version of jsonschema spec leading to exclusiveMinimum having a number value: https://github.com/tiangolo/fastapi/issues/240
I drafted up this PR just to see if it would be possible to support the implementation of FastAPI. I'm not an OpenAPI expert, so does this look feasible at all?

OpenAPI v3 is pinned to JSON Schema draft-04.  When we implement OpenAPI 3.1, we will be decoupled from JSON Schema and support anything from JSON Schema 2020-12 onward.


SAA-2189: Filter candidates who already have allocations

Codecov Report
Attention: Patch coverage is 66.66667% with 1 line in your changes missing coverage. Please review.

Project coverage is 84.25%. Comparing base (28c3410) to head (16eddc4).

Files with missing lines
Patch %
Lines

...nagementapi/resource/ActivityScheduleController.kt
0.00%
1 Missing :warning:

Additional details and impacted files
@@             Coverage Diff              @@
##               main    #1172      +/-   ##
============================================
- Coverage     84.25%   84.25%   -0.01%
- Complexity     3715     3717       +2
============================================
  Files           385      385
  Lines         12639    12642       +3
  Branches       1088     1089       +1
============================================
+ Hits          10649    10651       +2
- Misses         1487     1488       +1
  Partials        503      503

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


Docstring of @property is not rendered correctly

Environment data

Language Server version: Pylance language server 2023.1.40
OS and version: macOS 13.2 (22D49)
Python version (& distribution if applicable, e.g. Anaconda): 3.10

Code Snippet
class Test:
    def __init__(self) -> None:
        self.__test = False

    @property
    def test(self):
        """Test DocString.

        Returns
        -------
        bool
            Lorem Ipsum
        """
        return self.__test

Expected behavior
The pop-up window should show a brief description of the function and the return type.
Actual behavior

The docstring is rendered twice in the pop-up.
It is also worth noting that this problem does not exist when using autocomplete.

Logs
The log after hovering over the test method.
(68851) [FG] parsing: /Users/x/.vscode/extensions/ms-python.vscode-pylance-2023.1.40/dist/typeshed-fallback/stdlib/typing.pyi [fs read 3ms] (35ms)
(68851) [FG] binding: /Users/x/.vscode/extensions/ms-python.vscode-pylance-2023.1.40/dist/typeshed-fallback/stdlib/typing.pyi (5ms)
(68851) [FG] parsing: /Users/x/.vscode/extensions/ms-python.vscode-pylance-2023.1.40/dist/typeshed-fallback/stdlib/typing_extensions.pyi [fs read 0ms] (3ms)
(68851) [FG] binding: /Users/x/.vscode/extensions/ms-python.vscode-pylance-2023.1.40/dist/typeshed-fallback/stdlib/typing_extensions.pyi (2ms)
(68851) [FG] parsing: /Users/x/.vscode/extensions/ms-python.vscode-pylance-2023.1.40/dist/typeshed-fallback/stdlib/_typeshed/__init__.pyi [fs read 0ms] (6ms)
(68851) [FG] binding: /Users/x/.vscode/extensions/ms-python.vscode-pylance-2023.1.40/dist/typeshed-fallback/stdlib/_typeshed/__init__.pyi (2ms)
(68851) [FG] parsing: /Users/x/.vscode/extensions/ms-python.vscode-pylance-2023.1.40/dist/typeshed-fallback/stdlib/types.pyi [fs read 0ms] (6ms)
(68851) [FG] binding: /Users/x/.vscode/extensions/ms-python.vscode-pylance-2023.1.40/dist/typeshed-fallback/stdlib/types.pyi (2ms)
(68851) [FG] parsing: /Users/x/.vscode/extensions/ms-python.vscode-pylance-2023.1.40/dist/typeshed-fallback/stdlib/abc.pyi [fs read 0ms] (1ms)
(68851) [FG] binding: /Users/x/.vscode/extensions/ms-python.vscode-pylance-2023.1.40/dist/typeshed-fallback/stdlib/abc.pyi (0ms)
(68851) [FG] parsing: /Users/x/.vscode/extensions/ms-python.vscode-pylance-2023.1.40/dist/typeshed-fallback/stdlib/collections/abc.pyi [fs read 0ms] (0ms)
(68851) [FG] binding: /Users/x/.vscode/extensions/ms-python.vscode-pylance-2023.1.40/dist/typeshed-fallback/stdlib/collections/abc.pyi ...
(68851) [FG]   parsing: /Users/x/.vscode/extensions/ms-python.vscode-pylance-2023.1.40/dist/typeshed-fallback/stdlib/_collections_abc.pyi [fs read 1ms] (1ms)
(68851) [FG]   binding: /Users/x/.vscode/extensions/ms-python.vscode-pylance-2023.1.40/dist/typeshed-fallback/stdlib/_collections_abc.pyi (0ms)
(68851) [FG] binding: /Users/x/.vscode/extensions/ms-python.vscode-pylance-2023.1.40/dist/typeshed-fallback/stdlib/collections/abc.pyi (2ms)

@bschnurr any idea?

I'll take a look

This issue has been fixed in prerelease version 2023.2.21, which we've just released. You can find the changelog here: CHANGELOG.md


HADOOP-16528. Update document for web authentication kerberos principal configuration.

1953

 Quality gate: Passed
 Everything looks good
Details

 Quality gate: Passed
 Everything looks good
Details


Questions about Modifying Parameters in Cross-Validation

I encountered the same problem as the worker below when performing Cross-Validation on experiments 2 to 5, and the following error was displayed. I have already changed the data_path to 'LFD_RoadSeg/data/kittival/expk' and modified both output paths to ckpt_path: 'outputs/kittival/expk/checkpoints' and vis_path: 'outputs/kittival/expk/results'. They should not affect each other, right?
Originally posted by @sdutwjy in https://github.com/zhouhuan-hust/LFD_RoadSeg/issues/4#issuecomment-2188939293
Thank you for your time and assistance. I am looking forward to your insights.

I I fixed my code so that different test sets do not interfere with each other, but now the problem is that the program indicates it cannot find the lane file, and I also did not see the output of the lane file in the val() function of _LFDRoadSeg.py. Is it that the lane file is not required to be included when constructing the dataset?


Add New Calendar with Check-In and Check-Out Date Fields

Description
This PR introduces a new calendar component with fields for selecting the check-in and check-out dates. This component will be used in the booking process to allow users to specify their stay period.
Type of Change

[x] New feature (non-breaking change which adds functionality)

Checklist

[x] The calendar component is functional and allows users to select both check-in and check-out dates
[x] Code is properly documented and follows project standards
[x] Component is responsive and works well across different devices

Related Issues
N/A
Additional Information
Future updates will include validation to ensure proper date ranges, as well as integration with the booking system to confirm availability for the selected dates.

:tada: This PR is included in version 1.59.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Introduce a "Paused" State for Improved Backend Health Check Management

Current Behavior
Trino Gateway currently deactivates a backend if it fails a health check. Once deactivated, the backend remains inactive until manually reset to active, as automatic recovery is not supported.
Proposed Improvement
Introduce a new state, "Paused," to distinguish between:

Intentionally paused backends: Marked as "Paused" by users to ensure no traffic is routed to them intentionally.
Unhealthy backends: Automatically deactivated by the gateway but continuously monitored via health checks.

When a backend becomes healthy after previously failing, the gateway would automatically transition it back to an active state, resuming request handling without manual intervention.
Benefits

Enhanced automation: Reduces the need for manual intervention when backends recover from transient issues.
Operational clarity: Clearly separates user-initiated pauses from automatic deactivations caused by health check failures.
Improved availability: Ensures backends are reintroduced to the pool as soon as they recover, minimizing downtime.

Implementation Details

State Management:

Add a "Paused" state to the gateway.
Backends marked as "Paused" by users would not be eligible for automatic reactivation.
Backends that fail health checks would transition to an "inactive" state and remain eligible for automatic reactivation.

Health Check Monitoring:

Continue health checks for "inactive" backends.
Automatically transition them to "active" once they pass the health checks.

User Interaction:

Users can manually set a backend to "Paused."
The gateway should provide clear feedback about the reason for a backend's current state (e.g., paused by the user or deactivated due to health check failure).

Example Workflow

A backend fails a health check and is marked "inactive."
The gateway continues monitoring the backend.
Once the backend is healthy, it automatically transitions to "active."
A user intentionally pauses a backend, marking it as "Paused." This backend will not be reactivated automatically, even if healthy.

Is this a duplicate of https://github.com/trinodb/trino-gateway/issues/80?

I wouldnt call it a duplicate .. but closely related and overlapping ideas.


Update memory values instances

Context
Due to recent discoveries by @raphaelr, it turns out that some memory locations that we thought were fixed are in fact dynamic.
The trigger that causes them to change is soft resetting;

Addresses of the form 0x0203c400 + x must be rewritten to memory.read_u32_le(A) + x
Addresses of the form 0x0203da00 + x must be rewritten to memory.read_u32_le(B) + x
Addresses of the form 0x0203e200 + x must be rewritten to memory.read_u32_le(C) + x

Boktai 2
Boktai 3
Related to

A
0x030046a0
0x02000710
Django stats, inventory, ...

B
0x03004698
0x0203db08
Story progress, dungeon states, ...

C
0x03004690
0x0203e308
Scratch data

TODO

Identify which memory addresses and values instances are affected
Update existing or create new dynamic memory values instances
Replace them in the interface (main window, statut edit (default instances), tools, ...)
Potentially create new classes for dynamic memory values or update the class to indicate which methods to use (APIs.Memory.ReadU32, ReadU16, ...)

Notes
Because of where the memory addresses come from, we only need to substract from the actual addresses.
For example with 0x030046a0 (A) and 0x0203c428;

We simply substract 0x0203c400, which gives us 0x28.
This gives us memory.read_u32_le(0x030046a0) + 0x28.

Changes have been made.
Will need to keep an eye on these changes for future memory addresses.

Reopening this as new addresses needs to be found for Weapons, Magics and Key Items inventories.

A solution has been found thanks to @raphaelr !
Example for 0x030046a0 (A) and 0x0203C530 :

Substract 0x0203c400, which gives us 0x130.
This gives us memory.read_u32_le(0x030046a0) + 0x130.


default constructor is needed when connecting to external neo4j serve…

I was wrong, default constructor for the Person entity is needed when connecting to external Neo4j server. (with the embedded one it worked without it)

Thanks for your PR. That was fixed with 9654d008666ef7fe1efe8553fe7aebcff9c77489.


Clean up BeaconState and BeaconStateUtil

Description
As a developer, I want the BeaconState and BeaconStateUtil classes to be logically organised so that I know where to find things.
It's slightly odd having lots of methods that apply to BeaconState in a separate class (imho). But having done that, we should at least be consistent. Currently several methods remain in BeaconState including static ones that take state as an argument. At a minimum, these should be moved over to BeaconStateUtil. Arguably, helper functions like integer_squareroot should also be moved over.
Acceptance Criteria

The BeaconState class contains only setters and getters
Method names in BeaconStateUtil match the targetted spec version
There are no redundant methods in BeaconStateUtil
Methods have appropriate visibility

Alternatively

BeaconStateUtils no longer exists
Method names in BeaconState match the targetted spec version
There are no redundant methods in BeaconState
Methods have appropriate visibility

Closed by #266.


docs: Add Keycloak Minikube Headlamp oidc doc

this patch adds documentation for running
Headlamp in a minikube cluster with Keycloak
OIDC authentication

I got a bit further, and left more notes. But can't quite get to the end.
Keycloak and minikube crash after a while, and the only way I can get them working again is to delete them and start again. Making progress slow.
Will try again in the next days... I'm out of energy for this now.

Hey hey. I tried again and I'm having troubles with keycloak locally. For some reason it crashes, and I have to start over configuring it each time.
Rather than delay this PR trying to get instructions for working with Keycloak locally... I suggest adding a line warning people that getting Keycloak running locally with this is not trivial, and that these instructions have been tested with a hosted Keycloak.
I marked the convos as resolved for that parts that you addressed. There's only a few left open now.

btw, I guess the DCO bot doesn't like those fixup commits because they don't have a signed-off-by.


Fix #116. Fix task-decontamination broken links

Fix https://github.com/NVIDIA/NeMo-Curator/issues/116. Broken link in readme.md for task-decontamination.

Thanks for catching this! I think there are actually a lot of broken links in this section, do you mind fixing them? I think when the file names were changed to lowercase we forgot to change all of them here.

Thanks for catching this! I think there are actually a lot of broken links in this section, do you mind fixing them? I think when the file names were changed to lowercase we forgot to change all of them here.

Done!


Custom Azure DevOps build agent with pre-release Windows SDK

In order to check-in the UWP Voice Assistant Sample we need a VM running pre-release Windows SDK. We will use that in our Azure build pipeline instead of the standard Microsoft agent.

Done


Replace bs4 with beautifulsoup4

Distributions usually don't ship the bs4 dummy package.

Hi @fabaff , thx for the contribution.
while at it, please update the library import with:
from bs4 import BeautifulSoup

then update the api.py code accordingly.
Please install pre-commit hooks on your environment to assure everything is as expected.
Specifically for this PR you need to run poetry lock [--no-update]
Last but not least, you need to follow commitlint schema for commit messages.
Thanks,
Simone
P.S.> If you need further info,  please join HomeAssistant  on Discord and then contact me: chemelli74#2180
Simone

while at it, please update the library import with:
from bs4 import BeautifulSoup
then update the api.py code accordingly.

The module name and the name which is used to imported the module are two different things.

Last but not least, you need to follow commitlint schema for commit messages.

Sure

while at it, please update the library import with:
from bs4 import BeautifulSoup
then update the api.py code accordingly.

The module name and the name which is used to imported the module are two different things.

Indeed.
What I mean is to change code to:
from bs4 import BeautifulSoup
[...]
soup = BeautifulSoup(reply_text, "html.parser")

Simone

@fabaff are you going to finish this PR ?
Simone

Superseded by #33


fix for iOS 13

With Xcode 11 beta running on iOS 13 there are 2 issues:

fullscreen animation is glitchy. it animates fullscreen, then reverts to the iOS 13 card style modal
when swiping to dismiss or tapping the X to dismiss, the dismiss animates correctly, but when it's dismissed the presenting VC screen turns black blocking further use of the app.

These changes make sure that on iOS 13 iOS 12 style modal presentation is preserved solving both issues.

Any chance this could get approved?

Any chance this could get approved? @zvonicek : this really is necessary for iOS 13 otherwise the full screen is completely broken

@zvonicek come on! 😄

The fix is in 19e448d536534e4d232b72ac59c012044d050b31! Sorry for the waiting.


Error in created hook: "TypeError: Cannot read property 'filter' of undefined"  found in  --->

Describe the bug

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. macOS]
Browser [e.g. chrome, safari]
Version [e.g. 0.0.x]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 0.0.x]

Additional context
Add any other context about the problem here.

What's the problem?How to solve it?

This could be because there are no slides see related issues #74, if not can you please provide me with a working example, so I can help you debug this issue.

I solved the issue by adding some slides, as proposed by @Abdelrahman3D

I tested this against #104 and it looks like it would fix it.

`

`

Now the console has no error, can't slide or play automatically


Make ingestors emit FtM entities

We should start a feature branch to make the ingestors emit data in the format defined by followthemoney. This may require a set of changes:

followthemoney needs new schemata and properties, including: Record, and its children Row, Page.
Generate natural IDs for the FtM entities emitted so they are stable across loads. The IDs should include: a. the dataset name, b. the foreign_id or content_hash of the data, c. an index within the document (for Page and Row).
Make email ingestors generate valid entity links for sender, recipient, cc and bcc. Also make them link to other messages via thread IDs. This is going to be complicated, might require maintaining a list of mappings in memory.
Switch all of ingestors data normalisers to use FtM ingestors. We may want to introduce extra property types in FtM, e.g. mimetype.

@sunu We should try and see if https://github.com/alephdata/ingestors/pull/23 is salvageable. It does all the boring work of porting ingestors to FtM.

Fixed in #34.


Underscore prop _interpretation returning null when using batch import

EDIT @etiennedi:
The issue seems to be limited to when the batch importer is used, but doesn't occur on the regular imports.

Original Issue:
To reproduce:

Use these Docker Compose files.
Run the following GraphQL query

{
  Get {
    Things {
      Article {
        _interpretation {
          source {
            concept
            occurrence
            weight
          }
        }
        summary
      }
    }
  }
}

Tested both locally and on the WCS.

note: _classification works correctly

Thanks for the bug ticket, investigating now. We do have a passing test, so my first suspicion would have to be that it's related to a configurable parameter (such as c11y version) where the test assumes one setting (instead of all).

Update: It works with the 0.14.0 contextionary, so something about the 0.16.0 must be broken. Since it's the same code base I can only imagine that something in the release process went wrong.

Update: It seems storing the _interpretation info is currently missing for the batch endpoints. It only works on the individual ones. I'll add that make a new release shortly.

fixed in 0.22.10


[Epic] GAMM pool generalization

Sprint 5

[x] #1066

Make a general pool interface, which has a method that each AMM msg just calls quite directly
[x] Generalize Create Pool messages #1149

[x] Remaining items for new pool interface:

[x] Query for pool liquidity
[x] Delete/move around lots of the now unused code! #1129
Remaining items moved to sprint 6

[x] #1051

Sprint 6

[ ] Make StableSwap pools as a second AMM under this interface

[ ] Proto definitions
[ ] two asset swap / LP equations and tests
[ ] multi-asset swap / LP equations, and tests

[ ] Remaining items for new pool interface:

[x] Query for pool liquidity
[ ] #1142
[ ] #1130
[ ] JoinSwapShareAmountOut (No notes, meaning to write it up, a bit more involved but can be done with no AMM interface update)
[ ] Shuffling tests around to get more next to the AMM math code

[x] Done for spot price

[ ] Improved tests

[ ] More robust regression test cases for the exact numbers in these swap methods. (Especially to show the difference between old and new JoinPoolNoSwap)
[ ] https://github.com/osmosis-labs/osmosis/issues/1116

[ ] Multi-hop swap fee routing

Post v8

[ ] #1139
[ ] Auto-derive Arithmetic Mean TWAP and Geometric Mean TWAP accumulators on pools after each swap

Can we add #1183  to this epic?

All remaining items are either resolved or converted to epics - closing


Support for RFY protocol

Increment the pyRFXtrx dependency to add support for RFY protocol
Example entry for configuration.yaml:
rollershutter:
  platform: rfxtrx
  automatic_add: True
  signal_repetitions: 2
  devices:
    071a00000a000101:
      name: Bedroom Blind

You need to have set the blind up in rfxmngr, once set up, you can add the blind with the following id 071a0000 id unitcode - always include the prefix of 071a0000 (this denotes the packet length and the RFY protocol for the device). Devices will not auto add since the rfxtrx433e device does not support receive for the RFY protocol.
Checklist:
If code communicates with devices:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[x] New dependencies have been added to the REQUIREMENTS variable (example).
[x] New dependencies are only imported inside functions that use them (example).
[x] New dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[x] New files were added to .coveragerc.

If the code does not interact with devices:

[ ] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[ ] Tests have been added to verify that the new code works.

Should also be documented at home-assistant.io

I'll get the documentation updated later today, was waiting on #2030 as it was deeply dependent.

:🐬


[Event Request] Codeunit 6620 - Copy Document Mgt. - OnAfterCopyDeferrals

Dear ALAppExtensions team,
Through this issue we would like to request event publisher OnAfterCopyDeferrals to be added to Codeunit 6620 Copy Document Mgt. with the following signature:
    [IntegrationEvent(false, false)]
    local procedure OnAfterCopyDeferrals(DeferralDocType: Enum "Deferral Document Type"; FromDocType: Integer; FromDocNo: Code[20]; FromLineNo: Integer; ToDocType: Integer; ToDocNo: Code[20]; ToLineNo: Integer; var StartDate: Date)
    begin
    end;

which would be called as follows from CopyDeferrals:
            if ToDocType = SalesCommentLine."Document Type"::"Return Order".AsInteger() then
                StartDate := FromDeferralHeader."Start Date"
        end;
        OnAfterCopyDeferrals(DeferralDocType, FromDocType, FromDocNo, FromLineNo, ToDocType, ToDocNo, ToLineNo, StartDate);  //New
    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 46009.


"Project Needs to Be Updated" loop

Pardon if this is not the right spot to report this bug.
It seems like there has been a regression in the handling of Toolsets in VS 15.3. I have a project where I told VS to use the "Global Cordova" in the config.xml editor and when I open the solution I get a prompt that the "Project needs to be updated for VS 2015". Agreeing to the "update" resets to the 6.3.1 Toolset, and adds an extra set of <engine> tags set to the versions in the Toolset. If I set this back to "Global Cordova" the extra <engine> tags remain and I am again prompted with the "Project needs to be updated for VS 2015" the next time I reopen the solution.
Selecting "No" to the upgrade prompt makes the project entirely unusable in VS. Selecting "Yes" and undoing the changes to config.xml seems to work fine, but it is quite a papercut to have that prompt and revert every time I open the solution and need to work with the Cordova project.

I can confirm this still occurs with both 15.5.7 and 15.6.1.
Steps to reproduce:

create an Azure VM "Visual Studio Enterprise 2017 (latest release)", note this will as of today create a 15.6.0 VM, you can optionally update this to a newer version (example: 15.6.1)
Create a new blank cordova app in Visual Studio
Open the config.xml
In toolset, choose Global Cordova version
Save all and close solution
Open solution again

Result:
VS popup saying "Your Cordova projects needs to be updated to work with Visual Studio 15"
As described by WorldMaker with the yes/no options.


Conditionally link quadmath

Closes: #130

I've attempted this but it still fails. See https://drone.cpp.al/boostorg/mysql/484/2/3.
find_library is failing to detect quadmath support. From what I've seen in my system, quadmath doesn't seem to be located in the standard search paths (probably because it's an "internal" gcc library?).
From a quick search and inspecting your Jamfiles, I'd suggest to use the same approach in cmake. See https://github.com/sunqm/qcint/blob/master/cmake/FindQUADMATH.cmake for a possibility.
To locally reproduce the build environment I referenced above, I suggest you to use Docker. This build is using the image ghcr.io/anarthal-containers/build-clang14. docker run -it ghcr.io/anarthal-containers/build-clang14 can do it.

Is this the correct logic? Shouldn't Quadmath be linked only when needed, not whenever it's present?

Is this the correct logic? Shouldn't Quadmath be linked only when needed, not whenever it's present?

I thought so since CMake defaults to building with "gnu++". It's nearly the same issue that we ran into with the CMake testing suite.

Never mind, I see that Jamfile does the same thing. I suppose config/has_float128.cpp can be reused on the CMake side as well.

I've attempted this but it still fails. See https://drone.cpp.al/boostorg/mysql/484/2/3.
find_library is failing to detect quadmath support. From what I've seen in my system, quadmath doesn't seem to be located in the standard search paths (probably because it's an "internal" gcc library?).
From a quick search and inspecting your Jamfiles, I'd suggest to use the same approach in cmake. See https://github.com/sunqm/qcint/blob/master/cmake/FindQUADMATH.cmake for a possibility.
To locally reproduce the build environment I referenced above, I suggest you to use Docker. This build is using the image ghcr.io/anarthal-containers/build-clang14. docker run -it ghcr.io/anarthal-containers/build-clang14 can do it.

Using this docker image I am able to compile and run your demo program with latest commit pulled in. In the cmake testing setting cmake extensions to off didn't work either so a macro was added to compile without any of the quadmath support. That macro is now defined if quadmath is not found, and also gives the user the option if they want. Seems to also work fine with the cmake based testing in the CI here. @anarthal let me know if your CI goes green with this now.

It does build. However, it seems to be always detecting that libquadmath is not there. From my tests, it looks like you could define BOOST_CHARCONV_NO_QUADMATH to 1 unconditionally and yield the same results.
I don't need any __float128 support, so it's up to you if you want to resolve this like this or not.


backendIPConfiguration missing when deploying Microsoft.Network/loadBalancers/inboundNatRules

Bicep version
Microsoft.Network/loadBalancers/inboundNatRules@2022-05-01
Bicep: Bicep CLI version 0.11.1 (030248df55)
Describe the bug
Using the Portal and selecting "Azure Virtual Machine " option to create NAT rule results in (resources.azure.com):
{
  "name": "ssh-tunnel-attempt2",
  "id": "/subscriptions/###/resourceGroups/ds-edp-test/providers/Microsoft.Network/loadBalancers/###/inboundNatRules/ssh-tunnel-attempt2",
  "etag": "W/\"570da290-0502-4c95-b006-160d66b305e9\"",
  "type": "Microsoft.Network/loadBalancers/inboundNatRules",
  "properties": {
    "provisioningState": "Succeeded",
    "frontendIPConfiguration": {
      "id": "/subscriptions/###/resourceGroups/###/providers/Microsoft.Network/loadBalancers/###/frontendIPConfigurations/lb-pip-conf"
    },
    "frontendPort": 35555,
    "backendPort": 22,
    "enableFloatingIP": false,
    "idleTimeoutInMinutes": 4,
    "protocol": "Tcp",
    "enableDestinationServiceEndpoint": false,
    "enableTcpReset": false,
    "allowBackendPortConflict": false,
    "backendIPConfiguration": {
      "id": "/subscriptions/###/resourceGroups/###/providers/Microsoft.Network/networkInterfaces/ssh-tunnel-nic/ipConfigurations/ipconfig1"
    }
  }
}

Creating this in bicep seems to be impossible:
WARNING: C:\temp\buildStatusMaker\ssh-tunnel.bicep(217,5) : Warning BCP037: The property "backendIpConfiguration" is not allowed on objects of type "InboundNatRulePropertiesFormat". Permissible properties include "backendAddressPool", "enableFloatingIP", "enableTcpReset", "frontendPortRangeEnd", "frontendPortRangeStart", "idleTimeoutInMinutes". If this is an inaccuracy in the documentation, please report it to the Bicep Team. [https://aka.ms/bicep-type-issues]

When the resource is deployed it is identical to the one created by the Portal, except the backendIPConfiguration property is missing.

It's possible for our type definitions to be incorrect if the underlying REST specification is incorrect. That's why this is a warning and not an error. What happens when you deploy this bicep code?

As indicated in the original post, when I run the bicep with backendIPConfiguration set the deployment completes successfully, but when I then inspect the created resource the backendIPConfiguration is missing.
My bicep looks like this.
resource inboundNatRule 'Microsoft.Network/loadBalancers/inboundNatRules@2022-05-01' = {
  parent: loadBalancer
  name: lbNatRuleName
  properties: {
    frontendIPConfiguration: {
      id: loadBalancer.properties.frontendIPConfigurations[0].id
    }
    backendIPConfiguration: {
      id: nic.properties.ipConfigurations[0].id
    }
    protocol: 'Tcp'
    frontendPort: public_port
    backendPort: 22
    enableFloatingIP: false
  }
}

I managed to work around (or found the correct way of doing it, not sure) by not adding the backendIPConfiguration to the NatRule, instead I added the NatRule to the nic/ipconfig
resource nic 'Microsoft.Network/networkInterfaces@2021-05-01' = {
  name: nicName
  location: location
  properties: {
    ipConfigurations: [
      {
        name: 'ipconfig1'
...
          loadBalancerInboundNatRules: [
            {
              id: inboundNatRule.id
            }
...
}

I'm not sure anymore if this is a bug or just a nuance of Azure. It's confusing either way.

I ran into this exact issue (and proposed workaround) as well.
However, referencing the InboundNatRule ID when updating the NetworkInterface results in a non-working state.
I have to delete the InboundNatRule then recreate the exact same rule configuration in the Portal in order for connectivity to work as expected.
My scenario is this:

Existing RG containing ILB with existing FrontEndIPConfiguration (along with PLS attached to ILB FrontEndConfiguration, and PE attached to PLS)
Bicep module adds new InboundNatRule to ILB (Port 8000 -> Port 22)
Bicep script creates new RG for VM/Disk/NIC
Bicep module adds InboundNatRule to previously created NIC
Attempting to SSH to IP address of PE on Port 8000 eventually times out
Using Portal, delete InboundNatRule and recreate with exact same configuration
Attempting to SSH to IP address of PE on Port 8000 connects successfully

Confusingly, using definition from Resource Explorer to compare between Bicep-created and Portal-created versions of the InboundNatRule and the IPConfiguration of the NIC shows they are identical (with the exception of ETAG).
Is there an order of events or additional configuration I am unaware of that would make this seemingly simple setup functional/


✨[Feature Request]: Filter uv install by Python Package Authority's Security Advisory Database.✨

What's the problem this feature will solve?
It would make a higher-level of package security a default.
Description
I would like uv to only download packages that do not have entries in the Python security advisory database by default.
When given a package name without a version I would like uv to filter out packages with security advisories as it searches for viable package versions. If none can be found, then stderr should indicate that.
If a package version is given, then the package should be installed if there is no security advisory, else give a stderr message.
An optional flag to override this behaviour would be appropriate for those that need to work with packages with security advisories, and for cybersecurity specialists they may need to be able to attempt downloading and installing such a package.
Alternative Solutions
Tools like PDM, uv, Hatch, and Poetry all support plugins. I expect a plugin which does the security check first before attempting to add a package to a project would also work with these various tools (including uv, obviously).
Another partial solution is to use the pip-audit pre-commit hook or github action. These automation tools will not always catch that there is an advisory on a package before it is installed, however.
Manually checking pip-audit is "ok", but the manual nature of it makes it less reliable.
Additional context
Security as a default is important for most organizations (e.g. healthcare), and I expect that most users won't mind it either.
I have made a nearly-identical request for PIP to do the same thing. I tend to use pip a lot at work, and uv on personal projects. Security is important in my work (healthcare data science), so whichever supports it if the other doesn't is going to take priority in the future.
End
Happy to discuss if the above needs clarification or revision. I'm also not highly familiar with the internal implementation details, so if this behaviour is already supported I would be grateful for direction to that feature.
Thanks for considering my request! 🙏

Looks like PDM supports uv experimentally so, this type of change could become an integral part of PDM if that support continues and matures.


Function description is too long?

Hello, since this morning I am getting a lot of errors from the API like:
Error in getting response from model: Error code: 400 - {'error': {'message': '...' is too long - 'functions.0.description'', 'type': 'invalid_request_error', 'param': None, 'code': None}}
Maybe OpenAI changed something ? I know that they now want you to use "tools" rather than "functions", so maybe it's to encourage people to do that instead?

Hey Idorigo, do you happen to have a code sample you could show? Also, is this the first time you're running this api call against the API or has it been working well for some time but only just started throwing errors?