Skip to content

fix(tui): preserve Solarized Light background#4471

Merged
Hmbown merged 3 commits into
Hmbown:mainfrom
nightt5879:nightt5879/issue-4457-solarized-background
Jul 17, 2026
Merged

fix(tui): preserve Solarized Light background#4471
Hmbown merged 3 commits into
Hmbown:mainfrom
nightt5879:nightt5879/issue-4457-solarized-background

Conversation

@nightt5879

Copy link
Copy Markdown
Contributor

Summary

  • preserve Solarized Light's canonical Base3 (#fdf6e3) shell background
  • keep foreground fish/bubble ambient life even though the theme skips the Ombre water column
  • report the effective Flat treatment truthfully in /theme
  • credit the original theme author and regression reporter

Fixes #4457.

Root cause

v0.9.0 made the underwater Ombre treatment the default. OceanRamp::for_theme grouped Solarized Light with the generic light theme and mixed Base3 with cyan/blue. On a 30-row viewport that produced the reported #e1e9da at row 16, even though the Solarized theme token itself remained #fdf6e3.

Solarized Light now opts out of the background water column, just like Flat rendering, while its independently rendered foreground ambient life remains available. Other themes and the global Ombre default are unchanged.

Tests

  • cargo fmt --all --check
  • git diff --check upstream/main...HEAD
  • cargo test -p codewhale-tui --bin codewhale-tui --locked solarized_light -- --nocapture (5 passed, exact rebased head)
  • cargo test -p codewhale-tui --bin codewhale-tui --locked tui::theme_picker::tests::treatment_report_names_effective_appearance -- --exact --nocapture (passed, exact rebased head)
  • cargo test -p codewhale-tui --bin codewhale-tui --locked tui::ocean::tests -- --nocapture (12 passed)
  • cargo test -p codewhale-tui --bin codewhale-tui --locked tui::theme_picker::tests -- --nocapture (16 passed)
  • cargo clippy -p codewhale-tui --bin codewhale-tui --locked -- -D warnings
  • cargo test --workspace --exclude codewhale-tui --exclude codewhale-lane --locked
  • cargo build --release -p codewhale-cli -p codewhale-tui --locked

The full Windows TUI run reached 7015 passed / 5 failed / 2 ignored. All new theme tests passed. One shell test passed in isolation; the remaining failures reproduce independently in untouched provider/setup code or depend on unavailable Unix printf. The separately excluded lane test likewise invokes an unavailable standalone echo binary on Windows. CI remains the authoritative clean-platform gate.

Self-review

Two independent read-only reviews traced every OceanRamp consumer (transcript, header, work strip, composer, and footer), verified ambient-life scheduling remains intact, checked the effective treatment copy, and found no remaining behavior issue. One review requested the missing reporter credit in docs/CONTRIBUTORS.md; this PR includes that correction.

Keep the Solarized Light shell on its canonical Base3 surface even when the global underwater treatment is Ombre, while retaining foreground ambient life.

Report the effective flat treatment in the theme picker and cover the original #e1e9da regression across the rendered viewport.

Fixes Hmbown#4457
@nightt5879
nightt5879 requested a review from Hmbown as a code owner July 17, 2026 07:58

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: eb4a8b6882

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread crates/tui/src/tui/ocean.rs Outdated
Keep Ombre active when Solarized Light has a non-canonical background override, while retaining the canonical Base3 exception from Hmbown#4457.

Carry explicit background override state into theme previews so /theme reports the effective treatment and same-as-default overrides remain available when navigating to another theme.

Addresses Codex review on Hmbown#4471.

Copy link
Copy Markdown
Contributor Author

@codex review

Please review the updated head 87228e1b; the prior P2 has been addressed in the follow-up commit and its thread is resolved.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 87228e1b9a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread crates/tui/src/commands/groups/config/config.rs Outdated
Keep a live session-only background override while /theme reloads persisted settings for cursor previews or saves a named theme.

Do not leak that session overlay into settings.toml, and cover repeated Solarized previews plus theme persistence.

Addresses Codex review on Hmbown#4471.

Copy link
Copy Markdown
Contributor Author

@codex review

Please review the updated head daeed769; the session-only background preview finding has been fixed, tested, and resolved.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Keep them coming!

Reviewed commit: daeed7697a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@Hmbown Hmbown added this to the v0.9.1 milestone Jul 17, 2026
@Hmbown
Hmbown merged commit 39a4362 into Hmbown:main Jul 17, 2026
14 checks passed
pull Bot pushed a commit to TheTechOddBug/DeepSeek-TUI that referenced this pull request Jul 17, 2026
After Hmbown#4471 and Hmbown#4470 merged, the v0.9.1 contributor set grows to
include @nightt5879 (Solarized Light fix) and @shenjackyuanjie
(HarmonyOS workflow-js), with @AiurArtanis for the Solarized regression
report and @shenyongqing for the original HarmonyOS bindgen approach.

CHANGELOG.md, docs/CONTRIBUTORS.md, and web/lib/release-credits.ts are
updated together so the exact-parity website contract test keeps
passing (73/73).

Signed-off-by: Hunter B <hmbown@gmail.com>
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.

[BUG] 升级到V0.9.0,日光主题失效

2 participants