Watch
1
0
Fork
You've already forked SouveraineOS
0

task-19: settings must persist, not just reach the daemon

This commit is contained in:
Fimeg 2026-07-26 09:02:54 -04:00
commit c0a33c6f75

View file

@ -42,8 +42,19 @@ at session start", which is a placeholder rather than a task.
**A. Settings paper cuts.** The small items only — unavailable/error states,
battery/power profile stub, and whatever else Casey names. Not new pages.
The idle page's seconds-spinners were one of these and are done (2026-07-25:
presets, and the lock-screen timers now read live from sessiond).
The idle page's seconds-spinners were one of these and are done (2026-07-26:
presets, and the lock-screen timers now read live from sessiond). That work
turned up the sharper version of the same rule: reading the owning daemon is
only half of "no success-shaped switches". `SetPolicy` mutated memory and
persisted nothing, so a timer set in Settings was live until the next restart
and then silently back to the built-in 15 s. The page was honest; the daemon
forgot. Fixed 2026-07-26 — the policy is written to
`$XDG_CONFIG_HOME/souveraine/device-state-policy.json` and a failed save comes
back as `ok:false` instead of a control that looks like it took.
**Worth sweeping for elsewhere:** every other control this page owns should be
checked against the same two questions — does it read the authority, and does
the authority remember?
**B. Fullscreen apps in general.** Qt `Window.FullScreen` and the pill's
compositor-owned fullscreen path diverge; apps should start windowed and be