I am unsure if this is a KRDP issue or an xdg-desktop-portal-kde issue. Reporting here to start with. Setup is: - Server: Linux Laptop with 4K screen @ 225% scale running git master everything and a KRDP server - Client: Windows 10 PC with a 1080p screen running the Remote Desktop Connection app STEPS TO REPRODUCE 1. Restart the desktop portal for good measure with `killall xdg-desktop-portal ; /usr/libexec/xdg-desktop-portal & systemctl restart --user plasma-xdg-desktop-portal-kde.service 1. Turn on RDP server via the Remote Desktop KCM 2. Open Remote Desktop Connection on the other machine 3. Enter the IP address of the server and click "Connect" 4. Click the "Share" button to allow the connection 5. Enter credentials in the client and click OK/connect 6. Terminate the connection by quitting the client app or right-clicking on the portal tray item and choosing "End" OBSERVED RESULT The server's tray icon disappears (though IMO it shouldn't have been active at all; see Bug 488365), but the tray icons that came from the portal (yes, there's more than one, see Bug 488364) fail disappear. EXPECTED RESULT Portal tray icons disappear
A possibly relevant merge request was started @ https://invent.kde.org/plasma/krdp/-/merge_requests/36
Git commit 090d741331b84462530b9d307d31a482cfd68973 by Arjen Hiemstra. Committed on 12/06/2024 at 11:12. Pushed by ahiemstra into branch 'master'. server: Properly cleanup SessionWrapper objects Since we're storing the connection as a QPointer comparing the destroyed connection to the stored connection doesn't work since the QPointer is already cleared at the point the connection has been destroyed. We don't really want to track the connection anyway, we want to track the wrapper. So make the wrapper emit a signal on connection loss that we use to cleanup the wrapper. Related: bug 488364 M +15 -14 server/SessionController.cpp M +0 -1 server/SessionController.h https://invent.kde.org/plasma/krdp/-/commit/090d741331b84462530b9d307d31a482cfd68973
Git commit 058e2bde9167103adbeb95303fd01cfa240e107e by Arjen Hiemstra. Committed on 13/06/2024 at 09:44. Pushed by ahiemstra into branch 'Plasma/6.1'. server: Properly cleanup SessionWrapper objects Since we're storing the connection as a QPointer comparing the destroyed connection to the stored connection doesn't work since the QPointer is already cleared at the point the connection has been destroyed. We don't really want to track the connection anyway, we want to track the wrapper. So make the wrapper emit a signal on connection loss that we use to cleanup the wrapper. Related: bug 488364 (cherry picked from commit 090d741331b84462530b9d307d31a482cfd68973) M +15 -14 server/SessionController.cpp M +0 -1 server/SessionController.h https://invent.kde.org/plasma/krdp/-/commit/058e2bde9167103adbeb95303fd01cfa240e107e