Skrive v0.2.2 — Light theme + Electron stops forcing dark
Light mode + a proper theme system. After v0.2.1 locked the inset design, this release adds back the light theme that had been deferred and stops Electron from forcing dark mode on light-mode machines.
What's new
Light mode
- New Theme picker in Settings → General → Appearance: System (matches the OS automatically), Light, or Dark.
- New installs default to Light. A warm paper-like palette:
#fefcf7page,#1f1d1aink, soft warm rules. Existing dark-mode users are migrated to Dark on upgrade so nothing changes for you without consent. - Theme switching is live — flip in Settings and the whole workspace fades to the new palette (no relaunch needed).
Electron stops forcing dark
- The BrowserWindow's pre-paint background no longer hardcodes
#1a1a1a. It now followsnativeTheme.shouldUseDarkColorsso a light-mode OS gets a light flash on launch and a dark-mode OS gets a dark one. No more "the app is dark even though my system is light."
Under the hood
- All palette tokens (
--skrive-bg,--skrive-fg,--skrive-muted,--skrive-rule,--skrive-link,--skrive-selection,--skrive-focus-ring) now use CSSlight-dark(). The browser resolves them against the activecolor-scheme, whichdata-themeon<html>pins (or follows the OS when absent). light-dark()is also wired through the three shell-tone variants. Their values stay distinct in dark mode; in light mode they all resolve to the same fixed light palette.
Known limitation
The Shell tone toggle is dark-mode only for v0.2.2 — picking different tones in light mode has no visible effect. Light-mode shell-tone variants are a follow-up release if the single fixed palette doesn't cover real use.
Upgrade behavior
- First-time installs: start in Light.
- Existing v0.2.1 (or earlier) users: migrated to Dark to preserve your current experience. Switch to Light or System anytime in Settings → Appearance.