<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mate-session-manager/mate-session, branch fix-restart-cpu-spin</title>
<subtitle>MATE session manager</subtitle>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/mate-session-manager/'/>
<entry>
<title>app: Add respawn rate limiting to prevent CPU spinning</title>
<updated>2026-06-01T13:11:06+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2026-06-01T12:52:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/mate-session-manager/commit/?id=e0ec016444001971af75d236ce4c3ae2d87824d3'/>
<id>e0ec016444001971af75d236ce4c3ae2d87824d3</id>
<content type='text'>
When a non-client app with AutoRestart enabled exits immediately after
starting, the restart logic would loop without delay, causing high CPU
usage. This adds a 60-second rate limit to gsm_app_restart. If an app
respawns twice within this window, the second restart is rejected.

The code is adapted from:
- https://gitlab.gnome.org/GNOME/gnome-session/-/commit/4df48234
- https://gitlab.gnome.org/GNOME/gnome-session/-/commit/b9aa675e

Fixes #336
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When a non-client app with AutoRestart enabled exits immediately after
starting, the restart logic would loop without delay, causing high CPU
usage. This adds a 60-second rate limit to gsm_app_restart. If an app
respawns twice within this window, the second restart is rejected.

The code is adapted from:
- https://gitlab.gnome.org/GNOME/gnome-session/-/commit/4df48234
- https://gitlab.gnome.org/GNOME/gnome-session/-/commit/b9aa675e

Fixes #336
</pre>
</div>
</content>
</entry>
<entry>
<title>util: Blacklist some session-specific variables</title>
<updated>2026-05-29T12:26:26+00:00</updated>
<author>
<name>Mike Gabriel</name>
<email>mike.gabriel@das-netzwerkteam.de</email>
</author>
<published>2021-05-16T22:05:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/mate-session-manager/commit/?id=6c53bde758e6d8944438c2469b8a58209db6d0b2'/>
<id>6c53bde758e6d8944438c2469b8a58209db6d0b2</id>
<content type='text'>
Things like XDG_SESSION_ID should not be uploaded to the environment.
For example this is broken currently:

  1. SSH to your machine
  2. Log in to MATE Shell
  3. Log out
  4. Log in again
  5. Lock the screen
  6. Try to unlock

You can't, and this is because the XDG_SESSION_ID from the first session
(step 2) has leaked through to the second one (step 4), and so MATE
Shell is listening to the `logind` `UnlockSession` signal for the wrong
session. The SSH session established in step 1 serves to keep the
`systemd --user` instance alive, so that the state is not torn down
between logins.

Also, The NOTIFY_SOCKET environment variable was leaking into systemd
managed MATE sessions and breaking things like OCI container runtimes
(eg., runc and crun). This variable is absent in non-systemd
managed sessions.

Backported from:
- https://gitlab.gnome.org/GNOME/gnome-session/-/commit/646b9bc0
- https://gitlab.gnome.org/GNOME/gnome-session/-/commit/9d8b0709

Fixes #271
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Things like XDG_SESSION_ID should not be uploaded to the environment.
For example this is broken currently:

  1. SSH to your machine
  2. Log in to MATE Shell
  3. Log out
  4. Log in again
  5. Lock the screen
  6. Try to unlock

You can't, and this is because the XDG_SESSION_ID from the first session
(step 2) has leaked through to the second one (step 4), and so MATE
Shell is listening to the `logind` `UnlockSession` signal for the wrong
session. The SSH session established in step 1 serves to keep the
`systemd --user` instance alive, so that the state is not torn down
between logins.

Also, The NOTIFY_SOCKET environment variable was leaking into systemd
managed MATE sessions and breaking things like OCI container runtimes
(eg., runc and crun). This variable is absent in non-systemd
managed sessions.

Backported from:
- https://gitlab.gnome.org/GNOME/gnome-session/-/commit/646b9bc0
- https://gitlab.gnome.org/GNOME/gnome-session/-/commit/9d8b0709

Fixes #271
</pre>
</div>
</content>
</entry>
<entry>
<title>session: restart non-client apps that set AutoRestart</title>
<updated>2026-05-27T20:00:11+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2026-03-31T20:04:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/mate-session-manager/commit/?id=8e1cfe174592f1abe329956f7946f4dd29bd6652'/>
<id>8e1cfe174592f1abe329956f7946f4dd29bd6652</id>
<content type='text'>
Apps like Orca set X-GNOME-AutoRestart=true in their .desktop files
expecting to be restarted after a crash. However, the restart logic only
handled apps that registered as XSMP or D-Bus clients. Non-client apps
emitted "died"/"exited" signals but nothing subscribed to them. This bug
was inherited from gnome-session.

Connect the "died" and "exited" signals on autostart apps to trigger
restart for non-client apps with AutoRestart enabled. Also fall back to
X-GNOME-AutoRestart when X-MATE-AutoRestart is not present, for
compatibility with apps that only set the GNOME key.

Fixes #321
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Apps like Orca set X-GNOME-AutoRestart=true in their .desktop files
expecting to be restarted after a crash. However, the restart logic only
handled apps that registered as XSMP or D-Bus clients. Non-client apps
emitted "died"/"exited" signals but nothing subscribed to them. This bug
was inherited from gnome-session.

Connect the "died" and "exited" signals on autostart apps to trigger
restart for non-client apps with AutoRestart enabled. Also fall back to
X-GNOME-AutoRestart when X-MATE-AutoRestart is not present, for
compatibility with apps that only set the GNOME key.

Fixes #321
</pre>
</div>
</content>
</entry>
<entry>
<title>session: Move logout sound to end-session phase</title>
<updated>2026-05-27T19:58:24+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2026-03-19T09:48:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/mate-session-manager/commit/?id=d0754a2f00f4263b56fedb0ac374916e7ac61eb6'/>
<id>d0754a2f00f4263b56fedb0ac374916e7ac61eb6</id>
<content type='text'>
The desktop-logout sound event was being played during the
query-end-session phase, which means it would play even if an
application inhibited the logout and the user cancelled. Move it to the
end-session phase where logout is already confirmed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The desktop-logout sound event was being played during the
query-end-session phase, which means it would play even if an
application inhibited the logout and the user cancelled. Move it to the
end-session phase where logout is already confirmed.
</pre>
</div>
</content>
</entry>
<entry>
<title>session: Add sound events for login and logout</title>
<updated>2026-03-18T15:17:03+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2026-02-04T19:49:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/mate-session-manager/commit/?id=a5a8b10fa45759eef0aed5f61777c9f4f84acae2'/>
<id>a5a8b10fa45759eef0aed5f61777c9f4f84acae2</id>
<content type='text'>
Adds optional libcanberra support to play desktop-login and
desktop-logout sound events during session start and end. Sound playback
is controlled through the system sound theme configuration.

Fixes #328
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds optional libcanberra support to play desktop-login and
desktop-logout sound events during session start and end. Sound playback
is controlled through the system sound theme configuration.

Fixes #328
</pre>
</div>
</content>
</entry>
<entry>
<title>gsm-app: migrate to gdbus</title>
<updated>2026-03-13T23:40:53+00:00</updated>
<author>
<name>Xiaotian Wu</name>
<email>yetist@gmail.com</email>
</author>
<published>2025-04-10T12:37:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/mate-session-manager/commit/?id=8dbae50781e3eca0436e62681fd88763aa10015e'/>
<id>8dbae50781e3eca0436e62681fd88763aa10015e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>manager: Loosen environment variable restrictions</title>
<updated>2025-10-15T14:50:37+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2025-10-09T13:41:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/mate-session-manager/commit/?id=6df44358e1e1688a32c63d840ea50e21491ffc0a'/>
<id>6df44358e1e1688a32c63d840ea50e21491ffc0a</id>
<content type='text'>
This loosens mate-session's env var value restrictions to match
systemd's modern restrictions.

Backported from https://gitlab.gnome.org/GNOME/gnome-session/-/commit/cbc5e5de421359ee5642e44fa9ab670d705d23ea
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This loosens mate-session's env var value restrictions to match
systemd's modern restrictions.

Backported from https://gitlab.gnome.org/GNOME/gnome-session/-/commit/cbc5e5de421359ee5642e44fa9ab670d705d23ea
</pre>
</div>
</content>
</entry>
<entry>
<title>util: Disable capturing of subpatterns</title>
<updated>2025-10-15T14:50:37+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2025-10-09T13:38:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/mate-session-manager/commit/?id=7258f4630cd15e74278e7dd5cbd6c9170c748ddb'/>
<id>7258f4630cd15e74278e7dd5cbd6c9170c748ddb</id>
<content type='text'>
It seems that the pattern we use will create a subpattern match for
every character of the value. This appears to then result in a stack
overflow when matching very long values.

It might be an idea to limit the overall length of an environment
variable that is uploaded. But, this should fix the issue of crashes.

Backported from https://gitlab.gnome.org/GNOME/gnome-session/-/commit/3b57d117f78ad06e56974b9512a394fd9ef13a07
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It seems that the pattern we use will create a subpattern match for
every character of the value. This appears to then result in a stack
overflow when matching very long values.

It might be an idea to limit the overall length of an environment
variable that is uploaded. But, this should fix the issue of crashes.

Backported from https://gitlab.gnome.org/GNOME/gnome-session/-/commit/3b57d117f78ad06e56974b9512a394fd9ef13a07
</pre>
</div>
</content>
</entry>
<entry>
<title>util: Only accept common space characters</title>
<updated>2025-10-15T14:50:37+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2025-10-09T13:36:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/mate-session-manager/commit/?id=cc532ddc666d6ba83f2e4d6b38c41ba1b95acb5d'/>
<id>cc532ddc666d6ba83f2e4d6b38c41ba1b95acb5d</id>
<content type='text'>
Specifically, systemd only permits " \t\n" and we should stick to the
same set of permitted space characters.

See also
  https://github.com/systemd/systemd/issues/17378

Backported from https://gitlab.gnome.org/GNOME/gnome-session/-/commit/fe22c4ee12922d790478bfe8b5b2e7c1313ca2f0
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Specifically, systemd only permits " \t\n" and we should stick to the
same set of permitted space characters.

See also
  https://github.com/systemd/systemd/issues/17378

Backported from https://gitlab.gnome.org/GNOME/gnome-session/-/commit/fe22c4ee12922d790478bfe8b5b2e7c1313ca2f0
</pre>
</div>
</content>
</entry>
<entry>
<title>Use g_info() for "screensaver left the bus" message</title>
<updated>2025-04-07T19:09:59+00:00</updated>
<author>
<name>Andrew Sayers</name>
<email>andrew-github.com@pileofstuff.org</email>
</author>
<published>2025-03-18T11:52:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/mate-session-manager/commit/?id=54248174640de5c6079f7f85d3a44ea3923d3445'/>
<id>54248174640de5c6079f7f85d3a44ea3923d3445</id>
<content type='text'>
This message is only useful for people developing screensavers,
but occurs normally when the user logs out.

Change it to a g_info() message, so screensaver devs can find it
but normal users don't think they have a bug.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This message is only useful for people developing screensavers,
but occurs normally when the user logs out.

Change it to a g_info() message, so screensaver devs can find it
but normal users don't think they have a bug.</pre>
</div>
</content>
</entry>
</feed>
