linuxmint / linuxmint/cinnamon-session
X-GNOME-AutoRestart doesn't work for non-client apps
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 31
- Forks
- 41
- PR merge metrics
- No merged PRs in 30d
Description
Hi! I'm the new maintainer of gnome-session upstream, and I found a bug that cinnamon-session seems to have inherited since it forked. So I'm forwarding the bug report here
Some apps like the Orca screen reader set X-GNOME-AutoRestart with the expectation that they'll get restarted in the event of a crash or unclean exit. However, the gnome-session codebase you're forked from has a broken implementation of this for plain apps (i.e. apps that aren't "clients" and don't talk to the session manager via dbus or via XSMP). Orca is an app but not a client, and so X-GNOME-AutoRestart simply doesn't work.
The version of gnome-session you've forked from doesn't autorestart apps that set X-GNOME-AutoRestart=true. Which is, to say the least, incorrect. Upstream gnome-session has since gained a check to only skip autorestart on apps that set that setting and are also clients, because clients get autorestarted when they disconnect from the session manager. In other words, cinnamon-session is failing to handle the case where a non-client app requests autorestart to be enabled.
I don't have an installation of Cinnamon to test with, but you can pretty trivially confirm that the bug exists by running pkill -KILL orca or pkill -ABRT orca and observing that the screen reader doesn't get restarted.
See https://gitlab.gnome.org/GNOME/orca/-/issues/622 and https://gitlab.gnome.org/GNOME/orca/-/merge_requests/255 for some more details.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the issue with pkill -KILL orca or pkill -ABRT orca, then trace how cinnamon-session handles X-GNOME-AutoRestart for plain applications versus session-manager clients. Compare the behavior with the upstream gnome-session change and the linked Orca reports. Done means a non-client application requesting autorestart is restarted after an unclean exit without breaking client handling.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100