Skip to content

feat(desktop): sync terminal chrome with the app theme - #1097

Open
RaspberryLee wants to merge 1 commit into
NanmiCoder:mainfrom
RaspberryLee:feat/terminal-toolbar-theme-sync
Open

feat(desktop): sync terminal chrome with the app theme#1097
RaspberryLee wants to merge 1 commit into
NanmiCoder:mainfrom
RaspberryLee:feat/terminal-toolbar-theme-sync

Conversation

@RaspberryLee

Copy link
Copy Markdown
Contributor

Summary

Align the integrated terminal chrome with the desktop application theme.

This removes the decorative macOS traffic-light dots from the terminal toolbar, replaces text-heavy actions with accessible icon controls, and keeps xterm colors synchronized with the active light or dark application theme. The terminal process and PTY behavior are unchanged.

Feature Quality Contract

  • Changed surface: desktop UI
  • Tests added or updated:
    • desktop/src/pages/TerminalSettings.test.tsx
    • cd desktop && bun run test -- --run src/pages/TerminalSettings.test.tsx — 18 passed, 0 failed
  • Coverage evidence:
    • bun run check:impact selected check:desktop and check:coverage.
    • Standalone production build passed: cd desktop && bun run build.
    • Full check:desktop lint passed, then the suite reported 2,092 passed, 364 failed, 2 skipped. Failures are dominated by the current Node 26 environment exposing localStorage as unavailable, Windows symlink EPERM, and existing Mermaid/test timeouts.
    • Local coverage report: artifacts/coverage/2026-07-23T08-59-37-631Z/coverage-report.md; desktop instrumentation failed in the same environment, so changed-line coverage was unavailable locally.
  • E2E / live-model evidence:
    • Live model: not run (untrusted fork / no provider)
    • Visual desktop smoke was not recorded in the isolated PR worktree.
  • Known risk / rollback:
    • Visual behavior changes are limited to terminal chrome and xterm theme synchronization. Reverting this commit restores the previous toolbar and colors.

Verification

  • I ran the relevant local checks, or explained why they did not fully pass.
  • I added or updated same-area tests for every production behavior change.
  • I ran the checks selected by bun run check:impact; environmental blockers are documented above.
  • Changed-line coverage could not be produced because desktop coverage instrumentation failed in the local Node 26 environment.
  • I summarized the relevant suite and report results.
  • Focused deterministic UI tests and the production build passed; live-model testing does not apply.

Risk

  • This PR does not touch CLI core paths.
  • Production code changes include matching tests.
  • Coverage baseline/threshold files are unchanged.
  • Quarantine policy is unchanged.
  • Provider/runtime code is unchanged.

@github-actions

Copy link
Copy Markdown

PR quality triage

Changed areas: area:desktop

CLI core policy: No CLI-core policy block detected.

Missing-test policy: No missing-test policy block detected.

Coverage baseline policy: No coverage-baseline policy block detected.

CLI core files:

  • none

Coverage policy files:

  • none

Required check plan:

  • See PR Quality / scope-plan; it is the single source of truth for selected jobs.

Test coverage signals:

  • No obvious missing-test signal from changed paths.

Risk notes:

  • No special risk notes from changed paths.

Hard merge gates come from the deterministic GitHub Actions contract lanes above.

@RaspberryLee
RaspberryLee marked this pull request as ready for review July 23, 2026 09:55
@dosubot dosubot Bot added size:L This PR changes 100-499 lines, ignoring generated files. enhancement New feature or request labels Jul 23, 2026
@RaspberryLee
RaspberryLee force-pushed the feat/terminal-toolbar-theme-sync branch 2 times, most recently from 57f6890 to 68b3da1 Compare July 27, 2026 08:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:desktop enhancement New feature or request size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants