syntaqxsudo no longer blinks unstyled between pages, and has Appearance: Auto, Light or Dark, drawn in the chosen theme from the first byte. The stylesheet was imported for React Router's <Links />, which moved it among the head's links as pages changed. Each move took it off the page for a frame, so the page showed unstyled (in a headless run the body's background went transparent mid-navigation). It is a React 19 stylesheet resource now (precedence), as on g1t.sh: drawn once and never moved. The favicon and font preloads sit in the head beside it. Appearance works as on g1t.sh. The choice is a cookie (sudo_theme) the root loader reads, so <html> carries data-theme and the browser bar's colour from the server. Auto sets nothing and follows the system. Switching changes the page at once and keeps the cookie. Every colour token is a light-dark() pair, and the charts and bars that named the dark-only tokens use the paired ones. The switch sits in the panel at the foot of the menu, on phones too. Checked: apps/sudo tsc -b, npm test (163; new: the theme), and a built sudo run locally with sign-in stubbed (not committed) through ten pages in headless Chrome. The stylesheet was never removed and the background never blinked. A light cookie on a dark system drew light from the first byte, Dark switched at once and kept the cookie, and Auto followed the system.6df87f2History
- ..
- deploy
- emoji
- ops
- perf
- apt-install.sh
- build-runner.mjs
- build-rust-worker.mjs
- cli-release.mjs
- cli-release.test.mjs
- cloudflare-setup.py
- conformance-diff.mjs
- deploy.mjs
- deploy.sh
- desktop-cross-tools.sh
- desktop-release.mjs
- desktop-release.test.mjs
- mobile-release.mjs
- mobile-release.test.mjs
- plugins-release.mjs
- plugins-release.test.mjs
- runner-release.mjs
- runner-release.test.mjs
- sandbox-image.mjs
- sccache.sh
- setup-custom-domains.sh
- setup-deployments.sh