Displays do not go to sleep when WSLg is enabled after unlocking Windows lock screen using modifier key (such as left-ctrl)

Environment
Windows build number:  Version 10.0.22000.100
Your Distribution version:  Gentoo 17.1 Hardened
Your WSLg version:  1.0.24

Steps to reproduce
Just have WSLg running
C:\WINDOWS\system32>powercfg /requests
DISPLAY:
[PROCESS] \Device\HarddiskVolume4\Windows\System32\mstsc.exe
RAIL Power Request

Expected behavior

Screen should go to sleep after 15 minutes
Actual behavior

Display never goes to sleep when WSL is running

@desultory, thanks for reporting the issue. Do you run any Linux GUI application ? and if so, could that application be updating screen periodically? Please refer https://github.com/microsoft/wslg/issues/172. thanks!

This happens even if I just open WSL session with no GUI.  I only installed tigerVNC to test wslg, nothing else.

@desultory , would you please take a look /mnt/wslg/weston.log and see if you have any log with "rdp_rail_idle_handler is called" or "rdp_rail_wake_handler is called" ? thanks!

1700 is when I booted, 0200 is when I had a VNC session
[17:33:34.242] Command line: /usr/bin/weston --backend=rdp-backend.so --xwayland --shell=rdprail-shell.so --logger-scopes=log,rdp-backend,rdprail-shell --log=/mnt/wslg/weston.log [17:33:34.256] Registered plugin API 'weston_rdprail_api_v1' of size 56 [17:33:34.270] Loading module '/usr/lib/weston/rdprail-shell.so' [17:33:34.274] rdp_rail_shell_initialize_notify: shell: distro name: Gentoo [17:33:35.061] rdp_rail_notify_app_list(): rdp_peer 0x56148b049130 [17:33:35.062] rdp_rail_notify_app_list(): rdp_peer 0x56148b049130 [17:38:35.045] rdp_rail_idle_handler is called on peerCtx:0x56148b049130 [21:22:28.204] rdp_rail_wake_handler is called on peerCtx:0x56148b049130 [21:27:28.204] rdp_rail_idle_handler is called on peerCtx:0x56148b049130 [02:03:50.584] rdp_rail_wake_handler is called on peerCtx:0x56148b049130

Also have this issue, powercfg -requests in an elevated powershell prompt gives
PS C:\WINDOWS\system32> powercfg -requests
DISPLAY:
[PROCESS] \Device\HarddiskVolume4\Windows\System32\mstsc.exe
RAIL Power Request

SYSTEM:
[PROCESS] \Device\HarddiskVolume4\Windows\System32\mstsc.exe
RAIL Power Request

AWAYMODE:
None.

EXECUTION:
None.

PERFBOOST:
None.

ACTIVELOCKSCREEN:
None.

zero wslg windows open

Updating my kernel seemed to fix it temporarily, but I noticed that if I ever opened a WSLg window, it would not go to sleep normally until I rebooted the whole system.  I have not used WSLg since then but at least it goes to sleep when running normally through the terminal.

to note, this happens with any wslg app, opening xclock and closing xclock keeps the display open, as my comment pointed out, mstsc.exe keeps the remote desktop connection going which keeps the system from sleeping

I've started seeing similar behavior within the last week or so. (If it seems like this is a different bug, let me know and I'd be happy to file separately). My computer seems to not go to sleep if WSL is running at all, even if I've never started a WSLg app. If I run wsl --shutdown, then everything seems to get cleaned up. I dumped logs at https://gist.github.com/ebroder/7143b922985281cd817a535d938cab31 but can grab more if helpful.

I just installed Windows 11 and then WSLg, and also found that my computer no longer sleeps. Disabling WSLg by putting
[wsl2]
guiApplications=false

in .wslconfig got my computer sleeping again (but no WSLg of course).

Hi @desultory, thanks for providing more info. Do you observe this issue with any WSLg app? for example, if you launch 'xclock', then close 'xclock' (so no more WSLg app is running on desktop), then display never turned off? Or is this only happens when ' tigerVNC' is ever used? thanks!

most recently I noticed it keeping my computer awake when using firefox.  I was using it with Selenium for what it's worth and when I closed that program it seemed to sleep properly.

I am seeing WSLg apps blocking the screen saver / display off as well.
wsl --version
WSL version: <IP_ADDRESS>
Kernel version: <IP_ADDRESS>
WSLg version: 1.0.29
Windows version: 10.0.22000.282

While Emacs is running via XWayland via WSLg weston, powercfg /requests reports the following:
DISPLAY:
[PROCESS] \Device\HarddiskVolume3\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemforLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe\msrdc.exe
RAIL Power Request

In practice, this means my displays stay on indefinitely, whilst I would prefer for screen saver and later automatic display power off to happen.
If I exit Emacs and wait a few minutes, powercfg /requests reports NO more blockers.

@cpbotha, thanks for info, this is the result of temporary workaround since WSLg doesn't have real DPMS (Display Power Management Signaling), thus WSLg keeps screen turned on as long as application updates the screen, and most of case, this works just fine since well-behave application stops updating screen when there is no interaction from user, but certain legacy application, like Emacs, might not. And the reason for placing that "temporary workaround" is due to avoid screen being turned off while playing video on WSLg (for example on Firefox Browser or VLC), so we understand there is pros/cons. we are welcoming feedback on this, please let us know, thanks!

@cpbotha, thanks for info, this is the result of temporary workaround since WSLg doesn't have real DPMS (Display Power Management Signaling), thus WSLg keeps screen turned on as long as application updates the screen, and most of case, this works just fine since well-behave application stops updating screen when there is no interaction from user, but certain legacy application, like Emacs, might not. And the reason for placing that "temporary workaround" is due to avoid screen being turned off while playing video on WSLg (for example on Firefox Browser or VLC), so we understand there is pros/cons. we are welcoming feedback on this, please let us know, thanks!

If it's a temporary workaround with known issues, make it a toggle?  This has been happening for around half a year now so I don't think it makes sense to call this temporary.

Just a bit of good news from my side: My Emacs configuration had some code that would write a message to the minibuffer (the line at the bottom of the display) at regular intervals. When I disabled that message output, Windows idle display off started working again! (in other words, I can keep Emacs running on WSLg, my screens switch off automatically after a few minutes idle)

As a temporary workaround, running the following command sets an override that causes Windows to ignore the power requests from WSLg: powercfg /requestsoverride PROCESS mstsc.exe DISPLAY SYSTEM

@hideyukn88 Did you close this in error? This was closed at the same time as #603 (mentioning that it is a duplicate of this issue)

Still having this problem on the Windows insider beta, not sure if the fix has made it there yet though:

Field
Value

Edition
Windows 11 Pro

Version
22H2

OS build
22621.1

Experience
Windows Feature Experience Pack 1000.22632.1000.0

Hi @ssg ,
I encountered the same problem but I've solved it after a few survey.
I disabled cursor blinking of Windows in control panel.
By doing so, the wsl terminal will stop blinking and updating its window, then my computer can sleep after 5 min. (less than 5 min still does not work for me since this is the wsl default value)

@superpi15 thanks, I worked it around by running this on an elevated command prompt:
powercfg -requestsoverride PROCESS msrdc.exe DISPLAY SYSTEM

@hideyukn88
WSL version: <IP_ADDRESS>
Kernel version: <IP_ADDRESS>
WSLg version: 1.0.33
MSRDC version: 1.2.2924
Direct3D version: 1.601.0
Windows version: 10.0.22621.1

@ssg, thanks for checking, what Linux GUI applications do you run and encounter this issue? and if you don't mind, would you please capture and share /mnt/wslg/weston.log when system is supposed to enter monitor sleep, thanks!

@hideyukn88 I have some WSLg apps installed, but I don't run any. I hadn't run any WSLg apps when this happened. But, I have Docker with WSL2 integration installed and running but without any GUI apps. I disabled my powercfg workaround, and will collect logs later.

@hideyukn88 Maybe this issue should be reopened? It's clearly not solved. The workaround you have implemented is worse than the problem it's trying to solve. The powercfg requestoverride trick worked for me but this has been a headache to figure out.

@DavidZidar, would you please share output from below grep command after 5 mins of idle time in Linux (like no keyboard/mouse input to Linux GUI application).
hideyukn@HIDEYUKN-SL:~$ grep -E "rdp_rail_idle_handler|rdp_rail_wake_handler" /mnt/wslg/weston.log
It should output something like below, and I would like to know if Linux side turned to idle state, if so, then it's possible Windows's side didn't turn off the power vote. This help us to determine next step for invesigation.
[13:04:52.706] rdp_rail_idle_handler is called on peerCtx:0x5608406de980
[13:08:12.362] rdp_rail_wake_handler is called on peerCtx:0x5608406de980
[13:33:15.481] rdp_rail_idle_handler is called on peerCtx:0x5608406de980
[14:00:10.285] rdp_rail_wake_handler is called on peerCtx:0x5608406de980
[14:05:10.288] rdp_rail_idle_handler is called on peerCtx:0x5608406de980
[15:33:14.758] rdp_rail_wake_handler is called on peerCtx:0x5608406de980
[15:38:14.760] rdp_rail_idle_handler is called on peerCtx:0x5608406de980
[17:41:42.934] rdp_rail_wake_handler is called on peerCtx:0x5608406de980
[17:46:43.068] rdp_rail_idle_handler is called on peerCtx:0x5608406de980

Thanks!

@hideyukn88 Alright, I have a blank screensaver set to two minutes, and all I did was start WSL, so no GUI apps whatsoever, and that prevented my screensaver from starting even though I waited 5 minutes. I did undo the powercfg workaround first.
Here's my WSL version info:
WSL version: <IP_ADDRESS>
Kernel version: <IP_ADDRESS>
WSLg version: 1.0.39
MSRDC version: 1.2.3213
Direct3D version: 1.601.0
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.22000.739

Here is the only line in weston log that matched that grep after 5 minutes had passed:
$ grep -E "rdp_rail_idle_handler|rdp_rail_wake_handler" /mnt/wslg/weston.log
[22:30:38.312] rdp_rail_idle_handler is called on peerCtx:0x558939d126f0

@DavidZidar, given rdp_rail_idle_handler is called, Linux side should release the power vote, what do you see from powercfg /REQUESTS on Windows? thanks!

@hideyukn88 Currently it shows "None.". Has this behavior changed in WSL preview? I did not have the preview installed before today because of other annoying issues with the preview version. Without preview the screen is often on indefinetly, with the preview it seems like it releases power after 5 minutes so maybe my screen will turn off after 7 minutes?

@DavidZidar, the only relevant change since WSLg 1.0.2x (non Store version) is https://github.com/microsoft/wslg/issues/603. This is basically Linux side no longer hold display power vote even when they are actively rendering/updating Window. This is because so many Linux applications keep updating window, such as keep caret blinking, even there is no user interaction. Currently power vote is only held by user interaction in WSLg. And for your case, if Linux side doesn't hold power vote, then it's all up to Windows's policy to decide to when to turn off monitor. Thanks!

@hideyukn88 I just hit the same issue with the preview version as well. WSL has been running for almost two hours, I let the screen go to sleep and when I woke it about 15 minutes ago WSL is now holding the screen awake seemingly indefinitely. I waited for over 10 minutes and the screen is still awake.
The weston log shows it woke up when I woke the screen and then never went back to idle.
$ grep -E "rdp_rail_idle_handler|rdp_rail_wake_handler" /mnt/wslg/weston.log
[22:30:38.312] rdp_rail_idle_handler is called on peerCtx:0x558939d126f0
[00:03:14.006] rdp_rail_wake_handler is called on peerCtx:0x558939d126f0

Here is my powercfg requests:
> powercfg -requests
DISPLAY:
[PROCESS] \Device\HarddiskVolume4\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe\msrdc.exe
RAIL Power Request

SYSTEM:
[PROCESS] \Device\HarddiskVolume4\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe\msrdc.exe
RAIL Power Request

AWAYMODE:
None.

EXECUTION:
None.

PERFBOOST:
None.

ACTIVELOCKSCREEN:
None.

@DavidZidar, thanks, assuming you are still in that state, please do wsl --system -d [your distro name]  (if you only have one distro, you don't need to specify) from Windows's command prompt, and share output of ps -auxf, thanks!

@hideyukn88 Unfortunately I shut down WSL so my monitor could go back to sleep (and it did). I think I should be able to reproduce it though, I'll give it a try over the weekend. Thanks for the instructions and feedback.

@hideyukn88 I managed to recreate it again by letting the screen go to standby, wait a while, and wake it up and now it won't go to sleep again despite waiting over 17 minutes (screensaver should start after 2 minutes, standby after 10 minutes). It seems to be in the same state as before, it's only WSL keeping the screen awake and it doesn't go in to idle. This time I had a couple of ssh sessions open but I don't think that should matter.
Here's ps -auxf:
# ps -auxf
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0   2228  1488 ?        Sl   14:38   0:00 /init
root         2  0.0  0.0   2660  1732 ?        Sl   14:38   0:00 /init
root        64  0.0  0.0   2820   404 ?        S    14:38   0:00  \_ /init
wslg        76  0.0  0.0   8728  4144 ?        Ss   14:38   0:00  |   \_ socat UNIX-LISTEN:/home/david/.ssh/agent.sock,fork EXEC:/home/david/.ssh/wsl2-ssh-pageant.exe
root       164  0.0  0.0   2824   408 ?        Ss   15:49   0:00  \_ /init
root       165  0.0  0.0   2824   424 ?        S    15:49   0:00  |   \_ /init
wslg       166  0.0  0.0   7228  4076 pts/0    Ss   15:49   0:00  |       \_ -bash
wslg       314  0.0  0.0  12016  6540 pts/0    S+   15:59   0:00  |           \_ ssh docker1
root       320  0.0  0.0   2828   412 ?        Ss   16:00   0:00  \_ /init
root       321  0.0  0.0   2828   428 ?        S    16:00   0:00  |   \_ /init
wslg       322  0.0  0.0   7228  4008 ?        Ss   16:00   0:00  |       \_ -bash
wslg       334  0.0  0.0  12016  6504 ?        S+   16:02   0:00  |           \_ ssh serenity
root       356  0.0  0.0   2828   412 ?        Ss   16:43   0:00  \_ /init
root       357  0.0  0.0   2828   428 ?        S    16:43   0:00      \_ /init
wslg       358  0.0  0.0   7228  4040 ?        Ss+  16:43   0:00          \_ -bash
root         6  0.0  0.0   2228   232 ?        S    14:38   0:00 /init
root         7  0.0  0.0  47676  8328 ?        S    14:38   0:00  \_ /usr/bin/WSLGd
wslg        11  0.0  0.1 1026532 64164 ?       Sl   14:38   0:00      \_ /usr/bin/weston --backend=rdp-backend.so --xwayland --socket=wayland-0 --shell=rdprail-shell.so --logger-scopes=log,rdp-backend,rdprail-shell --log=/mnt/wslg/weston.log
wslg        24  0.0  0.0  18452  8432 ?        S    14:38   0:00      |   \_ /usr/libexec/weston-rdprail-shell
wslg        13  0.0  0.0   2088  1480 ?        S    14:38   0:00      \_ /init /mnt/c/Program Files/WindowsApps/MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe/msrdc.exe /mnt/c/Program Files/WindowsApps/MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe/msrdc.exe /v:6E3EB895-8FCF-43BC-972E-257DBF242DF6 /hvsocketserviceid:04AB462A-FACB-11E6-BD58-64006A7986D3 /silent /wslg /plugin:WSLDVC_PACKAGE /wslgsharedmemorypath:WSL\6E3EB895-8FCF-43BC-972E-257DBF242DF6\wslg C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe\wslg.rdp
message+    14  0.0  0.0   8616  3984 ?        S    14:38   0:00      \_ /usr/bin/dbus-daemon --syslog --nofork --nopidfile --system
wslg        15  0.0  0.0 234408  7228 ?        Sl   14:38   0:00      \_ /usr/bin/pulseaudio --log-target=file:/mnt/wslg/pulseaudio.log --load=module-rdp-sink sink_name=RDPSink --load=module-rdp-source source_name=RDPSource --load=module-native-protocol-unix socket=/mnt/wslg/PulseServer auth-anonymous=true
wslg        19  0.0  0.0   8484   352 ?        Ss   14:38   0:00 /usr/bin/dbus-daemon --syslog --fork --print-pid 4 --print-address 6 --session
root       366  0.0  0.0   2256   108 ?        Ss   17:02   0:00 /init
root       367  0.0  0.0   2256   124 ?        S    17:02   0:00  \_ /init
root       368  0.0  0.0   8192  4760 pts/0    Ss   17:02   0:00      \_ -bash
root       463  0.0  0.0   3488  1312 pts/0    R+   17:09   0:00          \_ ps -auxf

I also collected the core dump of weston as requested, here you go:
core-2022-07-09.zip

@DavidZidar, thanks this is really helpful. While I still need to look into further, but I now understand why it doesn't enter idle state. The "idle_inhibit" at https://github.com/microsoft/weston-mirror/blob/be77d9f06605c69bb04bd95e03701ca5620fb084/libweston/compositor.c#L4897, is not zero. This counter can be positive value while mouse button is pressed and/or any keys on keyboard are pressed. In your case, I don't see any outstanding mouse button press, but somehow one key (left ctrl) is in pressed state. Have you run any Linux GUI application prior? Thanks!

@hideyukn88 Oh that is interesting, I wonder how that could have happened. I did not run any Linux GUI apps, but I think I started VS Code (using WSL remote), other than that I only used the CLI.

@hideyukn88 I just realized something now that you mentioned left ctrl, I usually wake the computer up using left ctrl when the monitor is sleeping by basically just pressing it multiple times, and I have a Logitech G915 which is a little bit weird when it also wakes up from sleep. I could be a buggy Logitech driver or just a buggy keyboard, though I don't know why WSLg would be listening to keyboard events at the Windows lock screen? Could that somehow be the cause?

@DavidZidar, you are right, apparently Windows is sending the key to unlock lock screen, and if left-ctrl key is used to trigger lock screen, somehow key release event is not sent to Linux side, thus Linux side thinks key is remain pressed and never enter idle state, I confirm I can encounter same issue on my local machine. This is wrong, and I will look into the fix. To work around this, you can use other key such as "space" key (or any non-modifier key) to trigger lock screen instead of left-ctrl (or any modifier key), would you please verify if non-modifier key is used, you won't encounter this issue? Thank you very much for your help!

@hideyukn88 That's great news, it was a bit of a shot in the dark. 😄 I only tried it once now but wasn't able to reproduce it with spacebar this one time at least, I'll try some more.

I started experiencing this again. I had "msrdc.exe" in powercfg exclusion list, but it's gone. I don't know what removed it (maybe I did, but I don't remember removing it).
powercfg -requests:
DISPLAY:
[PROCESS] \Device\HarddiskVolume3\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe\msrdc.exe
RAIL Power Request
[PROCESS] \Device\HarddiskVolume3\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe\msrdc.exe
RAIL Power Request
[PROCESS] \Device\HarddiskVolume3\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe\msrdc.exe
RAIL Power Request
[PROCESS] \Device\HarddiskVolume3\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe\msrdc.exe
RAIL Power Request

SYSTEM:
[PROCESS] \Device\HarddiskVolume3\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe\msrdc.exe
RAIL Power Request
[PROCESS] \Device\HarddiskVolume3\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe\msrdc.exe
RAIL Power Request
[PROCESS] \Device\HarddiskVolume3\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe\msrdc.exe
RAIL Power Request
[PROCESS] \Device\HarddiskVolume3\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe\msrdc.exe
RAIL Power Request

AWAYMODE:
None.

EXECUTION:
None.

PERFBOOST:
None.

ACTIVELOCKSCREEN:
None.

wsl --version:
WSL version: <IP_ADDRESS>
Kernel version: <IP_ADDRESS>
WSLg version: 1.0.42
MSRDC version: 1.2.3401
Direct3D version: 1.606.4
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.22622.586

wsl --system -d Ubuntu
ps -auxf:
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0   2252  1656 ?        Sl   Aug27   0:00 /init
root         2  0.0  0.0   2400  1664 ?        Sl   Aug27   0:00 /init
root       191  0.0  0.0   2408   108 ?        Ss   Aug27   0:00  \_ /init
root       192  0.0  0.0   2424   116 ?        S    Aug27   0:00  |   \_ /init
root       193  0.0  0.2 1976152 36472 pts/0   Ssl+ Aug27   0:03  |   |   \_ /mnt/wsl/docker-desktop/docker-desktop-user-distro proxy --distro-name Ubuntu --docker-desktop-root /mnt/wsl/docker-desktop
root       211  0.0  0.0   2424   116 ?        S    Aug27   0:00  |   \_ /init
wslg       212  0.0  0.2<PHONE_NUMBER>6 ?        Ssl+ Aug27   0:05  |       \_ docker serve --address unix:///home/ssg/.docker/run/docker-cli-api.sock
root       247  0.0  0.0   2408   108 ?        Ss   17:17   0:00  \_ /init
root       248  0.0  0.0   2424   116 ?        S    17:17   0:00      \_ /init
wslg       249  0.0  0.0   9180  5184 ?        Ss+  17:17   0:00          \_ -bash
root         6  0.0  0.0   2252   160 ?        S    Aug27   0:00 /init
root         7  0.0  0.0  47676  8464 ?        S    Aug27   0:00  \_ /usr/bin/WSLGd
wslg        10  0.0  0.2 1036376 48288 ?       Sl   Aug27   0:00      \_ /usr/bin/weston --backend=rdp-backend.so --modules=wslgd-notify.so --xwayland --log=/mnt/wslg/weston.log --socket=wayland-0 --shell=rdprail-shell.so --logger-scopes=log,rdp-backend,rdprail-shell
wslg        14  0.0  0.0  18452  8540 ?        Ss   Aug27   0:00      |   \_ /usr/libexec/weston-rdprail-shell
wslg        15  0.0  0.0   2128  1512 ?        S    Aug27   0:00      \_ /init /mnt/c/Program Files/WindowsApps/MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe/msrdc.exe /mnt/c/Program Files/WindowsApps/MicrosoftCorporationII.WindowsSubsystem
message+    16  0.0  0.0   8616  3904 ?        S    Aug27   0:00      \_ /usr/bin/dbus-daemon --syslog --nofork --nopidfile --system
wslg        17  0.0  0.0 234480  8008 ?        Sl   Aug27   0:00      \_ /usr/bin/pulseaudio --log-target=file:/mnt/wslg/pulseaudio.log --load=module-rdp-sink sink_name=RDPSink --load=module-rdp-source source_name=RDPSource --load=module-native-protocol-unix socket=/mnt
wslg        21  0.0  0.0   8484   352 ?        Ss   Aug27   0:00 /usr/bin/dbus-daemon --syslog --fork --print-pid 6 --print-address 8 --session
root       278  0.0  0.0   2260   100 ?        Ss   17:24   0:00 /init
root       279  0.0  0.0   2276   108 ?        S    17:24   0:00  \_ /init
wslg       280  0.0  0.0   8188  4924 pts/0    Ss   17:24   0:00      \_ -bash
wslg       292  0.0  0.0   3488  1216 pts/0    R+   17:25   0:00          \_ ps -auxf

grep -E "rdp_rail_idle_handler|rdp_rail_wake_handler" /mnt/wslg/weston.log:
[11:49:44.316] rdp_rail_idle_handler is called on peer_ctx:0x564dfdfe6630
[15:11:43.111] rdp_rail_wake_handler is called on peer_ctx:0x564dfdfe6630
[15:16:43.111] rdp_rail_idle_handler is called on peer_ctx:0x564dfdfe6630
[12:10:20.807] rdp_rail_wake_handler is called on peer_ctx:0x564dfdfe6630
[12:15:20.806] rdp_rail_idle_handler is called on peer_ctx:0x564dfdfe6630
[12:24:53.875] rdp_rail_wake_handler is called on peer_ctx:0x564dfdfe6630
[12:29:53.874] rdp_rail_idle_handler is called on peer_ctx:0x564dfdfe6630
[13:44:25.108] rdp_rail_wake_handler is called on peer_ctx:0x564dfdfe6630
[13:49:25.108] rdp_rail_idle_handler is called on peer_ctx:0x564dfdfe6630
[19:38:01.890] rdp_rail_wake_handler is called on peer_ctx:0x564dfdfe6630
[12:11:25.785] rdp_rail_idle_handler is called on peer_ctx:0x564dfdfe6630
[14:39:23.535] rdp_rail_wake_handler is called on peer_ctx:0x564dfdfe6630
[14:44:23.534] rdp_rail_idle_handler is called on peer_ctx:0x564dfdfe6630
[17:15:03.490] rdp_rail_wake_handler is called on peer_ctx:0x564dfdfe6630

Using powercfg /requestsoverride PROCESS mstsc.exe DISPLAY SYSTEM seemed to work but... if I'm not actively using a linux app (IntelliJ in my case) for a while it gets shutdown. Since then I've removed the exception for mstsc.exe and IntelliJ hasn't been shutdown since. I rather have my PC not sleep automatically than IntelliJ being shutdown while I'm on a Teams call.
After removing the request override this what I get from powercfg /requests with IntelliJ open:
DISPLAY:
[PROCESS] \Device\HarddiskVolume3\Windows\System32\mstsc.exe
RAIL Power Request

SYSTEM:
[PROCESS] \Device\HarddiskVolume3\Windows\System32\mstsc.exe
RAIL Power Request
[DRIVER] Legacy Kernel Caller

AWAYMODE:
None.

EXECUTION:
None.

PERFBOOST:
None.

ACTIVELOCKSCREEN:
None.

@dmarcelino, if you are seeing mstsc.exe, you are on very old version of WSL/WSLg, please update them from aka.ms/wslstorepage, thanks!

Thanks @hideyukn88 , now I do get msrdc.exe instead of  mstsc.exe.
DISPLAY:
[PROCESS] \Device\HarddiskVolume3\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe\msrdc.exe
RAIL Power Request

SYSTEM:
[DRIVER] Legacy Kernel Caller
[PROCESS] \Device\HarddiskVolume3\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe\msrdc.exe
RAIL Power Request

AWAYMODE:
None.

EXECUTION:
None.

PERFBOOST:
None.

ACTIVELOCKSCREEN:
None.

I'll see if the issue remains.

The fix went to MSRDC version 1.2.3573 or newer, WSL will soon be update with MSRDC version 1.2.3575, thanks!

Hi all, WSL 0.70.0 is just released from Store, and this include the update of MSRDC, please update it by wsl --update, and if the problem still persists, please let us know by reopening this issue, thanks!

Hi all, WSL 0.70.0 is just released from Store, and this include the update of MSRDC, please update it by wsl --update, and if the problem still persists, please let us know by reopening this issue, thanks!

Ran the update this morning and powercfg is showing "None" across the board, 🤞it stays that way!
Thanks all! This is one of the most random issues I've had in a while 😂😂

Hi @hideyukn88
I've been having this issue for too long and finally found this issue. Updated wsl to the latest version but my windows 11 is still not sleeping nor turning off the display. here's the cmd output
C:\Windows\System32>wsl --update
Checking for updates.
The most recent version of Windows Subsystem for Linux is already installed.

C:\Windows\System32>wsl --version
WSL version: <IP_ADDRESS>
Kernel version: <IP_ADDRESS>
WSLg version: 1.0.45
MSRDC version: 1.2.3575
Direct3D version: 1.606.4
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.22621.674

C:\Windows\System32>powercfg -requests
DISPLAY:
[PROCESS] \Device\HarddiskVolume3\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe\msrdc.exe
RAIL Power Request

SYSTEM:
[PROCESS] \Device\HarddiskVolume3\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe\msrdc.exe
RAIL Power Request

AWAYMODE:
None.

EXECUTION:
None.

PERFBOOST:
None.

ACTIVELOCKSCREEN:
None.

for now I just set up a hotkey to manually put my computer to sleep but hopefully there will be a solution to this. thanks

Like @idrisakmal, I'm experiencing the same issue:
Microsoft Windows [Version 10.0.22621.674]
(c) Microsoft Corporation. All rights reserved.

C:\Users\imran>wsl --update
Checking for updates.
The most recent version of Windows Subsystem for Linux is already installed.

C:\Users\imran>wsl --version
WSL version: <IP_ADDRESS>
Kernel version: <IP_ADDRESS>
WSLg version: 1.0.45
MSRDC version: 1.2.3575
Direct3D version: 1.606.4
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.22621.674

C:\Users\imran>powercfg -requests
DISPLAY:
None.

SYSTEM:
None.

AWAYMODE:
None.

EXECUTION:
None.

PERFBOOST:
None.

ACTIVELOCKSCREEN:
None.

Same issue here, even with wslg disabled in .wslconfig.
If I shutdown WSL and run powercfg /requestsoverride PROCESS mstsc.exe DISPLAY SYSTEM it works, but I keep my WSL running all the time.
I'm on WSL version <IP_ADDRESS>.

I'm not sure why the --version switch is not available for me right now.  Was it recently removed by another update?
>wsl --version
Invalid command line option: --version

Like both @idrisakmal and @imranismail, I am also still having the same issue.
Microsoft Windows [Version 10.0.22000.1219]
(c) Microsoft Corporation. All rights reserved.

C:\WINDOWS\system32>wsl --update
Checking for updates.
The most recent version of Windows Subsystem for Linux is already installed.

C:\WINDOWS\system32>wsl --version
WSL version: <IP_ADDRESS>
Kernel version: <IP_ADDRESS>
WSLg version: 1.0.47
MSRDC version: 1.2.3575
Direct3D version: 1.606.4
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.22000.1219

C:\WINDOWS\system32>powercfg -requests
DISPLAY:
[PROCESS] \Device\HarddiskVolume3\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe\msrdc.exe
RAIL Power Request

SYSTEM:
[PROCESS] \Device\HarddiskVolume3\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe\msrdc.exe
RAIL Power Request

AWAYMODE:
None.

EXECUTION:
None.

PERFBOOST:
None.

ACTIVELOCKSCREEN:
None.

C:\WINDOWS\system32>

By the way, I'm assuming that the powercfg output given by @imranismail was intended to look like the one from @idrisakmal and mine here, to show the status when issue is actively happening.

@tcfurrer, would you please share core dump using steps at https://github.com/microsoft/wslg/issues/380#issuecomment-1179421029 ? thanks!

Same thing here as well:
:\Windows\System32>powercfg /requests
DISPLAY:
[PROCESS] \Device\HarddiskVolume4\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe\msrdc.exe
RAIL Power Request
[PROCESS] \Device\HarddiskVolume4\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe\msrdc.exe
RAIL Power Request
[PROCESS] \Device\HarddiskVolume4\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe\msrdc.exe
RAIL Power Request
[PROCESS] \Device\HarddiskVolume4\Program Files (x86)\Microsoft\Edge\Application\msedge.exe
Video Wake Lock
SYSTEM:
[PROCESS] \Device\HarddiskVolume4\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe\msrdc.exe
RAIL Power Request
[PROCESS] \Device\HarddiskVolume4\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe\msrdc.exe
RAIL Power Request
[PROCESS] \Device\HarddiskVolume4\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe\msrdc.exe
RAIL Power Request
[DRIVER] Legacy Kernel Caller
Another behavior I see is that if I manually put the machine to sleep it will wake itself up about a minute later with the above wake locks in powercfg.  The behavior is not consistent.

Also having the same issue, here's the output of ps -aufx after running wsl --system:
wslg [ /mnt/c/Windows/System32 ]$ ps -auxf
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0   2276  1736 ?        Sl   00:13   0:00 /init
root         2  0.0  0.0   2276  1740 ?        Sl   00:13   0:00 /init
root        13  0.0  0.0   2276     4 ?        Sl   00:13   0:00  \_ plan9 --control-socket 5 --log-level 4 --server-fd
root         6  0.0  0.0  47808  8544 ?        S    00:13   0:00 /usr/bin/WSLGd
wslg         9  0.3  0.2<PHONE_NUMBER>8 ?        Sl   00:13   0:00  \_ /usr/bin/weston --backend=rdp-backend.so --modules=
wslg        12  0.1  0.0  18028  7904 ?        Ss   00:13   0:00      \_ /usr/libexec/weston-rdprail-shell
wslg        29  2.1  0.4<PHONE_NUMBER>0 ?        Ssl  00:13   0:00      \_ /usr/bin/Xwayland :0 -rootless -core -listen 38
root        16  0.0  0.0   2284   100 ?        Ss   00:13   0:00 /init
root        17  0.0  0.0   2300   108 ?        S    00:13   0:00  \_ /init
wslg        18  0.2  0.0   8212  4808 pts/0    Ss   00:13   0:00      \_ -bash
wslg        42  0.0  0.0   3488  1172 pts/0    R+   00:14   0:00          \_ ps -auxf

@wowczarczyk, would you please take core dump following instructions at https://github.com/microsoft/wslg/issues/380#issuecomment-1179421029, and share with us? thanks!

I am getting:
wslg [ /mnt/c/Windows/System32 ]$ tdnf install gdb
Error(1601) : Operation not permitted. You have to be root.

I am running wsl --system from command line with admin rights

Ok, managed to get it to work with starting wsl system with root user.
Here's the output of ps -aux:
root@STACJONARKA [ /mnt/c/Windows/System32 ]# ps -aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0   2276  1736 ?        Sl   00:37   0:00 /init
root         2  0.0  0.0   2276  1736 ?        Sl   00:37   0:00 /init
root         6  0.0  0.0 121508  8508 ?        Sl   00:37   0:00 /usr/bin/WSLGd
wslg         9  0.2  0.2<PHONE_NUMBER>6 ?        Sl   00:37   0:00 /usr/bin/weston --backend=rdp-backend.so --modules=wslg
wslg        12  0.0  0.0  18464  8440 ?        Ss   00:37   0:00 /usr/libexec/weston-rdprail-shell
root        13  0.0  0.0   2276     4 ?        Sl   00:37   0:00 plan9 --control-socket 5 --log-level 4 --server-fd 6 --
wslg        44  0.2  0.4<PHONE_NUMBER>8 ?        Ssl  00:37   0:00 /usr/bin/Xwayland :0 -rootless -core -listen 38 -wm 39
wslg        68  0.0  0.0   2152  1592 ?        S    00:38   0:00 /init /mnt/c/Users/owcza/AppData/Local/Microsoft/Window
message+    69  0.0  0.0   8616  3864 ?        S    00:38   0:00 /usr/bin/dbus-daemon --syslog --nofork --nopidfile --sy
wslg        70  0.0  0.0 234480  8120 ?        Sl   00:38   0:00 /usr/bin/pulseaudio --log-target=file:/mnt/wslg/pulseau
wslg        74  0.0  0.0   8484   352 ?        Ss   00:38   0:00 /usr/bin/dbus-daemon --syslog --fork --print-pid 17 --p
root       104  0.0  0.0   2284   100 ?        Ss   00:39   0:00 /init
root       105  0.4  0.0   2300   108 ?        R    00:39   0:00 /init
root       106  0.0  0.0   8212  4868 pts/0    Ss   00:39   0:00 -bash
root       161  0.0  0.0   3488  1256 pts/0    R+   00:40   0:00 ps -aux

core.zip

I have this issue. After a spot of troubleshooting, the initial cause is clear enough.
I have Docker Desktop installed and running in WSL2 mode. I have a RAIL Power Request for both DISPLAY and SYSTEM as long as Docker Desktop is running (which does not have any X UI, as far as I know). As soon as I shut down Docker Desktop, the requests are no longer active.
It's not clear to me whether this is a Docker Desktop issue, or a WSLg issue.

I also use DD, but I am uncertain if it is the root cause. For me killing it does not make the msrdc power requests go away.

@justinbowes, @wowczarczyk, thanks for info, what's happening here might be that WSLg/msrdc takes power reference regardless of any GUI application presence at WSL start up, and the reference goes away after 5 mins if no GUI application starts up. but within that 5 mins, docker might startup new instance of WSL, so it extends another 5 mins, and this can repeat while docker is running, thus power reference never goes away. You can check the uniqueness of WSL instance by hcsdiag list command from Windows's command prompt. Would you please check if the GUID shows for WSL is changing while your docker scenario is running? thanks!
C:\>hcsdiag list
276EB821-E97C-46A7-9FA7-763BF6160D6A
    VM,                         Running, 276EB821-E97C-46A7-9FA7-763BF6160D6A, WSL

I am always getting the same GUID, unless I kill wsl with wsl --shutdown

@hideyukn88 This sounded like a reasonable theory. Based on your description, I selected a sample interval of 6 minutes. Like @wowczarczyk, I find that the same GUID is returned.
PS C:\Users\justi> date; hcsdiag list; sleep 360; date; hcsdiag list

Saturday, January 7, 2023 10:27:21 AM
80CE200B-FED7-410A-9842-E1F02D130B95
    VM,                         Running, 80CE200B-FED7-410A-9842-E1F02D130B95, WSL

Saturday, January 7, 2023 10:33:21 AM
80CE200B-FED7-410A-9842-E1F02D130B95
    VM,                         Running, 80CE200B-FED7-410A-9842-E1F02D130B95, WSL

I made a trival change to the Docker Desktop configuration (enabling buildkit) to see if the GUID would change in a scenario where Docker must restart the backend, but the GUID remains the same even here.
I should also mention that there are actually two active requests, and both seem to be due to Docker Desktop.
PS C:\Users\justi> powercfg /requests
DISPLAY:
[PROCESS] \Device\HarddiskVolume9\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe\msrdc.exe
RAIL Power Request
[PROCESS] \Device\HarddiskVolume9\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe\msrdc.exe
RAIL Power Request

SYSTEM:
[PROCESS] \Device\HarddiskVolume9\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe\msrdc.exe
RAIL Power Request
[PROCESS] \Device\HarddiskVolume9\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe\msrdc.exe
RAIL Power Request

On the subject of intended Docker behavior (which may be off topic for this thread), I do not have any running containers in this Docker context, so there is no reason to intentionally suppress sleep to maintain access to a service container.
PS C:\Users\justi> docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
PS C:\Users\justi>

My issue is no longer aligned with original issue. My intent was to post a workaround in case the original fix did not apply. Do you want me to create a new issue?

@justinbowes, @wowczarczyk, thanks for checking. If GUID remains same, then my theory is not what's happening at your end. At this point, collecting core dump of weston process following https://github.com/microsoft/wslg/issues/380#issuecomment-1179421029 would greatly help. Also as backup, I'm working on the change to weston compositor to not take power reference until any GUI application start up, https://github.com/microsoft/weston-mirror/pull/128. This allows WSL users who only works on console based applications won't be bothered by this, thanks!

I'd like to report some similar incident that have been happening intermittently:

In the morning, I found the machine woke up from sleep rather than hibernate.
(the machine should have hibernated after sleeping for 1 hour in my configuration.)
When I ran powercfg, it showed msrdc.exe held display RAIL Power Request, similar to what the others had reported.
I tried to get the core dump following https://github.com/microsoft/wslg/issues/380#issuecomment-1179421029, but by the time I got to the wsl --system terminal, msrdc.exe no  longer held display.
I did not use any Linux GUI app, but I did launch exploerer.exe, notepad, and nodepad2 from WSL shells, but had exited them long before the machine was put to sleep.
It happened quite frequent (a few times a week), but not always.

I used the latest store version of WSL / Ubuntu on Windows 11 Home:
wsl --version

WSL version: <IP_ADDRESS>
Kernel version: <IP_ADDRESS>
WSLg version: 1.0.47
MSRDC version: 1.2.3575
Direct3D version: 1.606.4
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.22621.1105

@orionlee, thanks for reporting the issue and your analysis. Currently when Windows goes to its logon screen (such as after hibernating), the RDP client (such as msrdc.exe) sent certain key sequences to all RDP servers who have active connections, including WSLg, this wakes up WSLg and take power reference (then the reference should be gone after 300 seconds). I think this is what you are seeing. Basically, Linux/WSLg does not need to receive such key sequence since "logon" state is totally independent between Windows and Linux side, so we will consider to not doing that for WSLg, thanks!

@hideyukn88 thanks for your response!
Could you clarify what you mean by "when Windows goes to its logon screen (such as after hibernating)": do you mean the following sequence of events?

Windows tries to go to hibernate
internally, it means Windows goes to its logon screen
msrdc.exe got woken up and held the display unnecessarily, thus preventing hibernate.

If so, then the workaround in the interim is what's suggested at https://github.com/microsoft/wslg/issues/380#issuecomment-992206466
powercfg /requestsoverride PROCESS mstsc.exe DISPLAY SYSTEM

@hideyukn88 I see. So in that case, msrdc.exe holding  the display unnecessarily is probably just a red herring, and is likely to be unrelated to the reasons that machine didn't go to hibernate.
I ran powercfg /SLEEPSTUDY, and found something suspicious but don't know if there is enough to go on.
When the machine hibernated after extended sleep, the standby entry is marked as "Drain" (entry 16 below). In contrast, when the machine did not hibernate after extended sleep, the standby entry is marked as "Charge" (entry 66 below), even though the machine was not connected to power (the battery drain overnight in the report proved that).

Details for case the machine did not go to hibernate

Details for case the machine went to hibernate after extended sleep

Im on windows 10 22H2 and I still have this issue.
>wsl --version
WSL version: <IP_ADDRESS>
Kernel version: <IP_ADDRESS>
WSLg version: 1.0.51
MSRDC version: 1.2.3770
Direct3D version: 1.608.2-61064218
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.19045.3448

Any news about this issue?


Add Documentation for AfterFileSaved Event

Document the AfterFileSaved Event for the File Component
Change-Id: Ice7cbdf7ada7e063897821c20d060bd8f2023445

Fixes #1187


Add Stargazers & Forkers profiles to README.md

Adding stargazers & forkers profiles from gdg-website in README.md to make project more interactive.

@rishicds please assign me this issue

assigned


Move robot forward and back "x" inches.

Is your feature request related to a problem? Please describe.
The robot needs to move forward and back in inches rather than steps for precise movement.
Describe the solution you'd like
Convert steps per revolution into steps per inch.

This was solved in #5


Can't raw.filter MISC channels

With raw.filter I can not filter the instance of the raw created with pick_channels using names of MISC channels. It complains about not finding the channels to work with. Still does not work when I tried to explicitly specify picks to the raw.filter method using either indices or channel names. Both of these instructions fail:
raw_misc = raw.copy().pick_channels(names_misc);

raw_misc.filter(0.5, 5., h_trans_bandwidth='auto', filter_length='auto',
                         phase = 'zero', picks = names_misc);
raw_misc.filter(0.5, 5., h_trans_bandwidth='auto', filter_length='auto',
                         phase = 'zero', picks = np.array([0,1,2]));

this is the same issue as #6801 6801


Guidata can not be installed on python 2.6

When trying to install guidata via pip install --user guidata with python 2.6, the installation breaks with the following error message:
File "/tmp/caribou/pip-build-6m1nnH/guidata/setup.py", line 151, in <module>
    % sys.version_info.major,]},
AttributeError: 'tuple' object has no attribute 'major'

The setup.py script uses the named accessor sys.version_info.major which is only accessible from python 2.7 onwards. However, the meta-data lists compatibility with python 2.6.

Python 2.6 is no longer supported


Can't set volume before starting playback

You have to call play() before calling set_volume() which results in the first note being really loud.

Yup I need to fix that.


:robot: Cleanup of leftovers

Docs were pushed in the root repo plus Makefile is not used anymore. Any jobs added should be done in the earthly file directly

Merging directly, this is just a cleanup!


Desktop app not loading after update

Logged in after update and nothing happens. I keep getting blank page. I use MAC OSX v 10.11.3.

@sain2424 sorry to hear that, do you know what was your previous version? Also, does tapping F12 opens the devtools? If so, please give us a screenshot so that we can understand where the bug is coming from.

F12 doesn't load devtools and I dont know the previous version. I think I downloaded it on last Friday or Saturday, so maybe one version before this.

I have not been able to reproduce the problem, unfortunately. But the following should reset the cache and restore the application:
With a terminal, remove the devrantron folder located in /Users//Library/Application Support/
Please let me know if that works.

Removed folder. Logged in and same problem again. This time F12 worked and here's screenshot.
https://imgur.com/a/xOWOl

@sain2424 do you have an avatar in devRant?

yes

https://www.devrant.io/users/sain2424

@sain2424 Hm I just tried devRantron on my friends MacBook and I cannot reproduce it there either. He used his own account to log in.
One last way you could help me is to zip the devrantron folder in Application Support folder and send it to me personally at<EMAIL_ADDRESS>Please keep in mind that I will have access to your account for a while because you are logged in. But that is up to you if you want to share and find out what is causing the bug.
Another thing you could do is that you could make sure that you are using the latest version. You can download it from here: https://github.com/tahnik/devRantron/releases/tag/v1.4.1

I am using latest version. I have sent you the file.

Aha, thank you so much! I figured it out.
Basically, one of the users that commented you rant has deleted their account. So when the app's notification was trying to fetch the avatar of the user that commented, it was failing. Never took that into consideration before!
I will release an update by today with some other small bugfixes and let you know. Thanks again!

Glad I could help.

I am also trying to load devRantron development files. Cloned, did npm install then npm start. It loaded at first but not loading now. Could it be related?

I just did a fix and merged it to master. It could be related. Any luck with a screenshot of the console?

Pulled from master, and I can finally log in. When will it be available for desktop version?

@sain2424 very soon

@sain2424 can you verify that the latest update works?


Shaka throws MANIFEST.RESTRICTIONS_CANNOT_BE_MET on Tizen 2016

On Tizen 2016 model TV's, Shaka dispatches MANIFEST.RESTRICTIONS_CANNOT_BE_MET, from Player#chooseStreams_. There aren't any playable variants because it uses the webkit MediaKeys polyfill, which uses the fake KEY_ID_:
// Construct fake key ID.  This is not done at load-time to avoid exceptions
// on unsupported browsers.  This particular fake key ID was suggested in
// w3c/encrypted-media#32.
PatchedMediaKeysWebkit.MediaKeyStatusMap.KEY_ID_ =
    (new Uint8Array([0])).buffer;

Thus none of the stream.keyId keys exist in the keyStatusMap  in Player#onKeyStatus_, here:
var keyStatus = keyStatusMap[stream.keyId];
variant.allowedByKeySystem = !!keyStatus && restrictedStatuses.indexOf(keyStatus) < 0;

...and thus the variant is restricted.
But playback proceeds anyway. Can you share any more information about the meaning of this error? I didn't dig further into what happens when the player dispatches this error, so I'm not sure if this is expected behaviour or not.
Thanks!

I believe this is related to #890 and #891.  In all three issues, there is a lack of key status information.  We will try to address #890 first and see how well that work applies to Tizen.

The fix for this has been cherry-picked and will be released in v2.1.5.


Added Random forest module

Closes #4

[x] Added RFModel
[x] Added a test_rf_model.py, all tests passing, but the relative tolerance is quite loose for the multiple samples test; not sure if you have any ideas about why, @duncanwp ?

Should I also add sci-kit as a dependency?

@duncanwp , bumping just in case you haven't seen this. No rush if you have though


[WIP] fix broken/missing links in tutorial docs

fix broken distributed tutorial link
add missing tabular kaggle tutorial card to tutorials page
improve core tutorial descriptions to emphasize these are for tuning custom model/training-script

Job PR-442-1 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-442/1/index.html

Job PR-442-2 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-442/2/index.html


Keyframe Time

add keyframe timeline
its hard to make dance animations that have a certain bpm

Duplicate of #192


Add support for localizing context menu item names.

Description:
Currently, the names of items in the context menu of our application are hard-coded in English (Copy, Paste, Cut, Select all). However, for better user accessibility and usability, we would like to propose adding support for localizing the names in the context menu based on the language set in the user's system.
Expected Behavior:
Automatically adapt the context menu item names to the language set in the user's system.
Allow users to override this language setting within the application if they prefer a different language.
Additional Information:
This feature will enhance the experience for users, as it will display context menu item names in the language of their system, making our application more accessible and user-friendly. Users who prefer a different language can still have the flexibility to customize it within the application settings.

Should work same way as Avalonia does. For keys look at https://github.com/AvaloniaCommunity/Material.Avalonia/blob/master/Material.Styles/InvariantResources.xaml


add 1.20 r2 support

r1 to be found in r2 and override empty found aQ()

to find dj#n meaning damage source out of world

add posibility to disable orb collisions


Enhancement: Add more useful methods like list, delete, edit, show to ApiClient and ViewHelpers

Right now ApiClient has functions like recordAction, resourceAction etc. This is totally cool because it relates to the AdminBro architecture but it would be good to have an alias functions.
So instead of calling
api.recordAction({actionName: 'show', recordId: 'xxx', resourceId: 'zzz'})

it would be good to have:
api.show(recordId, resourceId)

the same for list, edit, delete, bulkDelete.

This is done for ViewHelpers only: https://github.com/SoftwareBrothers/adminjs/blob/master/src/backend/utils/view-helpers/view-helpers.ts#L162
TODO in ApiClient

We don't plan to do it.


Added the events system

There's also a version bump.

You should add tests for this new functionality


Add install instructions & simple examples

In order for us curious folks to check this out :smile: @willscott told me a bit about this project and it sounds quite cool!

there's still some structure required to make this usable. In particular, I'm just starting to refactor a less static set of assumptions about how the client talks to the server, and provide a reasonable client CLI wrapping https://github.com/ryscheng/pdb/blob/master/libpdb/client.go
It's coming :smile:

Thanks! Agree with all of Will's points, will update this issue as soon as we flesh more of it out :-)

I've started up an initial server to poke against. instructions here: https://lists.riseup.net/www/arc/talek/2017-05/msg00000.html


Add ability to use a version of Tensorflow built from source

Request description
SHARK currently uses TF releases when benchmarking XLA. Releases happen quarterly and we require benchmark results on a monthly cadence that ideally uses the latest XLA updates. We need to be able to benchmark against TF head.
What component(s) does this issue relate to?
Other
Additional context
No response

This doesn't look to be related to IREE itself. Move to another repo?


Autocomplete attribute on input elements, e.g.   <input type="text" autocomplete="...

Autocomplete attribute on input elements, e.g.
<input type="text" autocomplete="off" />
<input type="text" autocomplete="on" />

This issue was imported from Google Moderator
Moderator votes: +5
Issue added by Wayne on 2012-02-16
To vote this issue up or down, simply include +1 or -1 in your comment.

Duplicate of #976 so moving half the votes there.


Fix rubocop complaints on MiqProvisionVirtWorkflows

based on https://github.com/ManageIQ/manageiq/pull/1766

I'll wait on reviewing this when the other one gets in...can you mark the dependency in the PR title?

Odd that all these rubocops are coming through.

@miq-bot rm_label WIP

yay. down to 100 rubocop errors.
It looks good to me. @gmcculloug ?

@kbrock @gmcculloug Added another commit to simplify more conditionals based on your comments

:+1:


Has doesn't respect keyword arguments

Subject of the issue
When working with capybara, the following fails:
expect(page).to have_field('object_title', with: 'some name')

Your environment

Ruby version: 3.2.4
rspec-expectations version: 3.13.1

Steps to reproduce
Using capybara do expect(page).to have_field('object_title', with: 'some name')
Expected behavior
It delegates to has_field?('object_title', with: 'some name')
Actual behavior
It calls has_field?('object_title', { with: 'some name' })
I made a following monkey patch to workaround the problem:
module RSpec
  module Matchers
    module BuiltIn
      class Has
        private

        def predicate_result
          if @args.last.is_a?(Hash)
            # Extract the last element of @args and pass it as keyword arguments
            args_without_last = @args[0...-1]
            last_hash = @args.last
            actual.__send__(predicate_method_name, *args_without_last, **last_hash, &@block)
          else
            # Fallback to the default behavior if there's no hash at the end of @args
            actual.__send__(predicate_method_name, *@args, &@block)
          end
        end
      end
    end
  end
end

Interestingly enough, I cannot reproduce is in a simple case. The capybara code (as I checked in debugger callstack) is from
https://github.com/teamcapybara/capybara/blob/master/lib/capybara/session.rb#L774 and then https://github.com/teamcapybara/capybara/blob/master/lib/capybara/node/matchers.rb#L421
However, for this simple test case it passes:
class TestModel
  class Internal
    def has_field?(locator = nil, **options, &optional_filter_block)
      true
    end
  end

  def initialize
    @internal = Internal.new
  end

  def has_field?(...)
    @internal.has_field?(...)
  end
end

RSpec.describe TestModel, type: :model do
  let(:instance) { described_class.new }

  it 'passes keyword arguments' do
    expect(instance).to have_field('secret', with: 'something')
  end
end

I'm puzzled.

I did some more investigation and at a guess, whats happening is that the capture of the arguments up in the DynamicPrediate parent class is somehow being overriden, so that these hashes are not being marked as ruby2_keywords hashes, by default we use:
        def initialize(method_name, *args, &block)
          @method_name, @args, @block = method_name, args, block
        end
        ruby2_keywords :initialize if respond_to?(:ruby2_keywords, true)

Which captures the keywords as the hash but marks them as ruby2 style which allows the splat to work.
So we're going to need some more information from you as to what else you have that might be monkey patching over the top, can you check the source location of RSpec::Matchers::BuiltIn::DynamicMatcher#initialize in your broken suite?

I'm having hard time finding the source location:
(byebug) RSpec::Matchers::BuiltIn::DynamicPredicate.method(:initialize).source_location
nil
(byebug) RSpec::Matchers::BuiltIn::DynamicPredicate.method(:new).source_location
nil

.rvm/gems/ruby-3.2.4/gems/rspec-expectations-3.13.1/lib/rspec/matchers/built_in/has.rb", 10

In your monkey patch, what is the value of Hash.ruby2_keywords_hash(last_hash)

it's for example:
{:with=>"Beta experiment"}

I think what is interesting is the result of the predicate method Hash.ruby2_keywords_hash?(last_hash) which would be true or false.
What tools do you use for debugging, @romanbsd ?

Sorry yes thats what I meant

I use byebug, but can try anything else.

Can you please check what Hash.ruby2_keywords_hash?(last_hash) returns?

(byebug) Hash.ruby2_keywords_hash?(last_hash)
false

Ok I think this is likely something else interferring with the ruby2 keyword hash stuff then, in our vanilla implementation it returns true and everything works as expected. I'd recommend trying to eliminate things from your stack (temporarily) until you find what gem / code is interfering with this.
I'm closing this for now but if you can come up with a reproduction please re-open.

Any idea what it could be, or what code patterns should I search for?

You could try searching your code/dependencies for things monkey patching has's initializer,

The Has initializer is not monkey patched as far as I can tell. Is there some mechanism of ruby2_keywords that can be in effect here? How some external library can have an effect on this code?

Anything which intefers with the vanilla behaviour of the ruby2_keywords flag or our class and its methods could be at fault, you should also search for anything thats reopening the class (including er including itself into the class form example).
As I mentioned eliminating one gem at a time might be the best way to debug this


publicPath doesn't work with 2.0.0-rc.3

It seems that publicPath option is ignored:
new ExtractTextPlugin("libs.css"),

// ...later

use: ExtractTextPlugin.extract({
  fallback: 'style-loader',
  use: 'css-loader',
  publicPath: 'assets'
}),

The file is still at dist/libs.css, using dist from webpack output.publicPath configuration.

If you want to help, see carefully what happens at https://github.com/webpack-contrib/extract-text-webpack-plugin/blob/6abf42da2dd57ab3e87c22f5b8d7ab345760a34e/loader.js#L47 .

I noticed that line, but it's not clear for me at which point loader.js is loaded (at least I can't see it used in index.js) and why there is still the query name now that we use options.
Would be nice to contribute/help anyway (:

That query is legacy naming I think. Webpack 1 style config should still work although webpack 2 style is preferred.

In case it helps, it looks to me like at line 47 referenced above, the following variables are:
query.publicPath:  undefined
this._compilation.outputOptions.publicPath:  /
when I do a cross-env NODE_ENV=production node build/build.js
However, I believe the config settings that should have been used in my environment are:
build: {
env: require('./prod.env'),
index: path.resolve(__dirname, '../dist/index.html'),
assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'assets',
assetsPublicPath: '/mdc-admin/',
productionSourceMap: true,
productionGzip: false,
productionGzipExtensions: ['js', 'css']
},
Hope that helps - this is new to me also, but it does seem to be ignoring the PublicPath setting.
Thanks!

@tmcmah1 How are you setting publicPath for the plugin?

In my webpack.base.conf.js file, I have the following:
output: {
path: config.build.assetsRoot,
publicPath: isProduction ? config.build.assetsPublicPath : config.dev.assetsPublicPath,
filename: '[name].js'
}
Update: I'm sorry, this is probably not a webpack issue, and probably is related to vuejs-templates.  And perhaps I just don't understand the differences between "assetsSubDirectory" and "assetsPublicPath" which seems to have been introduced by vuejs-templates.  But I was able to accomplish what I needed in the final built files by just changing assetsSubDirectory to the full destination path ('/webApp/assets/') and changing assetsPublicPath to ''
This seemed to solve the issue for me.

I understand what's going on now. It writes publicPath correctly, but it fails to take that into account when emitting a file. That has to do with the way file-loader works. Based on its implementation it does not use publicPath when emitting. That explains the behavior.
Based on that I would say we cannot fix the issue at extract-text-webpack-plugin and should push it to file-loader instead. If its behavior changed, that would be a breaking change, but it could be a bug too.
Any thoughts on this @sokra?

I think I figured this out. publicPath option applies only to the context in which ExtractTextPlugin runs. So you could use it to adjust each image path within CSS and so on.
To get the behavior you want, instead of new ExtractTextPlugin("libs.css"), you should use new ExtractTextPlugin("assets/libs.css"),.

still not working.
I need to set the publicPath with a CDN prefix.

@zcoding Can you open a separate issue with a runnable example?


Invoke the correct LSP method

😄

Do you want to modify a completion test or razorlanguagequery test to verify the string?


[4.0.0-beta.12] ion-button with color is white when wrapped in stencil component with Shadow DOM enabled

Bug Report
Versions
"@ionic/core": "4.0.0-beta.12"
"@stencil/core": "0.13.2"

Describe the Bug
When creating a Stencil component with Shadow DOM enabled and using an ion-button within it with the color attribute set, the button has white text on white background.

Steps to Reproduce

Create a new Stencil component with Shadow DOM enabled
Use an ion-button in it
Set the color attribute

Related Code
// my-component.tsx

@Component({ tag: 'my-component', shadow: true })
export class MyComponent {
  render() {
    return <ion-button color="primary">A Button</ion-button>;
  }
}

// some-page.tsx

@Component({ tag: 'some-page' })
export class SomePage {
  render() {
    return <my-component />;
  }
}

Expected Behavior
The button should still look like a button when adding the color attribute. Removing shadow: true fixes it:

Additional Context
It works when disabling Shadow DOM on the component. Maybe it has something to do with how CSS variables are passed through Shadow DOMs?
BTW, the button is also aligned to the center when enabling Shadow DOM but left when not.

Thanks for the issue! This is unfortunately a problem for any components using color inside of a
Shadow DOM component because the CSS to change the colors is not passed down. It is related to https://github.com/ionic-team/ionic/issues/14840.
cc @manucorporat

Yep, definitively a duplicated of https://github.com/ionic-team/ionic/issues/14840
We recommend to use scoped or no encapsulation when using Ionic


Primary Natural Attacks not set correctly

e.g. https://www.aonprd.com/MonsterDisplay.aspx?ItemName=Trollhound
After parsing, the bite is marked as primary, but gets penalties for being secondary.
Opening and closing the attack action fixes that, so the bug is probably from malformed data in the attack or the action.

Fixed in 4.0.3


Cannot locate resource from 'ms-appx:///FrameStyle.xaml'.

When running the winRT application the following exception is thrown:
An exception of type 'System.Runtime.InteropServices.COMException' occurred in FeedBackIO.UWP.exe but was not handled in user code

WinRT information: Cannot locate resource from 'ms-appx:///FrameStyle.xaml'.

Additional information: Unspecified error

In your WinRT application you should see a FrameStyle.xaml.
If you don't try reinstalling the NuGet Package. If that still fails to work, please let me know.
But as a work around, you can go to the source code and download FrameStyle.xaml and place it in the root of the WinRT project.

Apparently the FrameStyle.xaml file is within the application.
However, it is not included in the project. I noticed this by cloning the repository.
Reinstalling the NuGet package did not help (as expected).
A simple fix would be to include the file in the WinRT.csproj:

MSBuild:Compile
Designer

Hope this helps,
Vlad

Same error, but the "fix" does not work, uwp project is saying the file does not exist when it is reloaded (after modifying csproj file).
uninstalling/reinstalling the plugin does not work too.

I hit the same thing on UWP. Simply added the FrameStyle.xaml to my own project as per Adam's response above. Works fine.

Fix works for me add FrameStyle.xaml to the root of the UWP project and rebuild

Fix for me : use the source code in each project instead of the nuget package... That works with some minor corrections. Do not forget to set the xaml file as "page" for the build.
But this is not a good way to fix the problem, this must be done in the nuget package.

Manually adding the FrameStyle.xaml to my UWP project worked fine for me. Thanks!

Not longer applicable as Toasts Plugin has been rewritten.
Please file a new issue if you experience an problem with the new version.
More Info: https://xamarinhelp.com/toast-notifications-xamarin-forms/


⚠ Bofrost.lu has degraded performance

In 53fc373, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1483 ms

Resolved: Bofrost.lu performance has improved in 53bc72f after 8 minutes.


Add a new permutation matrix format

This PR adds a new permutation matrix format, in preparation for the Reordering methods.
Additionally, it also adds a Permutable interface, which allows for LinOps to implement the row_permute, column_permute ,inverse_row_permute and inverse_column_permute functions. The apply method of the permutation matrix format, should automatically call these functions and there should be no need for the user to call these functions.
The Permutation format, holds two permutation arrays, the row_permutation and the col_permutation. It implements methods from EnableLinOp and hence will provide the apply methods. The apply methods will permute the given LinOp by calling the respective LinOp's Xrow_permute/Xcol_permute functions if the LinOp has a Permutable interface.
Along with the Permutable interface, permuting a matrix should look something like this:
using Perm = gko::matrix::Permutation<>;
using Csr = gko::matrix::Csr<>;
using Dense = gko::matrix::Dense<>;

// See the constructors of Permutation for available options
auto p = Perm::create(exec, perm_array);

auto csr_mat=Csr::create(exec, <row_ptrs,  vals ...>);
auto dense_mat=Dense::create(exec, <vals ...>);

auto perm_csr = Csr::create(exec, csr_mat->get_size(), csr_mat->get_num_stored_elements());
auto perm_dense = Dense::create(exec, dense->get_size());

// Permutes the CSR matrix.
p->apply(csr_mat, perm_csr);

// Permutes the dense matrix
p->apply(dense_mat, perm_dense);

TODO

[x] Merge #349.
[x] Merge #350.

@pratikvn @thoasm  I updated the CUDA docker images to include libthrust-dev, which is required for HIP builds. Could that have messed up the ParILU tests? I don't think the test is complex related but who knows. That's the only thing I can think of right now from my part.

@tcojean I think it is possible that the problem is similar to what @yhmtsai had on Windows: In the old ILU preconditioner test, I did not set any initial value for the X vector or the cache vector, so it is possible that it reuses parts of previously allocated memory. That could result in wrong computations.
That part is fixed as part of the PR #353, so if that was the problem, rebasing should resolve it (after it is merged in master ofc).

Yes, I will leave it alone until #353 is merged and then rebase.

Good idea. I think an example would be nice. I think it is better if I add it another PR ?

Something I just thought about: we could also use masks for the interface, instead of the three flags. Similarly to loggers or jacobi. We could provide alias for row permutation in the form of (for example)
001 = row_permute
010 = column_permute
100 = inverse_permute
Then, in terms of interface, declaring a permutation which does both row and column permutations would look like this:
auto perm = gko::matrix::Permutation<i_type>::create(
        exec, gko::dim<2>{3}, gko::Array<i_type>::view(exec, 3, cdata), row_permute | column_permute);

I can't really say which is more intuitive...

@tcojean, i changed it to masks now as I find that to be more clear.

@pratikvn Nice. As suggestion improvement, you could consider whether it is worth making it similar to precision_reduction , i.e. to turn this into a class eventually with functionalities for easy testing such as is_row_permutation and similar.
https://github.com/ginkgo-project/ginkgo/blob/3ba4a47ffa0fd0532d1d6028ae43b4c39ae2e1e0/include/ginkgo/core/base/types.hpp#L233-L344

The design looks mostly good to me, a few comments:
1. For column_permute and inverse_row_permute in CSR, the implementation currently uses a linear scan to effectively determine an entry of the inverse permutation for each row/non-zero. We could speed this up considerably by computing the inverse permutation explicitly for the calls or even storing it in the permutation class. This would not make a difference for Dense and only a slight difference for COO (i.e., sorting after permutation), but benefit CSR etc. This would also remove a bit of code duplication from the CSR permute code.

2. Concerning Terry's comment w.r.t the interface, if we look at it from the view of a matrix, we could limit the choices to two options: `inverse_permute` determines if we multiply with `P` or `P*` (transposed), while `row_permute` and `column_permute` describe a multiplication from the left or right. Can you clarify why we need two separate flags for these operations?

3. Just out of curiosity: Do we plan to be able to combine (i.e., multiply) permutation matrices?

Thanks, that is indeed better.

row_permute can be seen as P A whereas the column_permute can be seen as A P, so I added two different options.

I guess it would be nice to have this as well. But I think as the Permutation class here does not strictly represent a matrix, I think it might be a bit difficult to group two permutations into one.


Cannot set leftmargin via \SetTemplateKeys{block}{display}

I am trying to implement margin setting for keytheorems with tagging enabled and ran into trouble overriding the block settings locally with \SetTemplateKeys. The following MWE shows the issue:
\DocumentMetadata
  {
    lang=en-US,
    pdfversion=2.0,
    pdfstandard=ua-2,
    testphase={phase-III,math,table,title,firstaid}
  }
\documentclass{article}

\usepackage{kantlipsum}

\SetTemplateKeys{block}{display}{
  leftmargin=2cm, % does nothing
  rightmargin=2cm, % this works
  }

\begin{document}

\kant[1][1-2]
\kant[2][1-2]
\begin{enumerate}%[leftmargin=2cm] % this works
\item abc
\item \kant[1][1-2]
\kant[2][1-2]
\end{enumerate}

\end{document}

If leftmargin or rightmargin is set in the optional argument of enumerate then it works as expected. The same is true for rightmargin if set with \SetTemplateKeys{block}{display}. But leftmargin set in \SetTemplateKeys has no effect. It doesn't matter if this is executed in the preamble or right before the environment.
Am I trying to use this the wrong way? Or is this a bug in the block code? Even in the first case, it's odd that rightmargin does something while leftmargin does not.

The block still calls the legacy commands, in this case \@listi and that contains
\leftmargin\leftmargini.

@u-fischer I see, thanks. I understand these interfaces are a work in progress. So is there any way to change the settings besides either passing the key directly to enumerate or redefining \@listi? I guess setting \leftmargini but that assumes I know the current listdepth is 1.

I think we have conflicting goals here. I think that the block implementation has to make use of the legacy list environments because they are all over the place in existing document classes and as long as those aren't updated (and many will not) this means that either we keep it (which allows for tagging even of those classes) or drop it (which means we rule out those as being usable going forward) without a full replacement of their code.
So my tendency is to just document this as a restriction.

@FrankMittelbach I'm a little confused. Isn't the point of separating the block and list templates to remove any connection between them? At least for kernel commands where you have full control, shouldn't there be a trueblock or something that uses its own parameters completely separate from the list parameters?

@FrankMittelbach I'm a little confused. Isn't the point of separating the block and list templates to remove any connection between them? At least for kernel commands where you have full control, shouldn't there be a trueblock or something that uses its own parameters completely separate from the list parameters?

@mbertucci47 yes the idea is to separate both and for new classes that do not also implement \@listi and friends that would be the case (and the intention is to offer such classes eventually).  However, the goal also is to make existing classes work evne if they do not get updated and that means honoring their \@listi settings somehow.  That means you can't overwrite their settings as cleanly is you could otherwise but if we don't do that then their settings would be ignored which means tagging or no tagging would result in possibly severe layout differences.
Some of that behavior might eventually be controlled with something like  compatibility={...} in \DocumentMetadata but we are not quite there yet.


Detect highlight press

I am adding notes as highlights but I would like to know how to detect if any highlight is pressed by the user in order to show options like edit note or delete

will be adding this soon

Added callback onAnnotationClicked  to handle highlight clicks, user cfi to identify which annotation is clicked


chore(main): release 1.1.10

:robot: I have created a release beep boop
1.1.10 (2024-07-27)
Bug Fixes

build: specify build dependencies (c86f1d4)
build: specify build dependencies in template (f7c4284)
flake: load libiconv-darwin only on darwin systems (0a2d361)
use build_dependencies for build backend (e38f17b)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/benlubas/neorg-se/releases/tag/v1.1.10 :sunflower:


Add Appointment History (If time permits)

FOR NOW:
Only add new appointment field storing upcoming appointment.
This field defaults to none.
TENTATIVELY ONLY IF WE HAVE TIME
Add appointments for a patient as separate Json files
Link each json file to a single patients' details.

Not Implemented.


Dcos support

Pull request to further improve HSDS cluster resiliency on DCOS during scale up and scale down.

Thanks @s004pmg!


[Bug]: start api server stuck

Your current environment
The output of `python collect_env.py`

vLLM API server version 0.4.0.post1
🐛 Describe the bug
When I started the api service, the startup process got stuck.
2024-04-12 13:45:17,174 INFO worker.py:1752 -- Started a local Ray instance.
python -m vllm.entrypoints.openai.api_server
--model ${MODEL_PATH}
--tensor-parallel-size ${tensor_parallel_size}
--port ${port}

I am facing a similar issue. I am using the docker image. It was working fine yday. Now its stuck at
INFO 04-12 10:48:17 selector.py:16] Using FlashAttention backend.
and then it doesnt proceed even after an hour.

Same issue there :(

Usually it is because of a distributed initialization problem.
@Extremys Can you try to build from source with main branch, and add some logging inside this function:
https://github.com/vllm-project/vllm/blob/7fd3949a0b1c6cd0dcd7066aca48d9d589f2f68e/vllm/distributed/parallel_state.py#L41
e.g. add one line print(f"{world_size=}, {rank=}, {distributed_init_method=}, {local_rank=}, {backend=}")

I've tried the latest commit https://github.com/vllm-project/vllm/commit/5c2e66e4871917c5d59cc4a8b89ef53e690e9bd9 but I get another error, gonna with a older to see if I have more chance.
2024-04-13 07:06:55,340 INFO worker.py:1752 -- Started a local Ray instance.
INFO 04-13 07:06:56 llm_engine.py:81] Initializing an LLM engine (v0.4.0.post1) with config: model='/data/Mixtral-8x7B-Instruct-v0.1', speculative_config=None, tokenizer='/data/Mixtral-8x7B-Instruct-v0.1', tokenizer_mode=auto, revision=None, tokenizer_revision=None, trust_remote_code=True, dtype=torch.bfloat16, max_seq_len=32768, download_dir=None, load_format=auto, tensor_parallel_size=4, disable_custom_all_reduce=False, quantization=None, enforce_eager=False, kv_cache_dtype=auto, quantization_param_path=None, device_config=cuda, seed=0)
INFO 04-13 07:07:03 pynccl.py:58] Loading nccl from library libnccl.so.2
2024-04-13 07:07:03 | ERROR | stderr | Traceback (most recent call last):
2024-04-13 07:07:03 | ERROR | stderr |   File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
2024-04-13 07:07:03 | ERROR | stderr |     return _run_code(code, main_globals, None,
2024-04-13 07:07:03 | ERROR | stderr |   File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
2024-04-13 07:07:03 | ERROR | stderr |     exec(code, run_globals)
2024-04-13 07:07:03 | ERROR | stderr |   File "/code/FastChat/fastchat/serve/vllm_worker.py", line 290, in <module>
2024-04-13 07:07:03 | ERROR | stderr |     engine = AsyncLLMEngine.from_engine_args(engine_args)
2024-04-13 07:07:03 | ERROR | stderr |   File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 347, in from_engine_args
2024-04-13 07:07:03 | ERROR | stderr |     engine = cls(
2024-04-13 07:07:03 | ERROR | stderr |   File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 311, in __init__
2024-04-13 07:07:03 | ERROR | stderr |     self.engine = self._init_engine(*args, **kwargs)
2024-04-13 07:07:03 | ERROR | stderr |   File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 421, in _init_engine
2024-04-13 07:07:03 | ERROR | stderr |     return engine_class(*args, **kwargs)
2024-04-13 07:07:03 | ERROR | stderr |   File "/usr/local/lib/python3.10/dist-packages/vllm/engine/llm_engine.py", line 119, in __init__
2024-04-13 07:07:03 | ERROR | stderr |     self.model_executor = executor_class(
2024-04-13 07:07:03 | ERROR | stderr |   File "/usr/local/lib/python3.10/dist-packages/vllm/executor/ray_gpu_executor.py", line 65, in __init__
2024-04-13 07:07:03 | ERROR | stderr |     self._init_workers_ray(placement_group)
2024-04-13 07:07:03 | ERROR | stderr |   File "/usr/local/lib/python3.10/dist-packages/vllm/executor/ray_gpu_executor.py", line 146, in _init_workers_ray
2024-04-13 07:07:03 | ERROR | stderr |     from vllm.worker.worker import Worker
2024-04-13 07:07:03 | ERROR | stderr |   File "/usr/local/lib/python3.10/dist-packages/vllm/worker/worker.py", line 21, in <module>
2024-04-13 07:07:03 | ERROR | stderr |     from vllm.worker.model_runner import ModelRunner
2024-04-13 07:07:03 | ERROR | stderr |   File "/usr/local/lib/python3.10/dist-packages/vllm/worker/model_runner.py", line 22, in <module>
2024-04-13 07:07:03 | ERROR | stderr |     from vllm.model_executor.model_loader import get_model
2024-04-13 07:07:03 | ERROR | stderr |   File "/usr/local/lib/python3.10/dist-packages/vllm/model_executor/model_loader.py", line 10, in <module>
2024-04-13 07:07:03 | ERROR | stderr |     from vllm.model_executor.models.llava import LlavaForConditionalGeneration
2024-04-13 07:07:03 | ERROR | stderr |   File "/usr/local/lib/python3.10/dist-packages/vllm/model_executor/models/llava.py", line 16, in <module>
2024-04-13 07:07:03 | ERROR | stderr |     from vllm.model_executor.models.llama import LlamaModel
2024-04-13 07:07:03 | ERROR | stderr |   File "/usr/local/lib/python3.10/dist-packages/vllm/model_executor/models/llama.py", line 46, in <module>
2024-04-13 07:07:03 | ERROR | stderr |     from vllm.model_executor.weight_utils import (default_weight_loader,
2024-04-13 07:07:03 | ERROR | stderr |   File "/usr/local/lib/python3.10/dist-packages/vllm/model_executor/weight_utils.py", line 22, in <module>
2024-04-13 07:07:03 | ERROR | stderr |     from vllm.model_executor.layers.quantization.schema import QuantParamSchema
2024-04-13 07:07:03 | ERROR | stderr |   File "/usr/local/lib/python3.10/dist-packages/vllm/model_executor/layers/quantization/schema.py", line 16, in <module>
2024-04-13 07:07:03 | ERROR | stderr |     from pydantic import BaseModel, ConfigDict, ValidationInfo, model_validator
2024-04-13 07:07:03 | ERROR | stderr | ImportError: cannot import name 'ValidationInfo' from 'pydantic' (/usr/local/lib/python3.10/dist-packages/pydantic/__init__.cpython-310-x86_64-linux-gnu.so)

Usually it is because of a distributed initialization problem.
@Extremys Can you try to build from source with main branch, and add some logging inside this function:
https://github.com/vllm-project/vllm/blob/7fd3949a0b1c6cd0dcd7066aca48d9d589f2f68e/vllm/distributed/parallel_state.py#L41
e.g. add one line print(f"{world_size=}, {rank=}, {distributed_init_method=}, {local_rank=}, {backend=}")

The command used to run it (using FastChat) :
CUDA_VISIBLE_DEVICES=3,4,5,6 python3 -m fastchat.serve.vllm_worker --model-name "Mixtral-8x7B-Instruct-v0.1" --model-path $MODEL_PATH --num-gpus 4

Ok so using fbb9d9eef48a29e0ea821bbf399e4bf9a08d6ac1 I get this:
INFO 04-13 10:17:22 pynccl.py:58] Loading nccl from library libnccl.so.2
2024-04-13 10:17:27,901 INFO worker.py:1752 -- Started a local Ray instance.
INFO 04-13 10:17:29 llm_engine.py:81] Initializing an LLM engine (v0.4.0.post1) with config: model='/data/Mixtral-8x7B-Instruct-v0.1', speculative_config=None, tokenizer='/data/Mixtral-8x7B-Instruct-v0.1', tokenizer_mode=auto, revision=None, tokenizer_revision=None, trust_remote_code=True, dtype=torch.bfloat16, max_seq_len=32768, download_dir=None, load_format=auto, tensor_parallel_size=4, disable_custom_all_reduce=False, quantization=None, enforce_eager=False, kv_cache_dtype=auto, quantization_param_path=None, device_config=cuda, seed=0)
2024-04-13 10:17:32 | INFO | stdout | (pid=10414) INFO 04-13 10:17:31 pynccl.py:58] Loading nccl from library libnccl.so.2
2024-04-13 10:17:38 | INFO | stdout | (pid=10921) INFO 04-13 10:17:38 pynccl.py:58] Loading nccl from library libnccl.so.2 [repeated 3x across cluster] (Ray deduplicates logs by default. Set RAY_DEDUP_LOGS=0 to disable log deduplication, or see https://docs.ray.io/en/master/ray-observability/ray-logging.html#log-deduplication for more options.)
INFO 04-13 10:17:40 selector.py:28] Using FlashAttention backend.
2024-04-13 10:17:41 | INFO | stdout | (RayWorkerVllm pid=10521) INFO 04-13 10:17:41 selector.py:28] Using FlashAttention backend.
2024-04-13 10:17:42 | INFO | stdout | world_size=4, rank=0, distributed_init_method='tcp://<IP_ADDRESS>:37191', local_rank=0, backend='nccl'
INFO 04-13 10:17:42 pynccl_utils.py:45] vLLM is using nccl==2.19.3
2024-04-13 10:17:42 | INFO | stdout | (RayWorkerVllm pid=10521) world_size=4, rank=1, distributed_init_method='tcp://<IP_ADDRESS>:37191', local_rank=1, backend='nccl'
2024-04-13 10:17:42 | INFO | stdout | (RayWorkerVllm pid=10521) INFO 04-13 10:17:42 pynccl_utils.py:45] vLLM is using nccl==2.19.3

and it's stuck after :)

2024-04-13 10:17:42 | INFO | stdout | world_size=4, rank=0, distributed_init_method='tcp://<IP_ADDRESS>:37191', local_rank=0, backend='nccl'
2024-04-13 10:17:42 | INFO | stdout | (RayWorkerVllm pid=10521) world_size=4, rank=1, distributed_init_method='tcp://<IP_ADDRESS>:37191', local_rank=1, backend='nccl'

The world size is 4, but only 2 processes reaches here, so there are some problems in the other 2 processes. That's why it hangs.

2024-04-13 10:17:42 | INFO | stdout | world_size=4, rank=0, distributed_init_method='tcp://<IP_ADDRESS>:37191', local_rank=0, backend='nccl'
2024-04-13 10:17:42 | INFO | stdout | (RayWorkerVllm pid=10521) world_size=4, rank=1, distributed_init_method='tcp://<IP_ADDRESS>:37191', local_rank=1, backend='nccl'

The world size is 4, but only 2 processes reaches here, so there are some problems in the other 2 processes. That's why it hangs.

Ok thank you for your answer, any advise on how to debug this ? I'm currently trying to run it into a pod (container) all traffic should be localhost actually. With vllm v0.2.7 it's working perfectly btw (but the inference is garbage with Mixtral unfortunately so that's why I try to upgrade vllm).

Unfortunately this is very difficult to debug.
One way is to print the trace: insert import traceback; traceback.print_tb() inside init_distributed_environment, and you will see the call stack of process 0 and process 1. Hopefully the other two processes are stuck somewhere above several frames. And you can try to find out where they are. That should be the reason of hang.
If you can find it out, it will also give us hint on how to fix it.

Thanks @youkaichao I'm gonna try to provide the info.
I reduced the number of GPUs from 4 -> 2 and let the pod try to start and surprise it did start actually after 5 hours, very curious!
See the logs :
INFO 04-13 14:32:09 pynccl.py:58] Loading nccl from library libnccl.so.2
2024-04-13 14:32:12,921 INFO worker.py:1752 -- Started a local Ray instance.
INFO 04-13 14:32:14 llm_engine.py:81] Initializing an LLM engine (v0.4.0.post1) with config: model='/data/Mixtral-8x7B-Instruct-v0.1', speculative_config=None, tokenizer='/data/Mixtral-8x7B-Instruct-v0.1', tokenizer_mode=auto, revision=None, tokenizer_revision=None, trust_remote_code=True, dtype=torch.bfloat16, max_seq_len=32768, download_dir=None, load_format=auto, tensor_parallel_size=2, disable_custom_all_reduce=False, quantization=None, enforce_eager=True, kv_cache_dtype=auto, quantization_param_path=None, device_config=cuda, seed=0)
2024-04-13 14:32:16 | INFO | stdout | (pid=10412) INFO 04-13 14:32:16 pynccl.py:58] Loading nccl from library libnccl.so.2
INFO 04-13 14:32:20 selector.py:28] Using FlashAttention backend.
2024-04-13 14:32:20 | INFO | stdout | (RayWorkerVllm pid=10518) INFO 04-13 14:32:20 selector.py:28] Using FlashAttention backend.
2024-04-13 14:32:20 | INFO | stdout | world_size=2, rank=0, distributed_init_method='tcp://<IP_ADDRESS>:54849', local_rank=0, backend='nccl'
INFO 04-13 14:32:20 pynccl_utils.py:45] vLLM is using nccl==2.19.3
2024-04-13 14:32:20 | INFO | stdout | (RayWorkerVllm pid=10518) world_size=2, rank=1, distributed_init_method='tcp://<IP_ADDRESS>:54849', local_rank=1, backend='nccl'
2024-04-13 14:32:20 | INFO | stdout | (RayWorkerVllm pid=10518) INFO 04-13 14:32:20 pynccl_utils.py:45] vLLM is using nccl==2.19.3
INFO 04-13 21:19:52 model_runner.py:164] Loading model weights took 43.5064 GB
2024-04-13 21:19:52 | INFO | stdout | (RayWorkerVllm pid=10518) INFO 04-13 21:19:52 model_runner.py:164] Loading model weights took 43.5064 GB
2024-04-13 21:19:52 | INFO | stdout | (pid=10518) INFO 04-13 14:32:18 pynccl.py:58] Loading nccl from library libnccl.so.2
INFO 04-13 21:19:53 fused_moe.py:272] Using configuration from /usr/local/lib/python3.10/dist-packages/vllm/model_executor/layers/fused_moe/configs/E=8,N=7168,device_name=NVIDIA_H100_80GB_HBM3.json for MoE layer.
2024-04-13 21:19:53 | INFO | stdout | (RayWorkerVllm pid=10518) INFO 04-13 21:19:53 fused_moe.py:272] Using configuration from /usr/local/lib/python3.10/dist-packages/vllm/model_executor/layers/fused_moe/configs/E=8,N=7168,device_name=NVIDIA_H100_80GB_HBM3.json for MoE layer.
INFO 04-13 21:19:56 ray_gpu_executor.py:229] # GPU blocks: 20379, # CPU blocks: 4096
2024-04-13 21:19:57 | INFO | model_worker | Loading the model ['Mixtral-8x7B-Instruct-v0.1'] on worker ca34cd2a, worker type: vLLM worker...
2024-04-13 21:19:57 | INFO | model_worker | Register to controller
2024-04-13 21:19:57 | ERROR | stderr | INFO:     Started server process [10]
2024-04-13 21:19:57 | ERROR | stderr | INFO:     Waiting for application startup.
2024-04-13 21:19:57 | ERROR | stderr | INFO:     Application startup complete.
2024-04-13 21:19:57 | ERROR | stderr | INFO:     Uvicorn running on http://<IP_ADDRESS>:21002 (Press CTRL+C to quit)
2024-04-13 21:20:42 | INFO | model_worker | Send heart beat. Models: ['Mixtral-8x7B-Instruct-v0.1']. Semaphore: None. call_ct: 0. worker_id: ca34cd2a.
2024-04-13 21:21:27 | INFO | model_worker | Send heart beat. Models: ['Mixtral-8x7B-Instruct-v0.1']. Semaphore: None. call_ct: 0. worker_id: ca34cd2a.
2024-04-13 21:22:12 | INFO | model_worker | Send heart beat. Models: ['Mixtral-8x7B-Instruct-v0.1']. Semaphore: None. call_ct: 0. worker_id: ca34cd2a.
2024-04-13 21:22:57 | INFO | model_worker | Send heart beat. Models: ['Mixtral-8x7B-Instruct-v0.1']. Semaphore: None. call_ct: 0. worker_id: ca34cd2a.
2024-04-13 21:23:42 | INFO | model_worker | Send heart beat. Models: ['Mixtral-8x7B-Instruct-v0.1']. Semaphore: None. call_ct: 0. worker_id: ca34cd2a.
2

it did start actually after 5 hours

so strange
Did you try to build from source with the latest main branch?

it did start actually after 5 hours

so strange
Did you try to build from source with the latest main branch?

So the 5 hours waiting it was with the commit https://github.com/vllm-project/vllm/commit/fbb9d9eef48a29e0ea821bbf399e4bf9a08d6ac1 as yesterday. I'm gonna try with the last commit let you know the result.

it did start actually after 5 hours

so strange
Did you try to build from source with the latest main branch?

Ok I found out the issue actually it comes from the low read performance level of the mount point a s3 bucket. Going onto an ebs (ssd) volume solved the issue. :)
Unfortunately Mixtral is still going crazy after ~2000 tokens but at least this first issue is fixed.

As the stuck issue is solved, this issue is closed.

There is no problem when starting one instance. Only when two instances are started at the same time will encounter this problem occasionally. This problem can be solved by packaging the image

There is no problem when starting one instance. Only when two instances are started at the same time will encounter this problem occasionally. This problem can be solved by packaging the image

What do you mean by "packaging the image"? We have the exact same issue but can't solve it until now.


Vanguard clan family list on Royale API site update

Idea/request:

Hey, Quentin here speaking and I am speaking on behalf of Vanguard regarding some old data on the family clans page of Vanguard on the Royale API site.

Request Details:

Since our data on clans has not been updated since forever.
I would like to update it now. Here by you can take he following clans off the site: Vanguard NL (#99LRCLR0), Vanguard Rogue (#9QG8QUC8), Vanguard Team (#8YQ8UCGV), Vanguard™ Agoge (#9QU8QVYQ) and Vanguard Light (#920YJ20P).
Also add the following clan "Vanguard PUB (#9UCJUCP0)" to the clanslist. Thank you in advance already!

name: Vanguard Family
key: vanguard
color: violet
emblem: flag_n_04
sort: trophy
info:
logo: /static/img/brands/logo/vanguard.png
description:  >
Vanguard™ is a grass roots organization. We are striving to compete with the best on a daily basis, with heavy emphasis in esports we provide a environment for players to learn, laugh and compete at all levels for the casual players and the pros. Please join us at discord.io/vanguardteam to apply for a clan or tryout for a team.
social:
- discord: http://discord.gg/vanguardteam
- website: https://vanguardesports.org/
- twitter: https://twitter.com/VanguardTeamCR
- twitch: https://twitch.tv/ohryantv
- youtube: https://www.youtube.com/GamingwithNeph
clans:

name: Vanguard™ Alpha
tag: 9RQ2UPRG
name: Vanguard™ Chaos
tag: 9UP8RPGG
name: Vanguard Matrix
tag: 9UVCLLUG
name: Vanguard™ Void
tag: 9VQL8YCU
name: Vanguard™ Dawn
tag: 9JYPP0UC
name: Vanguard™ Dark
tag: 982V2GRL
name: Vanguard Plasma
tag: 9UCG0RU9
name: Vanguard™ Dusk
tag: 9JLP9C20
name: Vanguard Voodoo
tag: PY98LY0J
name: Vanguard PUB
tag: 9UCJUCP0

Hey,
Thanks for helping me first time here. Did I do it right this time or?


[Feature Request] New Graph for Azure TTS STT and Qwen

This is a request from the community, let me try it out in Graph Designer.


  Not sure why this is the case, but the output should at least be an option or rate-limited, this is killing the system journal logging in this case, as it's launched from systemd.

Yep... this message was recently added and should be fixed.
For the unknown messages, it's probably related to using common.xml to generate the headers. You are using ardupilot, right?  We need to have an option to use another xml.

Yes exactly, using ardupilot (copter 3.5-dev/master).

@fnoop the excessive logging is being fixed by #27. We will add another patch to allow to use the ardupilot xml instead of common.xml.

Fixed, thanks very much :)))


Issue-3: Ability recognize music from url with audio file

Resolving: Issue-https://github.com/donebd/TgMusicRecognitionBot/issues/3
Preview:

Awesome!


[1Password] Expose secret references

Extension
https://www.raycast.com/khasbilegt/1password
Description
I haven't dived too deep into this extensions code yet, but I understand you're using the 1Password CLI to get items. I would like to be able to quickly access a secret reference from this extension so I don't have to remember the command each time I need to copy this value.
I am willing to help contribute this to your extension if you'd be open to that
Who will benefit from this feature?
Software Teams using secret references to safely share environment variables within their codebase
Anything else?
No response

Hello @eluce2, just to make sure if I understood your idea, you would like to view (and maybe copy to clipboard) the secret references of item fields in the extension, is that right?
I use the op run command often to replace env variables by its secret reference. I was planning to add detail view for each items and where we could present the references. What do you think?

Yes, this is exactly what I'm looking for. If by a "detail view" you actually mean a list view in the Raycast API that would be perfect. The advantage to this is that you more easily go down each item in the 1Password entry to perform an action on the individual field. I would see this as a great way to get at what I'm looking for

I am not sure what would be the ideal implement but currently all the items are "listed" and there should be another way to present the each fields of an item. It might be easier to create additional action item for each field's secret reference.

In my opinion, actions should be as static as possible so they can be assigned reliable keyboard shortcuts. This is another reason I would strongly suggest you use the list implementation. This way, the list of fields can be filtered to find the one you need and then you can press the keyboard shortcut for the action you want, whether that's to copy the secret, field name, UUID, or reference, etc.


[release-1.23] Add release notes for dual-stack support promotion

This is an automated cherry-pick of #52524

@leosarra could you please confirm if all the fixes we did made it to 1.23? I am a bit curious, coz the feature status page still says dualstack is experimental, even though we made the required changes to enhancements repo.

The fixes for DS are not part of 1.23.
Promotion to
Alpha should take place with 1.24

Thanks @leosarra


[QUESTION] virtio VIRTIO_F_EVENT_IDX

Does rpmsg-lite support VIRTIO_F_EVENT_IDX ? In my use case the remote side will set a value to reduce notify interrupt genereted by host.
If it does, where can I find an example to use it?

Hello @kmkorym , I am afraid the VIRTIO_F_EVENT_IDX interrupt is not supported in rpmsg_lite (as a result of light-weighting the rpmsg implementation).


Prevent tokens with whitespace causing authentication failures

Improve testing and correct whitespace issues:

Add unit tests for action store_oauth_token.
Strip whitespace from token when storing (Fixes: #14).
Bump version to v0.8.2

Thanks for that @jjm, good work (especially since you've got tests!)


App not fully responsive

Still some problems with responsiveness, most of the time concerning the bottom of the screen.
Buttons "Suivants","Précedent' unreachable or invisible.
Sometimes there might be a gap between the bottom of these buttons and the bottom of the screen.
Seem to happen most of the time on mobile devices when the PWA isnt installed (e.g. with the address bar visible, and/or with tabs opened)
Some examples

On this last screenshot the version of the app is invisible

correction in the next version 3.5.1