Two owners of the screen tint, and the one that woke up late
A night tint that vanished after waking from sleep, cleared by a stock profile that ran its 07:00 change whenever the clock caught up.
The laptop woke at 22:59:06. The theme scheduler set the night tint to
3600K, and 12 seconds later the tint daemon logged Switched to new profile from: 7:0 and cleared it.
The desktop’s stock config for that daemon ships one profile: at 07:00, no tint. That made it a second owner of the setting. It fired every morning, twenty minutes before the scheduler’s tint window ended at 07:20, and it fired late, on wake, after any suspend that had run past 07:00. The journal agreed. A suspend from 19:26 to 20:50 crossed no 07:00 and kept the tint. A suspend from the evening of the 2nd to the evening of the 7th crossed five of them and lost it.
The fix is to have one owner. The daemon now starts with a config that has
no profiles, so it changes only when the scheduler asks. Version 0.4 has no
flag for a config path. --config exists in the binary, but passing it
prints the help and exits 1. So a systemd drop-in sets XDG_CONFIG_HOME to
a folder in the repo for that one service. The log now says Loaded 0 profiles. It has not yet been through a real suspend past 07:00.
The next day had the same shape. Picking 1.25x scale in the display widget
did nothing, because an overlay that loaded last set scale = 1 again on
every reload.
Two things setting one value is a bug that waits for the clock.