Skip to content

v1 polish: checkbox theming audit + SOU-155 leftovers#39

Merged
tsouth89 merged 3 commits into
mainfrom
tsouth2/v1-polish
Jul 17, 2026
Merged

v1 polish: checkbox theming audit + SOU-155 leftovers#39
tsouth89 merged 3 commits into
mainfrom
tsouth2/v1-polish

Conversation

@tsouth89

@tsouth89 tsouth89 commented Jul 16, 2026

Copy link
Copy Markdown
Owner

Two v1-readiness cleanups. Both change visual/user-facing surfaces that can't be pixel-verified headlessly — needs an eyeball on Windows before merge.

1. Native-control theming audit (extends SOU-224)

The dropdown fix (#38) removed native <select>. Same WebView2 root cause remained on checkboxes: .provider-detail-toggle (Claude/Codex credential toggles) and .providers-sidebar__checkbox (provider enable/disable) were raw native <input type="checkbox"> with only margin set, so the OS drew them in its own theme (light checkbox inside the dark UI).

  • Folded both onto the existing custom .toggle styling: appearance:none + CSS checkmark + accent fill + explicit [data-theme="light"] overrides. Every checkbox now matches the app theme in both modes.
  • Audited the rest: range sliders (.settings-field, .menu-surface__footer-zoom-slider) and scrollbars already carry per-theme styling — no change needed. Number-spinner arrows are OS-drawn but minor.

2. SOU-155 leftovers

  • Removed the dead TrayOpenCodexBar locale key — stale CodexBar branding, never rendered (the live tray item uses TrayPopOutDashboard in tray_menu.rs). Dropped from keys.ts, locale.rs, and all 7 .ftl locales; TS↔Rust key parity preserved (check-locale green).
  • Clarified the browser-cookie empty state: it now states up front that App-Bound Encryption usually blocks automatic import on Chrome/Edge/Brave, so pasting the cookie header is the reliable path.
  • COOKIES.md already reflects ABE reality (PR Rewrite COOKIES.md for App-Bound Encryption reality (SOU-155) #36). Remaining CodexBar strings are intentional upstream attribution in the About tab.

Verification

  • pnpm test — 45 files / 226 tests pass
  • pnpm run build — check-locale + tsc + vite green
  • cargo check (shared crate) — green after the locale enum change

Eyeball checklist (Windows, both themes)

  • Credential toggles (Settings → Providers → Claude/Codex) and the sidebar provider checkboxes: box + checkmark match the theme, accent fill when checked
  • Browser-cookie empty state reads clearly

Partially addresses SOU-155; native-control audit extends SOU-224.

Summary by CodeRabbit

  • User Interface

    • Unified macOS-style checkbox visuals across provider and settings controls.
    • Enhanced interaction states (hover, focus, checked, disabled) with consistent light-theme behavior.
  • Localization

    • Updated the tray “pop out” dashboard label to “Open Ceiling.”
    • Removed an outdated tray translation entry.
  • Bug Fixes

    • Clarified browser cookie import empty-state guidance when automatic import is blocked for unsupported scenarios.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 16, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
ceiling 24c3ad4 Commit Preview URL

Branch Preview URL
Jul 17 2026, 03:45 AM

tsouth89 added 2 commits July 16, 2026 23:34
Extends the SOU-224 dropdown fix to checkboxes. The provider-detail
credential toggles (.provider-detail-toggle) and the provider-enable
checkbox in the sidebar (.providers-sidebar__checkbox) were raw native
<input type="checkbox"> with only margin set, so WebView2 drew them in
the OS theme (a light checkbox inside the dark UI, same root cause as
the dropdowns).

Fold both onto the existing custom .toggle styling (appearance:none +
CSS checkmark + accent fill + explicit [data-theme="light"] overrides)
so every checkbox matches the app theme in both modes.

Range sliders (.settings-field, .menu-surface__footer-zoom-slider) and
scrollbars already carry per-theme styling; no change needed there.
…OU-155)

- Remove the unused TrayOpenCodexBar locale key. It carried stale
  CodexBar branding and was never rendered; the live tray item uses
  TrayPopOutDashboard (tray_menu.rs). Dropped from keys.ts, locale.rs,
  and all 7 .ftl locales, keeping TS<->Rust key parity.
- Reword the browser-cookie empty state so it sets expectations up
  front: on Chrome/Edge/Brave, App-Bound Encryption usually blocks
  automatic import, so pasting the cookie header is the reliable path.

COOKIES.md already reflects ABE reality (SOU-155 PR #36). Remaining
"CodexBar" strings are intentional upstream attribution in About.
@tsouth89
tsouth89 force-pushed the tsouth2/v1-polish branch from 69896c6 to b7f8fad Compare July 17, 2026 03:40
@coderabbitai

coderabbitai Bot commented Jul 17, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 773ff89b-061a-4fee-a75e-a88f837d7533

📥 Commits

Reviewing files that changed from the base of the PR and between b7f8fad and 24c3ad4.

📒 Files selected for processing (1)
  • apps/desktop-tauri/src/styles.css
🚧 Files skipped from review as they are similar to previous changes (1)
  • apps/desktop-tauri/src/styles.css

📝 Walkthrough

Walkthrough

The change removes the obsolete TrayOpenCodexBar locale key, updates tray and browser-cookie English strings, and applies shared interaction styling across multiple checkbox variants.

Changes

Localization updates

Layer / File(s) Summary
Locale contract and English strings
apps/desktop-tauri/src/i18n/keys.ts, rust/src/locale.rs, rust/src/locale/en-US.ftl
Removes TrayOpenCodexBar, adds the TrayPopOutDashboard label, and expands browser-cookie import guidance.

Checkbox styling

Layer / File(s) Summary
Shared checkbox states
apps/desktop-tauri/src/styles.css
Extends shared appearance, checked, hover, focus, disabled, and light-theme rules to provider checkbox variants.

Estimated code review effort: 2 (Simple) | ~10 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title captures the checkbox theming work and leftover cleanup, matching the main changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch tsouth2/v1-polish

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai 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.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@apps/desktop-tauri/src/styles.css`:
- Around line 659-661: Update the light-theme selector block for .toggle,
.provider-detail-toggle input[type="checkbox"], and .providers-sidebar__checkbox
so it does not override the checked-state accent background and border. Exclude
checked inputs from the generic light-theme override or add a more specific
checked rule that preserves the existing accent styling and keeps the checkmark
visible.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: ffcca6aa-9507-47a8-9a29-84bd622112f1

📥 Commits

Reviewing files that changed from the base of the PR and between 6f07780 and b7f8fad.

📒 Files selected for processing (4)
  • apps/desktop-tauri/src/i18n/keys.ts
  • apps/desktop-tauri/src/styles.css
  • rust/src/locale.rs
  • rust/src/locale/en-US.ftl
💤 Files with no reviewable changes (2)
  • apps/desktop-tauri/src/i18n/keys.ts
  • rust/src/locale.rs

Comment thread apps/desktop-tauri/src/styles.css
The light-theme base rule for checkboxes has equal specificity to
:checked and comes later, so it was overriding the accent background for
checked boxes in light mode. Restate the checked accent with higher
specificity (light + :checked) so it wins.
@tsouth89
tsouth89 merged commit 0762e26 into main Jul 17, 2026
6 checks passed
@tsouth89
tsouth89 deleted the tsouth2/v1-polish branch July 17, 2026 03:48
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