Skip to content

fix(mobile): define Clerk colors in every Uniwind theme - #12344

Merged
juliusmarminge merged 1 commit into
mainfrom
investigate-clerk-theme-warnings
Sep 18, 2026
Merged

juliusmarminge merged 1 commit into
mainfrom
investigate-clerk-theme-warnings

Conversation

@juliusmarminge

@juliusmarminge juliusmarminge commented Sep 18, 2026

Copy link
Copy Markdown
Member

Named mobile themes omit the five Clerk color variables, so Uniwind reports missing variables for every custom palette and our T3 Connect profile page has no Clerk colors under those themes.

Generate the fixed light/dark Clerk variables for all 12 themes from clerk-theme.json, preserving the existing colors and 6% border opacity. Remove the duplicate handwritten CSS definitions. Clerk's native routes retain one palette with light/dark variants.

Verification:

  • Added a regression test covering variable parity across every theme and the fixed Clerk colors for each appearance. Before the fix it failed on t3-chat-light: 132 variables instead of 137, with exactly the five Clerk variables missing. After the fix all 12 themes pass.
  • vp test run apps/mobile/scripts/generate-uniwind-themes.test.ts apps/mobile/src/lib/mobileThemeVariables.test.ts: 15 tests passed.
  • Mobile typecheck, focused lint, formatting, and generated-output freshness passed.
  • This is a theme-generation fix; evidence is the failing/passing output above. No layout or native Clerk palette changes, and no simulator screenshots were taken.

Applies to mobile iOS and Android. Web, desktop, provider adapters, contracts, and connection modes are unaffected.

Implemented with GPT-6 in the Codex harness.


Devin Review

Summary by CodeRabbit

  • New Features

    • Added consistent Clerk color styling across all mobile Uniwind themes.
    • Light, dark, and custom themes now adapt Clerk interface colors, including text, borders, and danger states.
    • Clerk borders use subtle transparency for improved visual integration across appearances.
  • Bug Fixes

    • Improved visual consistency of Clerk components when switching between light and dark themes.

@github-actions github-actions Bot added the size:L 100-499 changed lines (additions + deletions). label Sep 18, 2026
@macroscopeapp

macroscopeapp Bot commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Not approved

Macroscope's review found this PR not approvable — This changes the shipped Clerk color defaults used by existing named mobile themes, affecting the appearance of custom profile pages across the product. The implementation is localized and tested, but the product-default change warrants human review.

You can add or adjust custom eligibility rules. Learn more.

@coderabbitai

coderabbitai Bot commented Sep 18, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Team

Run ID: e007bf4d-ef29-4c5d-89fe-b873534252a0

📥 Commits

Reviewing files that changed from the base of the PR and between 3fd5d64 and ac25ded.

📒 Files selected for processing (4)
  • apps/mobile/generated-uniwind-themes.css
  • apps/mobile/global.css
  • apps/mobile/scripts/generate-uniwind-themes.mts
  • apps/mobile/scripts/generate-uniwind-themes.test.ts
💤 Files with no reviewable changes (1)
  • apps/mobile/global.css

Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review.


📝 Walkthrough

Walkthrough

The mobile theme generator now adds Clerk color variables to all generated Uniwind theme variants. Generated CSS contains light and dark Clerk palettes. Tests verify consistent variables and appearance-specific values. The old native Clerk profile theme block was removed.

Changes

Clerk theme integration

Layer / File(s) Summary
Theme generation
apps/mobile/scripts/generate-uniwind-themes.mts
The generator maps Clerk appearance colors to page, foreground, muted foreground, border, and danger variables. It adds these variables to built-in and custom light and dark variants.
Generated theme output
apps/mobile/generated-uniwind-themes.css, apps/mobile/global.css
All generated theme variants now include shared light or dark Clerk values. The dedicated native Clerk profile theme block was removed.
Theme validation
apps/mobile/scripts/generate-uniwind-themes.test.ts
Tests verify identical variable sets across variants and validate the expected light or dark Clerk palette.

Priority: ⬇️ Low

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

Change: Bug fix

Merge Risk: ⚪ Minimal · up to ac25d

The generated mobile themes consistently include the intended Clerk colors across light and dark appearances, with no actionable risk identified.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: defining Clerk colors in every mobile Uniwind theme.
Description check ✅ Passed The description explains what changed, why it changed, verification results, scope, and UI impact. It is complete and focused, although the checklist is not explicitly reproduced.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 2…
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 docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

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

@github-actions github-actions Bot added the vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. label Sep 18, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 13.5 KiB 13.5 KiB +16 B (+0.1%) 15.1 KiB
Codex Thread snapshot wire 7.1 KiB 7.1 KiB −3 B (−0.0%) 7.3 KiB
Codex Live turn WebSocket wire 6.4 KiB 6.4 KiB +19 B (+0.3%) 7.8 KiB
Codex Live turn WebSocket decoded 56.2 KiB 56.3 KiB +44 B (+0.1%) 66.4 KiB
Codex Live turn messages 9 10 +1 (+11.1%) 21
Claude Total thread wire 13.5 KiB 13.5 KiB +13 B (+0.1%) 15.1 KiB
Claude Thread snapshot wire 7.1 KiB 7.1 KiB +3 B (+0.0%) 7.3 KiB
Claude Live turn WebSocket wire 6.4 KiB 6.4 KiB +10 B (+0.2%) 7.8 KiB
Claude Live turn WebSocket decoded 57.0 KiB 57.0 KiB 0 B (0.0%) 66.4 KiB
Claude Live turn messages 9 9 0 (0.0%) 21

Baseline: 3fd5d64 · PR result: ac25ded · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 114.0 KiB
  • Claude decoded thread snapshot: 114.6 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@juliusmarminge
juliusmarminge merged commit 53510d4 into main Sep 18, 2026
22 checks passed
@juliusmarminge
juliusmarminge deleted the investigate-clerk-theme-warnings branch September 18, 2026 01:55
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Sep 18, 2026
## What's Changed
* fix(web): keep PR panel actions in the current thread by @Bil0000 in pingdotgg/t3code#12320
* fix(web): keep browser pages aligned during panel animations by @juliusmarminge in pingdotgg/t3code#12329
* fix(server): bound provider event log records before serialization by @juliusmarminge in pingdotgg/t3code#12305
* fix(server): reject file rewind in shared workspaces by @juliusmarminge in pingdotgg/t3code#12306
* fix(server): capture checkpoints when baseline lookup fails by @juliusmarminge in pingdotgg/t3code#12307
* fix(server): refresh file search outside checkpoint processing by @juliusmarminge in pingdotgg/t3code#12308
* fix(web): keep chat from jumping when the scroll-to-end pill mounts by @Yash-Singh1 in pingdotgg/t3code#12317
* fix(server): checkpoint workspaces with empty nested repositories by @saphid in pingdotgg/t3code#12181
* chore(review): keep review bots out of the vendored .repos references by @juliusmarminge in pingdotgg/t3code#12333
* fix(server): pass Codex image attachments by path to avoid oversized requests by @saphid in pingdotgg/t3code#11050
* feat(web): filter sidebar from thread menu by @saphid in pingdotgg/t3code#8719
* feat(web): open diff files from a right-click context menu by @saphid in pingdotgg/t3code#11842
* fix(web): keep numbered jumps from stealing browser tabs by @Yash-Singh1 in pingdotgg/t3code#12315
* fix(mobile): define Clerk colors in every Uniwind theme by @juliusmarminge in pingdotgg/t3code#12344
* refactor(web): reuse searchable picker inputs by @juliusmarminge in pingdotgg/t3code#12353
* fix(web): share touch-visible pull request edit actions by @juliusmarminge in pingdotgg/t3code#12370
* fix(mobile): share accessible connection trace controls by @juliusmarminge in pingdotgg/t3code#12371
* fix(mobile): share settings control row layout by @juliusmarminge in pingdotgg/t3code#12356
* refactor(web): share diagnostic process actions by @juliusmarminge in pingdotgg/t3code#12358
* refactor(mobile): share Android toolbar search fields by @juliusmarminge in pingdotgg/t3code#12359
* refactor(web): share settings group surfaces by @juliusmarminge in pingdotgg/t3code#12360
* refactor(web): reuse inline settings actions by @juliusmarminge in pingdotgg/t3code#12362
* refactor(mobile): share thread list section controls by @juliusmarminge in pingdotgg/t3code#12363
* refactor(mobile): share connection form fields by @juliusmarminge in pingdotgg/t3code#12364
* refactor(mobile): share local environment lists by @juliusmarminge in pingdotgg/t3code#12365
* refactor(mobile): share file preview feedback by @juliusmarminge in pingdotgg/t3code#12368
* refactor(web): share standalone page layout by @juliusmarminge in pingdotgg/t3code#12354
* fix(mobile): share settings action row defaults by @juliusmarminge in pingdotgg/t3code#12369
* fix(mobile): share request action button defaults by @juliusmarminge in pingdotgg/t3code#12366
* fix(web): share accessible color picker controls by @juliusmarminge in pingdotgg/t3code#12355


**Full Changelog**: pingdotgg/t3code@v0.0.43-nightly.20260917.1880...v0.0.43-nightly.20260918.1895

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.43-nightly.20260918.1895
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100-499 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant