Skip to content

Add Console Themes, saved look settings and activity motion - #870

Merged
JacobStephens2 merged 8 commits into
issue-776from
issue-824
Oct 20, 2026
Merged

JacobStephens2 merged 8 commits into
issue-776from
issue-824

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Oct 20, 2026 •

Copy link
Copy Markdown
Owner

Summary

Six built-in Themes, each in auto/light/dark, share the Console layout and embed all ten font families locally.

Theme picker (Shift+T) / Sections chooser / CLI
  → validate the two look keys
  → preserve User config comments and unrelated settings
  → Console log names the account

Command changes → activity motion → Pause motion / reduced motion

Closes #824

Evidence

  • Before: the CLI Theme command returned usage; Shift+T had no picker.
    After: all 18 choices render, settings persist across browsers, and HTTP/CLI tests cover comment preservation, account attribution, CSRF and rejected unrelated keys. Both write routes have CLI pairs.
  • Before: the reviewers' exact commands reproduced transparent state tags and Lanes/Stages/Waterfall moving after the last Command ended.
    After: those same commands pass, with three retained regression tests. AA checks cover every built-in text/background token pair, rendered text and black/white solid tags; Focus also checks APCA.
  • Final validation: cargo test --quiet, cargo fmt --check, and cargo clippy --all-targets -- -D warnings pass. All 30 Console Playwright tests pass (npm test --prefix console, using an isolated copy of the built binary).

Test seams

  • Public Console CLI and HTTP actions/views, including persisted User config and the Console log.
  • The Console in Playwright: Theme selection, font loading, contrast, saved sections and activity motion.
  • Rendered CSS in the reviewers' retained isolated state-tag reproducer.

Review coverage

Independent Standards and Spec reviews against issue-776 at 7788650, followed by one review of the fixes. Both axes read all 52 implementation/regression paths then present, with no generated-output exclusions.

Unread changed file on both axes: src/setup.rs. Final validation found that its existing complete-config fixture omitted the new default; its only change adds hidden_sections = [] to that fixture. This test-only update occurred after both review follow-ups.

Unaddressed findings

  • Standards: none. Fixed the tag-token scope defect and replaced display-string activity classification with explicit model flags.
  • Spec: none. Fixed state-tag fills and stopped time-page motion when Commands end. Every behavioural finding was reproduced with the reviewer's exact command before fixing and passed the same command afterward.

Merge Danger

Door: two-way

Blast Radius: Console

Adds console.hidden_sections and accepts all built-in Theme names. The shared look writer changes only the chosen Theme and hidden sections; Pause motion stays in the browser.

Built with codex · gpt-6.1-sol · high

Preserve the Theme routes and authenticated Stop routes. Use the shared Command watcher for Inbox, time-page and peek updates, retaining Theme activity and polling recovery. Apply the saved Pause motion preference on the Stop page and cover it alongside reduced motion.

Validated with cargo test --locked --quiet, cargo clippy --all-targets -- -D warnings, cargo fmt --check, and all 32 Console browser tests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant