Summary: | Applications don't prompt to save unsaved work when logging out on Wayland, causing data loss | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | John Brooks <john> |
Component: | Session Management | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | critical | CC: | alex765, auxsvr, butirsky, christian.rohmann, dev+kde, fedin-ilja2010, feus73, freisim93, hoperidesalone, hubert.ziebicki, jjaruszewski, jlp, kde-bugzilla.oink169, KDE, kresten, L.Bonnaud, luna, matija, miranda, nate, nerumo, plasma-bugs, postix, sefenis, tbondvagyok, whyhow+tech, wise.gear8046 |
Priority: | NOR | Keywords: | usability, wayland |
Version: | 5.26.2 | ||
Target Milestone: | 1.0 | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
See Also: |
https://bugs.kde.org/show_bug.cgi?id=441364 https://bugs.kde.org/show_bug.cgi?id=477579 |
||
Latest Commit: | https://invent.kde.org/plasma/plasma-workspace/-/commit/23cca93b879d0fcf9f430b03a482dbca1e0a1d79 | Version Fixed In: | 6.0 |
Sentry Crash Report: |
Description
John Brooks
2022-10-29 22:30:38 UTC
Can reproduce. Marking as Critical as this can cause unexpected data loss, and adding it to https://community.kde.org/Plasma/Wayland_Showstoppers. Thank you, Nate. Does anyone have an idea for a path forward for this? I believe this is what is responsible for shutdown handling functionality in Xorg: https://www.x.org/releases/current/doc/libSM/SMlib.html Something similar needs to be standardized for Xorg-less environments. Implementing missing parts of the Inhibit portal in xdg-desktop-portal-kde may be of good help to this. It currently supports inhibiting, but not monitoring state of the session. https://flatpak.github.io/xdg-desktop-portal/#gdbus-org.freedesktop.impl.portal.Inhibit https://invent.kde.org/plasma/xdg-desktop-portal-kde/-/blob/master/src/inhibit.cpp And maybe getting a client implementation of the Inhibit portal in Qt https://flatpak.github.io/xdg-desktop-portal/#gdbus-org.freedesktop.portal.Inhibit *** Bug 467142 has been marked as a duplicate of this bug. *** *** Bug 472573 has been marked as a duplicate of this bug. *** Git commit 4cdf27e74c392f4e416dc87cc4a5385ccac4566c by David Redondo. Committed on 20/11/2023 at 15:56. Pushed by davidre into branch 'master'. Expose a method to allow closing windows on shutdown. This allows Plasma to gracefully close windows on shutdown by sending xdg_toplevel.close. If after 10 seconds windows are still open because they prompt for unsaved changes or similar cases, a notification is shown to either prompt or logout regardless. M +3 -0 src/org.kde.KWin.Session.xml M +83 -1 src/sm.cpp M +8 -1 src/sm.h https://invent.kde.org/plasma/kwin/-/commit/4cdf27e74c392f4e416dc87cc4a5385ccac4566c Git commit 23cca93b879d0fcf9f430b03a482dbca1e0a1d79 by David Redondo. Committed on 20/11/2023 at 16:10. Pushed by davidre into branch 'master'. shutdown: Introduce support for KWin closing wayland windows After ksmserver is done, KWin will now close (or not) open wayland windows. Since this operation can also cancel the logout, ksmserver gains a new hook to reset its state. This also means that it cannot quit itself anymore but needs to be managed by plasma-shutdown. Using this opportunity the path for shutdown can be aligned between X11 and Wayland. In the systemd-managed case we stop graphical-session.target, otherwise plasma-shutdown quits KWin and ksmserver. FIXED-IN: 6.0 M +5 -1 ksmserver/logout.cpp M +3 -0 ksmserver/org.kde.KSMServerInterface.xml M +3 -0 ksmserver/org.kde.KWin.Session.xml M +1 -0 ksmserver/server.h M +31 -0 startkde/plasma-shutdown/shutdown.cpp M +1 -0 startkde/plasma-shutdown/shutdown.h https://invent.kde.org/plasma/plasma-workspace/-/commit/23cca93b879d0fcf9f430b03a482dbca1e0a1d79 Now plasma closes native Wayland apps, but still does not close Xwayland apps. Created separate bug report for that: https://bugs.kde.org/show_bug.cgi?id=477579 |