feat(settings): quick wins from the settings audit (#453 phase 1) #464

Merged
jared merged 1 commits from feat/settings-quick-wins into lotus 2026-10-25 02:48:57 -04:00
Owner

Phase 1 of the settings audit #453 (report: https://claude.ai/artifact/L34kAp1L7jdvomjHHbeuzZ), approved by the owner on 2026-10-25.

Fixes #456, fixes #455, fixes #457. Part 1 of #458; part 2, the move, comes with the page split in #459.

  • #456, copy pass
    • Sentence case for every setting title and section header.
    • Plainer names, e.g. "Hide joins and leaves", "Hide name and avatar changes", "Link previews", "Don't load media automatically", "Emoji style: Twemoji", "Rejoin calls after a restart", "Also use the browser's noise suppression", "Push-to-talk key", "Interface font".
    • Grammar fixes: "when messages arrive", "Play a sound when a new message arrives"; blocked users now asks for a Matrix ID.
    • Labels only: no setting key changes.
  • #455, one theme control: Theme: System · Light · Dark.
    • System shows the light and dark variant pickers; Light or Dark shows one picker of that kind.
    • It replaces the System switch plus the Theme dropdown that was greyed out whenever the switch was on.
    • Same stored settings, so no migration. Picking a variant also remembers it for System.
  • #457:
    • The "Block Messages" stub is gone from Notifications.
    • The GIF picker row appears only in builds with a GIF key, instead of a disabled switch with an explanation.
  • #458, part 1: "Export/Import Messages Data" → "Export/Import encryption keys", with a sentence on when you'd need it.

Tested

  • In the browser: Theme → Dark applies the dark theme with a "Dark theme:" picker, Light likewise, and System restores both pickers. No disabled control remains.
  • Unit tests: 1,436 pass. Lint is at 29.
  • Playwright: security-nudge (updated for "Device verification") and boot, 7/7.

🤖 Generated with Claude Code

https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5

Phase 1 of the settings audit #453 (report: https://claude.ai/artifact/L34kAp1L7jdvomjHHbeuzZ), approved by the owner on 2026-10-25. Fixes #456, fixes #455, fixes #457. Part 1 of #458; part 2, the move, comes with the page split in #459. - **#456, copy pass** - Sentence case for every setting title and section header. - Plainer names, e.g. "Hide joins and leaves", "Hide name and avatar changes", "Link previews", "Don't load media automatically", "Emoji style: Twemoji", "Rejoin calls after a restart", "Also use the browser's noise suppression", "Push-to-talk key", "Interface font". - Grammar fixes: "when messages arrive", "Play a sound when a new message arrives"; blocked users now asks for a Matrix ID. - **Labels only:** no setting key changes. - **#455, one theme control:** `Theme: System · Light · Dark`. - System shows the light and dark variant pickers; Light or Dark shows one picker of that kind. - It replaces the System switch plus the Theme dropdown that was greyed out whenever the switch was on. - Same stored settings, so no migration. Picking a variant also remembers it for System. - **#457:** - The "Block Messages" stub is gone from Notifications. - The GIF picker row appears only in builds with a GIF key, instead of a disabled switch with an explanation. - **#458, part 1:** "Export/Import Messages Data" → **"Export/Import encryption keys"**, with a sentence on when you'd need it. **Tested** - In the browser: Theme → Dark applies the dark theme with a "Dark theme:" picker, Light likewise, and System restores both pickers. No disabled control remains. - Unit tests: 1,436 pass. Lint is at 29. - Playwright: security-nudge (updated for "Device verification") and boot, 7/7. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5
jared added 1 commit 2026-10-25 01:38:22 -04:00
feat(settings): quick wins from the settings audit (#453)
CI / Build & Quality Checks (push) Skipped
CI / Secret scan (gitleaks) (push) Skipped
CI / Playwright smoke (e2e) (push) Skipped
CI / Build & Quality Checks (pull_request) Successful in 3m18s
CI / Trigger Desktop Build (pull_request) Skipped
CI / Docker image build & smoke test (pull_request) Skipped
CI / Secret scan (gitleaks) (pull_request) Successful in 12s
CI / Playwright smoke (e2e) (pull_request) Successful in 24m56s
5d15013a27
- #456 Copy pass: sentence case for every setting title and section,
  plainer names ("Hide joins and leaves", "Link previews", "Emoji
  style: Twemoji", "Rejoin calls after a restart", "Also use the
  browser's noise suppression", "Push-to-talk key"...) and grammar fixes
  ("when messages arrive", "Play a sound when a new message arrives",
  blocked users "Enter their Matrix ID"). Labels only: no setting is
  renamed in storage.
- #455 One theme control: Theme: System / Light / Dark. System shows the
  light and dark variant pickers, Light or Dark one picker of that kind.
  Replaces the System switch plus a Theme dropdown that was greyed out
  whenever the switch was on. Uses the existing settings (no migration);
  picking a variant also remembers it for System.
- #457 Remove the "Block Messages" stub from Notifications; the GIF
  picker row only appears in builds with a GIF key.
- #458 (part 1) "Export/Import Messages Data" -> "Export/Import
  encryption keys", with a sentence on when you need it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5
jared scheduled this pull request to auto merge when all checks succeed 2026-10-25 01:38:33 -04:00
jared merged commit 299da879fb into lotus 2026-10-25 02:48:57 -04:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: LotusGuild/cinny#464