Skip to content

refactor(web): the new design is the only design, with no toggle - #25778

Merged
t3dotgg merged 2 commits into
mainfrom
t3/remove-redesign-toggle
Oct 27, 2026
Merged

t3dotgg merged 2 commits into
mainfrom
t3/remove-redesign-toggle

Conversation

@t3dotgg

@t3dotgg t3dotgg commented Oct 27, 2026 •

Copy link
Copy Markdown
Member

The new design shipped and is the default, but the "New design" switch in Settings → Appearance and the old classic look were still in the code. Every redesigned element carried two styles, which made the UI harder to change. Turning the switch off showed a half-maintained old look.

The new design is now the only design. Users see no change if they never turned the switch off, which was the default.

  • Switch removed: the setting, its Appearance row, its settings search entry, and its "Restore defaults" entry. Saved settings that still have the old key load fine; the key is dropped.
  • Two styles become one:
    • The redesign: Tailwind variant and the data-redesign attribute are gone. Every redesign: class is now a plain class.
    • The html[data-redesign] CSS rules are unconditional, with the same cascade.
    • Classic-only code is deleted: the old compact pill, old shelf counts, classic model picker rows, and the chat-centering flag in the canvas layout.
  • Tech debt from the switch:
    • The diff worker pool no longer listens to every settings change.
    • The unused pierre-light syntax theme is dropped, so light code always uses the readable palette.
    • Hidden-but-rendered DOM is no longer rendered: the sidebar meta line and the usage period controls on Limits.
  • Fixed along the way:
    • The launch splash, theme-color, and the desktop window background used the old #0a0a0a dark canvas, so dark mode flashed gray before the app's true black. They now use #000.
    • Dragging the active sidebar row in light mode now shows the same drag shadow as other rows. A leftover classic style hid it.

Before / after

Settings → Appearance → Interface. The only visible change.

main this PR
main settings this PR settings

Everything else renders the same as main with the new design on:

Dark Light
thread dark thread light

Proof:

  • I ran main and this branch on the same dev server with the same seeded data and diffed the screenshots pixel by pixel. They match except for clock labels and the text caret on these screens: the thread view in dark and light, the diff panel, the model picker, provider settings, and usage limits.
  • The diff caught two spots where dropping the redesign: prefix changed a cn() merge: the model picker's selected marker and the font preview height. Both are fixed to match main.
  • vp run check:changed passes, and the related unit and browser tests pass.

Reviewed with sol-loop: 1 round with GPT-6.1 Sol. Sol verdict: approved

Made with Claude Opus 5.5 in Claude Code, running in T3 Code.

🤖 Generated with Claude Code

@github-actions github-actions Bot added vouch:trusted Author is trusted by repo permissions or the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Oct 27, 2026
@macroscopeapp

macroscopeapp Bot commented Oct 27, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Needs Human Approval

Macroscope's review found this PR requires human approval — This PR makes the redesigned web UI unconditional, removes the classic-design setting, and changes behavior across settings, layout, sidebar, composer, diffs, and usage surfaces. The removal of an existing product choice and the resulting default change warrant human review.

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

@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 4.9 KiB 5.0 KiB +30 B (+0.6%) 6.8 KiB ✅
Codex Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Codex Live turn WebSocket wire 1.2 KiB 1.2 KiB +30 B (+2.5%) 2.0 KiB ✅
Codex Live turn WebSocket decoded 20.8 KiB 20.9 KiB +41 B (+0.2%) 29.3 KiB ✅
Codex Live turn messages 1 2 +1 (+100.0%) 8 ✅
Claude Total thread wire 5.0 KiB 5.0 KiB −24 B (−0.5%) 6.8 KiB ✅
Claude Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Claude Live turn WebSocket wire 1.2 KiB 1.2 KiB −24 B (−2.0%) 2.0 KiB ✅
Claude Live turn WebSocket decoded 21.2 KiB 21.2 KiB −41 B (−0.2%) 29.3 KiB ✅
Claude Live turn messages 2 1 −1 (−50.0%) 8 ✅

Baseline: c294d63 · PR result: 6285690 · 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: 108.5 KiB
  • Claude decoded thread snapshot: 108.8 KiB

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

@coderabbitai

coderabbitai Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between c294d63 and 6285690.

Files selected for processing: 51
  • apps/desktop/src/window/DesktopWindow.ts
  • apps/web/index.html
  • apps/web/src/appInit.tsx
  • apps/web/src/components/ChatView.tsx
  • apps/web/src/components/ComposerPromptEditorTiptap.tsx
  • apps/web/src/components/DiffPanel.tsx
  • apps/web/src/components/DiffWorkerPoolProvider.tsx
  • apps/web/src/components/GitActionsControl.tsx
  • apps/web/src/components/Sidebar.tsx
  • apps/web/src/components/ThreadStatusIndicators.tsx
  • apps/web/src/components/chat/ChatCanvas.tsx
  • apps/web/src/components/chat/ChatComposer.tsx
  • apps/web/src/components/chat/ComposerPrimaryActions.tsx
  • apps/web/src/components/chat/ModelListRow.tsx
  • apps/web/src/components/chat/ModelPickerContent.tsx
  • apps/web/src/components/chat/ModelPickerSidebar.tsx
  • apps/web/src/components/chat/ThreadDetailsControl.tsx
  • apps/web/src/components/chat/ThreadDetailsPrRow.tsx
  • apps/web/src/components/chat/ThreadDetailsPrRows.tsx
  • apps/web/src/components/chat/ThreadRelationshipsControl.tsx
  • apps/web/src/components/chat/ThreadStatusLine.tsx
  • apps/web/src/components/chat/TraitsPicker.tsx
  • apps/web/src/components/chat/canvasStore.test.ts
  • apps/web/src/components/chat/canvasStore.ts
  • apps/web/src/components/chat/chatCanvasLayout.test.ts
  • apps/web/src/components/chat/chatCanvasLayout.ts
  • apps/web/src/components/pullRequest/PullRequestGhosts.tsx
  • apps/web/src/components/settings/AppearanceSettingsPanel.tsx
  • apps/web/src/components/settings/ProviderInstanceCard.tsx
  • apps/web/src/components/settings/ProviderModelsSection.tsx
  • apps/web/src/components/settings/ProviderSettingsPanel.tsx
  • apps/web/src/components/settings/SettingsFontPreviews.tsx
  • apps/web/src/components/settings/SettingsPanels.tsx
  • apps/web/src/components/settings/ThemePreviewCircles.tsx
  • apps/web/src/components/settings/ThemeSettings.tsx
  • apps/web/src/components/settings/settingsSearch.ts
  • apps/web/src/components/sidebar/SidebarListMarkers.tsx
  • apps/web/src/components/sidebar/SidebarThreadHeader.tsx
  • apps/web/src/components/sidebar/SidebarThreadRow.tsx
  • apps/web/src/components/ui/button.tsx
  • apps/web/src/components/ui/collapsible-section-header.tsx
  • apps/web/src/components/ui/combobox.tsx
  • apps/web/src/components/ui/command.tsx
  • apps/web/src/components/ui/kbd.tsx
  • apps/web/src/components/usage/UsageLimitsPooled.tsx
  • apps/web/src/components/usage/UsagePage.tsx
  • apps/web/src/index.css
  • apps/web/src/lib/diffRendering.ts
  • apps/web/src/lib/incrementalHighlighting.ts
  • apps/web/src/lib/syntaxHighlighting.ts
  • packages/contracts/src/settings.ts
Files with no reviewable changes: 10
  • apps/web/src/components/settings/SettingsPanels.tsx
  • packages/contracts/src/settings.ts
  • apps/web/src/appInit.tsx
  • apps/web/src/components/ChatView.tsx
  • apps/web/src/components/settings/AppearanceSettingsPanel.tsx
  • apps/web/src/components/chat/canvasStore.test.ts
  • apps/web/src/components/chat/canvasStore.ts
  • apps/web/src/components/chat/ChatCanvas.tsx
  • apps/web/src/components/GitActionsControl.tsx
  • apps/web/src/components/settings/settingsSearch.ts

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 6 remain after this review.

Walkthrough

The pull request removes the New design toggle and its conditional styling paths. It makes the selected chat, sidebar, settings, usage, and diff behavior unconditional, updates chat-canvas positioning, and changes dark-mode backgrounds to pure black.

Changes: Default interface and appearance

Layer / File(s) Summary
Remove the redesign setting and update default appearance
packages/contracts/src/settings.ts, apps/web/src/appInit.tsx, apps/web/src/components/settings/AppearanceSettingsPanel.tsx, apps/web/src/components/settings/settingsSearch.ts, apps/web/src/components/settings/SettingsPanels.tsx, apps/web/src/index.css, apps/web/index.html, apps/desktop/src/window/DesktopWindow.ts
The client settings contract and appearance controls no longer include the redesign setting. Startup no longer toggles data-redesign. Dark-mode boot and canvas backgrounds change to black, and the selected global styles apply without the redesign variant.
Unify chat and model-picker behavior
apps/web/src/components/ChatView.tsx, apps/web/src/components/chat/*
The chat canvas resolves its position beside details cards without centerBesideDetails. Chat controls, composer, and model picker no longer branch on the redesign setting.
Unify sidebar and shared controls
apps/web/src/components/Sidebar.tsx, apps/web/src/components/ThreadStatusIndicators.tsx, apps/web/src/components/sidebar/*, apps/web/src/components/ui/*, apps/web/src/components/pullRequest/PullRequestGhosts.tsx
Sidebar rows, section counts, and shared controls use the selected styles and rendering without redesign-specific variants. Slim sidebar rows no longer render the PR badge.
Unify settings and usage surfaces
apps/web/src/components/settings/*, apps/web/src/components/usage/*
Provider and appearance settings use consistent layouts and focus styles. Usage period controls are omitted when Limits is selected, and the pooled percentage is shown only when the account name is shown.
Update diff theme and controls
apps/web/src/components/DiffPanel.tsx, apps/web/src/components/DiffWorkerPoolProvider.tsx, apps/web/src/lib/diffRendering.ts, apps/web/src/lib/incrementalHighlighting.ts, apps/web/src/lib/syntaxHighlighting.ts, apps/web/src/index.css
Diff theme selection no longer checks data-redesign; the light theme uses the readable palette. Diff controls and worker subscriptions use the updated theme behavior and types.

Priority: Low

Estimated code review effort: 3 (Moderate) | ~25 minutes

Change: Refactor

Possibly related issues

  • Issue 25132 concerns a white app border in dark mode. This change makes the desktop dark-mode window background black.

Possibly related PRs

  • pingdotgg/t3code#24837: It implements the broader web design changes that this pull request makes unconditional.
  • pingdotgg/t3code#25251: It adds the redesigned model picker, chat canvas, details controls, and dark colors that this pull request retains as the only implementation.
  • pingdotgg/t3code#25277: It extends the redesign to diff, usage, and other UI surfaces that this pull request makes unconditional.

Suggested reviewers: juliusmarminge, maria-rcks

Merge Risk: Minimal · up to 62856

No actionable issue remains from this review; the change is ready for normal merge checks.

Pre-merge checks: Passed 3 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Description check Warning The description explains the problem, implementation, visual impact, screenshots, verification steps, test results, and agent usage. However, it does not follow the required section structure and does… Organize the description under Problem, Change, Scope and approval, and Verification headings. Add a link to the triaged issue or maintainer discussion, including the explicit approval comment. If no prior approval applies, explain why this…
Passed Passed checks: 3 passed
Check name Status Explanation
Title check Passed The title clearly and concisely describes the primary change: removing the design toggle and making the new design the only design.
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.
Full details: Description check

Explanation

The description explains the problem, implementation, visual impact, screenshots, verification steps, test results, and agent usage. However, it does not follow the required section structure and does not provide the required Scope and approval information, such as a triaged issue or explicit maintainer approval with a link and approval comment.

Resolution

Organize the description under Problem, Change, Scope and approval, and Verification headings. Add a link to the triaged issue or maintainer discussion, including the explicit approval comment. If no prior approval applies, explain why this change qualifies for the exemption. Keep the existing screenshots and specific verification results under Verification.

Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

@t3dotgg
t3dotgg merged commit 96fc7b9 into main Oct 27, 2026
30 checks passed
@t3dotgg
t3dotgg deleted the t3/remove-redesign-toggle branch October 27, 2026 07:00
sheehanmunim added a commit to munimtechnologies/mtcode that referenced this pull request Oct 27, 2026
Follows upstream's "new design is the only design" (pingdotgg#25778): the fork drops
redesignEnabled with it and keeps its own settings rows. The agent context
budget takes the smaller MCP tool list from pingdotgg#25790.

Also declares zod as a server dependency. @cursor/sdk 1.0.38 made zod a peer
dependency, and the desktop stage's production install does not add peers,
so the packaged server failed to start with "Cannot find module 'zod/v4'"
(the Linux smoke test caught it and stopped the 0.1.40 release).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
adampeterhiggins added a commit to adampeterhiggins/t3code that referenced this pull request Oct 27, 2026
* refactor(client): composers share one workspace snapshot refresh per provider and cwd (pingdotgg#25370)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(mobile): composer pastes and picks are cancelled by their draft, not by the composer (pingdotgg#25376)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* chore(mobile): e2e poses for current devices, Duo and landscape fixes

Poses now cover iPhone SE, iPhone 18 Pro, iPhone Duo folded and unfolded,
iPad Pro 13" in both orientations, Pixel 10 Pro, Pixel 10 Pro Fold folded,
unfolded and unfolded landscape, and Pixel Tablet in both orientations.
Landscape poses rotate once the app is up (a rotation during launch is lost)
and check that the screen really is wider than tall. Taps fall back to the
element's centre when agent-device refuses a covered ref, and a gateway
whose workers briefly reconnect is retried.

Co-Authored-By: Claude Opus 5.5 <[email protected]>

* fix(mobile): select the correct draft after adding a project (pingdotgg#24269)

* fix(mobile): mobile:install no longer requires --prepare

The --prepare flag from pingdotgg#25390 had no default, so effect/cli made it
required and every mobile:install failed with "Missing required flag".

Co-Authored-By: Claude Opus 5.5 <[email protected]>

* fix(mobile): e2e landscape poses rotate for real on tablets and folds

agent-device names rotations relative to the device's natural orientation,
which is landscape on the Pixel Tablet and an unfolded Fold, so
"landscape-left" turned them portrait. The runner now asks for a shape and
tries each rotation until the screen has it. It also prepares each platform's
dev client before leasing, rides out longer worker drops, and skips the
Duo poses by default until agent-device can fold Simlock's simulators.

Co-Authored-By: Claude Opus 5.5 <[email protected]>

* fix(server): goals stop the running turn, clear while working, no echoes (pingdotgg#25426)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(web): pull request list remembers each answer for the next start (pingdotgg#25364)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(web): HTML previews handle frame messages in one listener (pingdotgg#25456)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(web): review guide runs are watched from their answers, not from mounted components (pingdotgg#25459)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(web): resize drags, panel shells and the browser host own their listeners (pingdotgg#25464)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): find shows its match after a thread switch, and the timeline hears scrolling through one viewport signal (pingdotgg#25463)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): a new thread's first send no longer sticks on Starting (pingdotgg#25477)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(client): drafts for answered questions are cleared even when their thread is not open (pingdotgg#25457)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(web): terminal output no longer re-renders the drawer, theme search runs from handlers (pingdotgg#25458)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): stable callbacks refresh before layout effects read them (pingdotgg#25489)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* test(web): say why the useStableCallback test renders without a router (pingdotgg#25493)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): queued edits end when their run starts, wherever you are (pingdotgg#25468)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(web): root theme, toast and chrome sync start with the app (pingdotgg#25461)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(web): root theme, toast and chrome sync start with the app (pingdotgg#25461)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): editing a queued message while a question is open no longer throws (pingdotgg#25503)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): browser viewport resizes work without an open preview panel (pingdotgg#25462)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* test(web): attachment preview omission tests no longer time out on CI (pingdotgg#25515)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): describe when composer view commands can reject (pingdotgg#25516)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): browser history and titles show up again (pingdotgg#25491)

* fix(web): switching back to a thread no longer restores its tab's older title (pingdotgg#25521)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(web): pull request page reacts to turns and sweep Escape without effects (pingdotgg#25523)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): an armed pull request confirm no longer outlives its button (pingdotgg#25530)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): keep expanding composer text above its toolbar (pingdotgg#25396)

* fix(server): release completed PR sync sweep data from the read cache (pingdotgg#25285)

* fix(mobile): drop the unused useLayoutEffect import that fails lint on main (pingdotgg#25575)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(web): provider settings and Codex setup run as explicit flows (pingdotgg#25524)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* test(web): attachment preview omission cases check the prepared document instead of rendering each one (pingdotgg#25562)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(mobile): pull request screens use a file-jump store and handler work (pingdotgg#25525)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): label the pull request toast action View (pingdotgg#25581)

* refactor(mobile): media previews share file leases and close on blur in one place (pingdotgg#25527)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(shared): pin T3 Connect cloudflared to 2026.10.4, which drops the compromised eMudhra intermediates (pingdotgg#25572)

Co-authored-by: Theo Browne <[email protected]>

* fix(web): skill chips in chat open the same details popover as the composer (pingdotgg#25432)

* refactor(web): chat route shortcuts register once instead of rebuilding on every store change (pingdotgg#25366)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(clients): queued messages can't be edited while a question is open (pingdotgg#25593)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* docs: add an FAQ that answers what people ask every day (pingdotgg#25451)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(web): warn before adding a second Claude or Codex account (pingdotgg#25475)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(server): expire new-model badges after seven days (pingdotgg#25609)

* refactor(web): running timers share one clock instead of an interval each (pingdotgg#25616)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): simplify the created pull request success row (pingdotgg#25613)

* fix(web): thread jump hints wait for their delay on every hold (pingdotgg#25636)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): open threads from the local cache instead of "Thread unavailable" (pingdotgg#25627)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(infra): task-cache telemetry no longer strands an event queued during a flush (pingdotgg#25653)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(web): video previews attach listeners on their element and share one visibility observer (pingdotgg#25630)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(mobile): voice input session owns recording, metering and keep-awake (pingdotgg#25631)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): screen readers can wrap to the first and last message of a long thread (pingdotgg#23780)

Co-authored-by: PR Batch Tester <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: nibarAhmed <[email protected]>
Co-authored-by: maria-rcks <[email protected]>

* fix(client-runtime): a slow host no longer shows settings as read-only (pingdotgg#25526)

Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
Signed-off-by: Yordis Prieto <[email protected]>

* refactor(mobile): thread rows share one clock and cache SVGs instead of per-row effects (pingdotgg#25612)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(server): a thread whose worktree was deleted recovers on the next message (pingdotgg#18359)

Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
Signed-off-by: Yordis Prieto <[email protected]>

* refactor(mobile): pull request list records answers where they land (pingdotgg#25373)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): keep floating status within the composer width (pingdotgg#25671)

* refactor(web): settings group by concern, with General split into focused pages (pingdotgg#25651)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(server): telemetry keeps a failed batch for 30 minutes, not 1.5 (pingdotgg#25474)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): a caret move in one composer no longer moves another draft's insert point (pingdotgg#25681)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* test(web): attachment preview Word and large-text tests no longer flake on CI (pingdotgg#25664)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(evals): shared evals package and an eval for T3 tool-use mistakes (pingdotgg#24635)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(web): Cmd+O presses the Open in editor button instead of a per-picker listener (pingdotgg#25667)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): queued messages are delivered by an app service, not a render loop (pingdotgg#25678)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* test(web): PDF viewer behavior is covered by fast tests (pingdotgg#25699)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(mobile): drop the unreachable pending-task editor from new-task drafts (pingdotgg#25684)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(web): thread state lives at the end of the timeline, not stacked on the composer (pingdotgg#25401)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(web): drafts promote from the draft store, not from route effects (pingdotgg#25615)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(mobile): settings use web's pages and groups (pingdotgg#25686)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(mobile): thread inspector mode is derived, not synced (pingdotgg#25682)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(mobile): pull request list, filters and viewed files without synchronizing effects (pingdotgg#25614)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): PDF search finds phrases that wrap across lines (pingdotgg#25702)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(server): cut T3's MCP tool schemas by a third and merge 18 tools into action tools (pingdotgg#25423)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): pull request rows refresh their diff stats after a new push (pingdotgg#25713)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(workflows): keep completed workflows reachable (pingdotgg#24587)

Co-authored-by: maria-rcks <[email protected]>

* fix(web): devices agents open in background threads now show up (pingdotgg#25714)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(web): optimistic chat messages leave without a timer (pingdotgg#25710)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(acp): ACP session notices show as notices, not reply text (pingdotgg#25704)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): scale and align thread list icons (pingdotgg#25668)

* refactor(mobile): new-task branch defaults are derived, not written after render (pingdotgg#25706)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(provider): add Vercel fx as a provider (pingdotgg#18277)

Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): usage chart bars round at the top instead of the bottom (pingdotgg#21383)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): a draft route's branch checkout runs once, even across a reconnect (pingdotgg#25712)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): thread details popover closes when the card moves inline (pingdotgg#25731)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(web): diff and file reveals are requests, and workspace edits refetch by construction (pingdotgg#25732)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(web): Add provider leads with first-class providers (pingdotgg#25753)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(mobile): app-lifetime services install once, and the usage widget stops re-rendering on every presentation change (pingdotgg#25740)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(client-runtime): searches and refreshes no longer wait on an unreachable environment (pingdotgg#25703)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(web): command palette state lives in a store, git and branch pickers drop timer and sync effects (pingdotgg#25733)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): restore Android chat content corners (pingdotgg#23989)

Co-authored-by: maria-rcks <[email protected]>

* fix(server): agents show trends and comparisons as inline charts again (pingdotgg#25766)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): isolate file tree state by workspace (pingdotgg#24270)

* fix(mobile): finished subagents stay reachable from the Agents pill (pingdotgg#25759)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): keep segmented controls readable on cards and screens (pingdotgg#25729)

* fix(web): cancelling update everything no longer flashes the update button's focus ring and tooltip (pingdotgg#25774)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): lists end at the search field, and HTML previews start below the header (pingdotgg#25765)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(provider-cursor): bump @cursor/sdk to 1.0.38 so long-context tiers send Max Mode (pingdotgg#21074)

Co-authored-by: Julius Marminge <[email protected]>

* fix(server): Sonnet also answers trend and comparison data with inline charts (pingdotgg#25776)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(server): Claude MCP timeouts preserve the native session (pingdotgg#25660)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(server): preserve settled runs during delegated acknowledgements (pingdotgg#25672)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): align the iPad composer with workspace navigation (pingdotgg#24942)

Co-authored-by: maria-rcks <[email protected]>

* chore(evals): store eval cases as .ndjson so review tools skip them (pingdotgg#25782)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* test(server): CI fails when agent context grows past main (pingdotgg#25785)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(mobile): theme preferences reach the native runtime without a layout effect (pingdotgg#25767)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(mobile): the share inbox is a module store, presented from navigation state (pingdotgg#25744)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(web): drop the unreachable paint-only thread timeline path (pingdotgg#25787)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* chore(release): prepare v0.1.3

* refactor(mobile): notifications, quick actions and Connect onboarding navigate through the root ref (pingdotgg#25769)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* test(server): data regression test now fails when recent fetch savings regress (pingdotgg#25795)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(server): all MCP tools now send compact schemas, cutting tool context by 23% (pingdotgg#25790)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(web): the new design is the only design, with no toggle (pingdotgg#25778)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(mobile): add a "Use last project" preference for new threads (pingdotgg#24741)

Co-authored-by: none23 <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): round shared Android sheets and Chat settings (pingdotgg#18547)

* feat(mobile): split wide Android Settings into two panes (pingdotgg#24298)

* fix(web): keep right panel maximize available in narrow windows (pingdotgg#25389)

* fix(server): Macs without Android no longer show avdmanager discovery warnings (pingdotgg#25815)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): onboarding import no longer hangs when the project never arrives (pingdotgg#25805)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): Windows image paths and non-ASCII file links open like desktop (pingdotgg#25802)

Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: amv146 <[email protected]>

* fix(web,mobile): markdown previews no longer show YAML frontmatter as a giant heading (pingdotgg#25804)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): compact toggle shows the token count again (pingdotgg#25818)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(server): preserve interrupted Claude context after revert (pingdotgg#25695)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web,mobile): bot approvals are visible on the PR summary (pingdotgg#25829)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web,mobile): stopped runs no longer look like errors (pingdotgg#25830)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(mobile): share imports run outside the new-task screen (pingdotgg#25793)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(build): TEMPORARY workaround so linux-arm64 builds run on 16/64 KiB page kernels (pingdotgg#25825)

TEMPORARY workaround for an upstream Node bug: nodejs/node#67048
Node 26.9+ --build-sea writes linux-arm64 executables that 16/64 KiB page kernels cannot load.
linux-arm64 now injects with postject, and the archive build rejects incompatible ELF layouts.
One-time exception. Revert once Node ships a fix: grep for the Node issue URL and drop postject
from scripts/package.json.

Fixes pingdotgg#23433. Replaces pingdotgg#23443.

Co-authored-by: Lakshmi Tanmay <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>

* fix(server): preserve completed runs when accepting child deliveries (pingdotgg#25666)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(client-runtime): iOS resume keeps live sockets and drops dead ones 4x faster (pingdotgg#25824)

Co-authored-by: Omar <[email protected]>
Co-authored-by: Carlos D. Escobar-Valbuena <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat: model labels show the name you'd say out loud (pingdotgg#24205)

Co-authored-by: Claude Opus 5.5 (Claude Code) <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>

* chore(review): CodeRabbit reviews tests against docs/internals/testing.md (pingdotgg#24204)

* refactor(mobile): showcase capture readiness is a tested pure model (pingdotgg#25816)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): a held thread move retires when a snooze wakes, even with no list open (pingdotgg#25809)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): switching a file between markdown and the editor no longer saves a draft twice (pingdotgg#25768)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web,mobile): queued messages get a simpler Send now row, no reordering (pingdotgg#25846)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): Add project path survives its host dropping out and returning (pingdotgg#25819)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(mobile): opening Review or Files shows the inspector in the first commit (pingdotgg#25817)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): Diagnostics keeps its own settings sidebar entry

Upstream's settings regrouping made Diagnostics a detail page under
Maintenance, dropping the fork's sidebar entry.

Co-Authored-By: Claude Opus 5.5 <[email protected]>

---------

Signed-off-by: Yordis Prieto <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: Theo Browne <[email protected]>
Co-authored-by: Alex Southwell <[email protected]>
Co-authored-by: Alex <[email protected]>
Co-authored-by: project516 <[email protected]>
Co-authored-by: oliver <[email protected]>
Co-authored-by: Yash Singh <[email protected]>
Co-authored-by: shivam <[email protected]>
Co-authored-by: PR Batch Tester <[email protected]>
Co-authored-by: nibarAhmed <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Yordis Prieto <[email protected]>
Co-authored-by: Bilal Bakr <[email protected]>
Co-authored-by: Andrew Gadzik <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Aditya Vardhan Sharma <[email protected]>
Co-authored-by: gcrft123 <[email protected]>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: none23 <[email protected]>
Co-authored-by: amv146 <[email protected]>
Co-authored-by: Lakshmi Tanmay <[email protected]>
Co-authored-by: Omar <[email protected]>
Co-authored-by: Carlos D. Escobar-Valbuena <[email protected]>
jieyuexing added a commit to jieyuexing/t3code-cn that referenced this pull request Oct 27, 2026
- 46 条新译文:设置页改版(共享与访问、实验功能、维护及各分区标题)、排队消息控件、连接诊断提示
- 7 条忽略:Tailwind 类名、差异渲染 CSS、乐观消息 role 值
- 删除 ComposerPrimaryActions 的 Full 按文件覆盖(上游 pingdotgg#25778 已移除该文案)

Co-Authored-By: Claude Opus 5.5 <[email protected]>
sandscooling pushed a commit to sandscooling/t3code that referenced this pull request Oct 27, 2026
Sync 1027b: 57 upstream commits to 36d4d71. Upstream pingdotgg#25778 makes the
new design the only design; the fork sidebar row keeps its globe on the
new meta line. Upstream pingdotgg#25841 ships the zod dependency, so the README
drops the fork's zod entry.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
astarktc added a commit to astarktc/t3code that referenced this pull request Oct 28, 2026
Show the count as the header accessory like Working, Snoozed and Settled
(pingdotgg#25778), and give the header role="treeitem" and data-sidebar-row so arrow
keys reach it like the other shelf headers (pingdotgg#25877).
ItzJsimp added a commit to ItzJsimp/leonidas-app that referenced this pull request Oct 30, 2026
…black canvas (upstream pingdotgg#24865, pingdotgg#25251, pingdotgg#25323, pingdotgg#25778)

Take the end state of the new design as the only design. Add the Inter
font after the system fonts, set the base radius to 8px so the scale is
4, 6, 8, 12 and 16, and draw icons at a 1.75 stroke. The dark canvas is
now pure black, with a solid sent-message bubble that stands off it.
Splash, theme-color and the desktop window background match. Modified
files use a muted blue and menu rows use neutral hover fills.

Our crimson and cyan tokens stay. No new blue is added.

Release-Note: Make the dark theme pure black, use a thinner icon stroke and the Inter font on Windows
ItzJsimp added a commit to ItzJsimp/leonidas-app that referenced this pull request Oct 30, 2026
…ook (upstream pingdotgg#24865, pingdotgg#25251, pingdotgg#25321, pingdotgg#25778)

Rows lead with one icon, the machine glyph is larger, and dividers show
only on hover. PR titles wrap to two lines and checks read 33/34 checks.
Merge and Ready are a solid pill in the app accent, Fix and Resolve a
red-tinted pill. Empty drafts hide Push and a zero Changes row.
The Show more row gets a chevron. The editor icon is muted, no box.

Release-Note: Make the thread details panel calmer, with wrapped pull request titles and clearer action buttons
ItzJsimp added a commit to ItzJsimp/leonidas-app that referenced this pull request Oct 30, 2026
…hevrons turn gray (upstream pingdotgg#25251, pingdotgg#25778)

A narrow toolbar shows the target branch and a short vs label for the
head. The copy-path button shows only on file hover or focus. Collapse
chevrons use the muted color. The unused collapse-icon helper is removed.

Release-Note: Make the Changes panel quieter, with copy-path on hover and a narrow toolbar
ItzJsimp added a commit to ItzJsimp/leonidas-app that referenced this pull request Oct 30, 2026
…ables are 14px (upstream pingdotgg#25251, pingdotgg#25778)

On wide windows the chat centers between the sidebar and the details
card, with a shift that eases to zero so a resize never jumps it. Chat
text is 90%. Markdown tables are 14px and wrap cells with pretty
wrapping. Bring back and Mark as not done read as actions.

Release-Note: Center the chat beside the details card on wide windows, with larger tables
ItzJsimp added a commit to ItzJsimp/leonidas-app that referenced this pull request Oct 30, 2026
…pingdotgg#24865, pingdotgg#25251)

Hand-ported the sidebar parts onto our Sidebar, using upstream's final
classes after pingdotgg#25778 (no redesign toggle in our fork).
- Shelf headers show a muted trailing count, open or closed. No blue
  Snoozed tone. The rule hides next to a count. Closed chevron points right.
- Snoozed rows show a clock before the wake time. Shelf rows drop the
  PR number so the title has room.
- Card rows drop an empty meta line and show the provider icon inline.
- Active and selected rows get a light-mode ring. Status colors use the
  foreground tokens. Receding titles brighten on hover.
- Search field shows a focus ring. Show more uses a chevron, not a plus.
Kept: our Archive label and our activity line.
immakermatty added a commit to Lazurio/t3code that referenced this pull request Oct 30, 2026
Root decision 0200, point 4: in the standard look the web client takes the
design system's colours, type and radii from the --lz-* tokens the
Environment's shell declares (LazurioPlatform F36). One file,
apps/web/src/lazurio/theme.css, imported right after index.css in main.tsx;
without the shell nothing matches.

On v0.1.3 the row applies cleanly. main.tsx now imports the Inter font before
index.css, and the theme import still follows index.css directly. index.css
(pingdotgg#25323, pingdotgg#25251, pingdotgg#24865 and others) removed no token the file maps; it added
guest and diff-icon tokens, which stay T3's. The default "New design"
(pingdotgg#24865) maps none of these tokens in light mode; its dark-mode surfaces stay
T3's, to be checked on canary for Environment themes with a dark variant.

On v0.1.4: upstream's single design (pingdotgg#25778) no longer reads --update-surface, so the mapping is gone.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
immakermatty added a commit to Lazurio/t3code that referenced this pull request Oct 30, 2026
Root decision 0200, point 4: in the standard look the web client takes the
design system's colours, type and radii from the --lz-* tokens the
Environment's shell declares (LazurioPlatform F36). One file,
apps/web/src/lazurio/theme.css, imported right after index.css in main.tsx;
without the shell nothing matches.

On v0.1.3 the row applies cleanly. main.tsx now imports the Inter font before
index.css, and the theme import still follows index.css directly. index.css
(pingdotgg#25323, pingdotgg#25251, pingdotgg#24865 and others) removed no token the file maps; it added
guest and diff-icon tokens, which stay T3's. The default "New design"
(pingdotgg#24865) maps none of these tokens in light mode; its dark-mode surfaces stay
T3's, to be checked on canary for Environment themes with a dark variant.

On v0.1.4: upstream's single design (pingdotgg#25778) no longer reads --update-surface, so the mapping is gone.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
immakermatty added a commit to Lazurio/t3code that referenced this pull request Oct 30, 2026
Root decision 0200, point 4: in the standard look the web client takes the
design system's colours, type and radii from the --lz-* tokens the
Environment's shell declares (LazurioPlatform F36). One file,
apps/web/src/lazurio/theme.css, imported right after index.css in main.tsx;
without the shell nothing matches.

On v0.1.3 the row applies cleanly. main.tsx now imports the Inter font before
index.css, and the theme import still follows index.css directly. index.css
(pingdotgg#25323, pingdotgg#25251, pingdotgg#24865 and others) removed no token the file maps; it added
guest and diff-icon tokens, which stay T3's. The default "New design"
(pingdotgg#24865) maps none of these tokens in light mode; its dark-mode surfaces stay
T3's, to be checked on canary for Environment themes with a dark variant.

On v0.1.4: upstream removed the unused --update-surface token (pingdotgg#26238), so
the mapping is gone; pingdotgg#25778 made the new design the only one.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
immakermatty added a commit to Lazurio/t3code that referenced this pull request Oct 30, 2026
Root decision 0200, point 4: in the standard look the web client takes the
design system's colours, type and radii from the --lz-* tokens the
Environment's shell declares (LazurioPlatform F36). One file,
apps/web/src/lazurio/theme.css, imported right after index.css in main.tsx;
without the shell nothing matches.

On v0.1.3 the row applies cleanly. main.tsx now imports the Inter font before
index.css, and the theme import still follows index.css directly. index.css
(pingdotgg#25323, pingdotgg#25251, pingdotgg#24865 and others) removed no token the file maps; it added
guest and diff-icon tokens, which stay T3's. The default "New design"
(pingdotgg#24865) maps none of these tokens in light mode; its dark-mode surfaces stay
T3's, to be checked on canary for Environment themes with a dark variant.

On v0.1.4: upstream removed the unused --update-surface token (pingdotgg#26238), so
the mapping is gone; pingdotgg#25778 made the new design the only one.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
immakermatty added a commit to Lazurio/t3code that referenced this pull request Oct 31, 2026
Root decision 0200, point 4: in the standard look the web client takes the
design system's colours, type and radii from the --lz-* tokens the
Environment's shell declares (LazurioPlatform F36). One file,
apps/web/src/lazurio/theme.css, imported right after index.css in main.tsx;
without the shell nothing matches.

On v0.1.3 the row applies cleanly. main.tsx now imports the Inter font before
index.css, and the theme import still follows index.css directly. index.css
(pingdotgg#25323, pingdotgg#25251, pingdotgg#24865 and others) removed no token the file maps; it added
guest and diff-icon tokens, which stay T3's. The default "New design"
(pingdotgg#24865) maps none of these tokens in light mode; its dark-mode surfaces stay
T3's, to be checked on canary for Environment themes with a dark variant.

On v0.1.4: upstream removed the unused --update-surface token (pingdotgg#26238), so
the mapping is gone; pingdotgg#25778 made the new design the only one.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Kevin-SalazarG pushed a commit to Kevin-SalazarG/t3code that referenced this pull request Oct 31, 2026
…de it

Restores the pre-pingdotgg#25778 placement: the chat moves left only as far as it
needs to clear the details card, instead of centering in the lane beside it.

Fixes pingdotgg#25834

Co-authored-by: Claude Opus 5.5 <[email protected]>
(cherry picked from commit e50d585)
immakermatty added a commit to Lazurio/t3code that referenced this pull request Nov 4, 2026
Root decision 0200, point 4: in the standard look the web client takes the
design system's colours, type and radii from the --lz-* tokens the
Environment's shell declares (LazurioPlatform F36). One file,
apps/web/src/lazurio/theme.css, imported right after index.css in main.tsx;
without the shell nothing matches.

On v0.1.3 the row applies cleanly. main.tsx now imports the Inter font before
index.css, and the theme import still follows index.css directly. index.css
(pingdotgg#25323, pingdotgg#25251, pingdotgg#24865 and others) removed no token the file maps; it added
guest and diff-icon tokens, which stay T3's. The default "New design"
(pingdotgg#24865) maps none of these tokens in light mode; its dark-mode surfaces stay
T3's, to be checked on canary for Environment themes with a dark variant.

On v0.1.4: upstream removed the unused --update-surface token (pingdotgg#26238), so
the mapping is gone; pingdotgg#25778 made the new design the only one.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
immakermatty added a commit to Lazurio/t3code that referenced this pull request Nov 5, 2026
Root decision 0200, point 4: in the standard look the web client takes the
design system's colours, type and radii from the --lz-* tokens the
Environment's shell declares (LazurioPlatform F36). One file,
apps/web/src/lazurio/theme.css, imported right after index.css in main.tsx;
without the shell nothing matches.

On v0.1.3 the row applies cleanly. main.tsx now imports the Inter font before
index.css, and the theme import still follows index.css directly. index.css
(pingdotgg#25323, pingdotgg#25251, pingdotgg#24865 and others) removed no token the file maps; it added
guest and diff-icon tokens, which stay T3's. The default "New design"
(pingdotgg#24865) maps none of these tokens in light mode; its dark-mode surfaces stay
T3's, to be checked on canary for Environment themes with a dark variant.

On v0.1.4: upstream removed the unused --update-surface token (pingdotgg#26238), so
the mapping is gone; pingdotgg#25778 made the new design the only one.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
immakermatty added a commit to Lazurio/t3code that referenced this pull request Nov 5, 2026
Root decision 0200, point 4: in the standard look the web client takes the
design system's colours, type and radii from the --lz-* tokens the
Environment's shell declares (LazurioPlatform F36). One file,
apps/web/src/lazurio/theme.css, imported right after index.css in main.tsx;
without the shell nothing matches.

On v0.1.3 the row applies cleanly. main.tsx now imports the Inter font before
index.css, and the theme import still follows index.css directly. index.css
(pingdotgg#25323, pingdotgg#25251, pingdotgg#24865 and others) removed no token the file maps; it added
guest and diff-icon tokens, which stay T3's. The default "New design"
(pingdotgg#24865) maps none of these tokens in light mode; its dark-mode surfaces stay
T3's, to be checked on canary for Environment themes with a dark variant.

On v0.1.4: upstream removed the unused --update-surface token (pingdotgg#26238), so
the mapping is gone; pingdotgg#25778 made the new design the only one.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
immakermatty added a commit to Lazurio/t3code that referenced this pull request Nov 5, 2026
Root decision 0200, point 4: in the standard look the web client takes the
design system's colours, type and radii from the --lz-* tokens the
Environment's shell declares (LazurioPlatform F36). One file,
apps/web/src/lazurio/theme.css, imported right after index.css in main.tsx;
without the shell nothing matches.

On v0.1.3 the row applies cleanly. main.tsx now imports the Inter font before
index.css, and the theme import still follows index.css directly. index.css
(pingdotgg#25323, pingdotgg#25251, pingdotgg#24865 and others) removed no token the file maps; it added
guest and diff-icon tokens, which stay T3's. The default "New design"
(pingdotgg#24865) maps none of these tokens in light mode; its dark-mode surfaces stay
T3's, to be checked on canary for Environment themes with a dark variant.

On v0.1.4: upstream removed the unused --update-surface token (pingdotgg#26238), so
the mapping is gone; pingdotgg#25778 made the new design the only one.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
immakermatty added a commit to Lazurio/t3code that referenced this pull request Nov 5, 2026
Root decision 0200, point 4: in the standard look the web client takes the
design system's colours, type and radii from the --lz-* tokens the
Environment's shell declares (LazurioPlatform F36). One file,
apps/web/src/lazurio/theme.css, imported right after index.css in main.tsx;
without the shell nothing matches.

On v0.1.3 the row applies cleanly. main.tsx now imports the Inter font before
index.css, and the theme import still follows index.css directly. index.css
(pingdotgg#25323, pingdotgg#25251, pingdotgg#24865 and others) removed no token the file maps; it added
guest and diff-icon tokens, which stay T3's. The default "New design"
(pingdotgg#24865) maps none of these tokens in light mode; its dark-mode surfaces stay
T3's, to be checked on canary for Environment themes with a dark variant.

On v0.1.4: upstream removed the unused --update-surface token (pingdotgg#26238), so
the mapping is gone; pingdotgg#25778 made the new design the only one.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
immakermatty added a commit to Lazurio/t3code that referenced this pull request Nov 5, 2026
Root decision 0200, point 4: in the standard look the web client takes the
design system's colours, type and radii from the --lz-* tokens the
Environment's shell declares (LazurioPlatform F36). One file,
apps/web/src/lazurio/theme.css, imported right after index.css in main.tsx;
without the shell nothing matches.

On v0.1.3 the row applies cleanly. main.tsx now imports the Inter font before
index.css, and the theme import still follows index.css directly. index.css
(pingdotgg#25323, pingdotgg#25251, pingdotgg#24865 and others) removed no token the file maps; it added
guest and diff-icon tokens, which stay T3's. The default "New design"
(pingdotgg#24865) maps none of these tokens in light mode; its dark-mode surfaces stay
T3's, to be checked on canary for Environment themes with a dark variant.

On v0.1.4: upstream removed the unused --update-surface token (pingdotgg#26238), so
the mapping is gone; pingdotgg#25778 made the new design the only one.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
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 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