alunduil / alunduil/blog.alunduil.com
Three layers of dark mode: system says, app remembers, account syncs
- Vorherrschende Sprache
- Astro
- Sterne
- 1
- Forks
- 1
- Ø Merge
- 6 Std. 34 Min.
- Gemergte PRs (30 T.)
- 118
Beschreibung
## Spark
The same complaint filed at three altitudes in one week: an upstream issue
asking zellij's web client to honour `prefers-color-scheme`, a closed
genshin issue for system-default-with-user-override, and an open one for the
theme preference to follow the signed-in user across devices.
## Why it could be interesting
"Dark mode" is treated as one feature and it is at least three, layered, each
overriding the one below: the system states a preference, the app remembers a
local override, the account syncs that override across devices. Most
implementations pick one layer and call it done, and the resulting bugs are all
the same bug — a lower layer winning when a higher one should, usually on first
paint before the synced preference has loaded.
The zellij case is the sharpest because a terminal multiplexer's web client
sits between two systems that both have an opinion, and neither is the browser's.
Worth checking whether the layered framing survives that, or whether terminals
are a genuinely different problem.
## Open questions
- [ ] Is this a post or a note? Three issues and no implementation story yet —
probably a note until the genshin cross-device work lands.
- [ ] Does the flash-of-wrong-theme problem have a clean answer when the
authoritative preference is server-side?
- [ ] Where does a terminal multiplexer's own theme config sit in the stack — is
it a fourth layer or does it replace the app layer?
- [ ] Second upstream zellij contribution in the calibrated voice — is there a
separate note in what makes an upstream issue land well?
## Source material
- zellij-org/zellij#5454 — support `prefers-color-scheme` in the web client
- dungeon-studio/genshin.dungeon.studio#525 (closed) — dark and light mode with system default and user override
- dungeon-studio/genshin.dungeon.studio#1134 — theme preference follows the signed-in user across devices
- Adjacent existing idea: #227
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Bewertung
Dieses Issue wurde noch nicht bewertet.