Fix the polkit unit's ignored rate limit

systemd logged "Unknown key 'StartLimitIntervalSec'" on every start:
rate limiting belongs in [Unit], not [Service], so both keys were
ignored and the restart limit they were meant to impose did not exist.
An agent that failed repeatedly would have flapped rather than stopping.

Found while investigating reported prompt failures, which turned out not
to be a defect: the trace showed both authentications succeeding on the
first attempt. The failures came from testing -- prompts raised by
background pkexec runs and then cancelled seconds later, while someone
was trying to type into them.

Claude-Session: https://claude.ai/code/session_01BRvzt4H8XXLPVH5MyYdk9L
This commit is contained in:
Gabriel Brown
2026-08-19 19:54:16 -04:00
parent fd99569666
commit 536958430f
2 changed files with 8 additions and 5 deletions
@@ -1,5 +1,10 @@
[Unit]
Description=Panama polkit authentication agent
# Rate limiting lives in [Unit]. These were in [Service], where systemd ignored
# them with a warning on every start -- so the restart limit they were meant to
# impose was not actually in force.
StartLimitBurst=5
StartLimitIntervalSec=60
Documentation=https://github.com/gibbyb/Panama
# Only one agent may be registered per session, so this must not run alongside
# the one it replaces.
@@ -14,10 +19,5 @@ ExecStart=%h/.config/quickshell/scripts/panama-polkit-agent
# would be registered with nowhere to prompt. Restarting reconnects it.
Restart=on-failure
RestartSec=2
# If this fails repeatedly, stop rather than flap: a session with no agent is
# recoverable from a terminal, a session with a broken one is confusing.
StartLimitBurst=5
StartLimitIntervalSec=60
[Install]
WantedBy=graphical-session.target