nwhitehouse ships dark mode the right way
A fork-wide theme overhaul that swaps hard-coded colours for reusable tokens - so dark mode comes almost for free.
nwhitehouse added a three-way theme switch (system, light, dark) to their Mike fork, with the toggle living in a new Appearance section on the account page. The real work, though, isn't the toggle - it's the cleanup behind it. Roughly 80 components were rewritten to stop referring to specific colours like "white" or "gray" and instead use named roles like "card" or "muted text". Once a component talks about roles, the theme system can swap the palette underneath it without touching the component again.
A small second pass cleaned up the bits that slipped through - the Onit logo on dark backgrounds, an invisible black send button in the chat box. The fix is a tidy SVG-swapping trick that works even on server-rendered pages.
Spotted something wrong? Or know the PR text has fresher detail than the writeup above?