Skip to content

test(web): settings tests run in a real browser - #20872

Merged
juliusmarminge merged 1 commit into
mainfrom
test/settings-browser-tests
Oct 17, 2026
Merged

juliusmarminge merged 1 commit into
mainfrom
test/settings-browser-tests

Conversation

@juliusmarminge

@juliusmarminge juliusmarminge commented Oct 17, 2026 •

Copy link
Copy Markdown
Member

Part of moving web tests that render React onto the Vitest browser project (#20797), so they run in Chromium with the React Compiler on. This PR covers the components/settings group. It removes every react-test-renderer and renderToStaticMarkup use there and drops tests that only checked markup.

Converted tests mount real components with react-dom/client and drive them with userEvent (typing, keyboard, clicks) or real DOM pointer/input events. Mocks are built from the real module (vi.mock(import(...), async (original) => ({ ...(await original()), ... }))) and replace only data/RPC boundaries: atom commands, the environment and project lists, session grants, and the local API. The old tests stubbed real UI primitives (Input, Button, Popover, Tooltip, Menu, Select, settingsLayout); those stubs are gone.

Per file (paths under apps/web/src/components)

File Result Why
settings/colorPickers.test.tsx converted → colorPickers.browser.test.tsx Opens the real popover and drives the hue slider, saturation/brightness ranges and plane with keyboard and pointer events. Covers rAF batching, flush on release/cancel/unmount, debounce, and the grey-echo hue fix. The old version stubbed rAF, Popover and Tooltip.
settings/SecretInput.test.tsx converted → SecretInput.browser.test.tsx Types into the real password input. A configured secret survives an empty edit, a replacement commits on blur/Enter, and a draft survives a settings refresh.
settings/TelemetryExportSettings.test.tsx converted → TelemetryExportSettings.browser.test.tsx Types into the real fields and clicks Save. Once the user restores a field, it is not resent over another client's change. The test also checks the saved message.
settings/useProjectScriptSettings.test.tsx converted → useProjectScriptSettings.browser.test.tsx Hook behaviour (save and remove action shortcuts) now runs in the browser. Mocks spread from the real modules.
settings/settingsLayout.test.tsx partly deleted, partly converted → settingsLayout.browser.test.tsx Deleted the SettingsUnavailableGroup case, which only asserted class names. The scrollToSettingsTarget cases used to stub document/window with fakes. They now run against real elements: header scroll, focus, the pulse restarting and clearing on blur, reduced motion, and a missing target.
settings/ProjectIconPickerDialog.test.tsx deleted static-markup test, replaced → ProjectIconPickerDialog.browser.test.tsx The old test only checked markup order and attributes. The new one searches for and picks an icon, then saves it in the project's derived color. It also checks that a monogram with invalid letters can't be saved and a valid one can.
settings/ProjectSettingsPanel.test.tsx converted → ProjectSettingsPanel.browser.test.tsx All 10 permission cases run against the real panel inside a router and the app atom registry. Session grants flow through real atoms. Rename uses fill + Enter, removal uses real clicks, and a grant revoked mid-edit is covered. The old version replaced ~15 UI modules with string tags and called onBlur props directly.
settings/ProviderInstanceCard.test.ts kept in node, rendering moved → ProviderInstanceCard.browser.test.tsx The pure helpers (deriveProviderModelsForDisplay, the env-var helpers) stay in node. The two renderToStaticMarkup cases became browser tests: the email starts hidden, a click reveals it and another hides it, and a failed-probe message shows in both list and editor mode.
settings/IntegrationsSettings.test.tsx converted / moved / partly deleted The "no browser-profile scan on entering or revisiting settings" check is now IntegrationsSettings.browser.test.tsx and mounts the real panel. The device-setup guidance cases were pure logic, so they moved to node as device/DeviceSetup.test.ts. Deleted the "devices section after browser section" case, which only asserted markup order.
settings/settingsScopeNavigation.test.ts kept Pure router/search logic; no React rendering.

Totals over the 10 files: 1 deleted and replaced with a behaviour test (ProjectIconPickerDialog), 7 converted (settingsLayout and IntegrationsSettings also dropped their markup-only cases), 2 kept in node (ProviderInstanceCard.test.ts trimmed, settingsScopeNavigation.test.ts untouched). One new node file, device/DeviceSetup.test.ts, holds the logic tests moved out of IntegrationsSettings.

Notes

  • No app code changed. No bugs found.
  • The draft store is a boundary that can't be mocked from its original module: vi.mock(import("~/composerDraftStore"), …original…) hangs the browser test import (likely an import cycle). The panel test uses the real store and overrides one action with setState.
  • Clicks inside ProjectIconPickerDialog use DOM .click() because browser tests load no app CSS, so the modal's inert backdrop covers the unstyled popup for Playwright pointer clicks.
  • Local runs on a shared machine can fail with Port 63315 is already in use when another vitest browser run holds Vitest's default browser port. --api.port on the CLI doesn't reach the browser project's port. This doesn't affect CI.

Verified: vp test run --project browser on the 9 settings browser files (34 tests; colorPickers run 3×), vp test run --project unit on components/settings + components/device (597 tests), scoped vp lint, and the apps/web typecheck.

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added the vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. label Oct 17, 2026
@juliusmarminge juliusmarminge added the macroscope-review Opt PRs made by unvouched contributors in for Macroscope review. Vouched contributors auto-reviews label Oct 17, 2026
@github-actions github-actions Bot added the size:XXL 1,000+ changed lines (additions + deletions). label Oct 17, 2026
@macroscopeapp

macroscopeapp Bot commented Oct 17, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at 7c5d603

Macroscope's review found this PR approvable — This PR only migrates settings coverage to real-browser test harnesses and removes obsolete renderer-based tests; all changed files are confined to ignored test paths. It does not change product behavior, defaults, production configuration, or static-analysis policy.

Notes:

  • No code objects were reviewed. Approvability was decided on eligibility alone.

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

@juliusmarminge
juliusmarminge merged commit 476a010 into main Oct 17, 2026
31 of 33 checks passed
@juliusmarminge
juliusmarminge deleted the test/settings-browser-tests branch October 17, 2026 09:51
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Oct 17, 2026
## What's Changed
* fix(mobile): align iOS segmented controls with action colors by @juliusmarminge in pingdotgg/t3code#20721
* perf(web): the pull requests page compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20539
* perf(web): the legacy sidebar compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20640
* perf(client): a repository identity refresh keeps unchanged projects identical by @juliusmarminge in pingdotgg/t3code#20730
* perf(web): the new-thread handler keeps its identity across provider pushes by @juliusmarminge in pingdotgg/t3code#20731
* perf(web): the linked pull requests panel compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20723
* perf(web): pull request markdown compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20722
* perf(web): the pull request label and reviewer pickers compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20719
* perf(web): the usage state hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20718
* perf(web): the pull request guide tab compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20716
* perf(web): the shell command block compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20714
* perf(web): the composer draft store compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20713
* perf(web): the hosted prompt link landing compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20712
* perf(web): the model picker compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20711
* perf(web): the pull request state hooks compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20710
* perf(web): discovered local servers compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20708
* perf(web): the proposed plan card compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20707
* perf(web): the pull request link hooks compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20705
* perf(web): the preview mini player compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20704
* perf(web): file entry icons compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20703
* perf(web): toasts compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20702
* perf(web): the thread action menu hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20701
* perf(web): the new thread hooks compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20699
* perf(web): the open-in picker compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20698
* perf(web): the file save coordinator compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20697
* perf(web): the combobox compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20696
* perf(web): the usage provider chart compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20695
* perf(web): the usage model dialog compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20694
* perf(web): update everything compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20693
* perf(web): the file preview panel compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20692
* perf(web): the MCP app frame compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20691
* perf(web): main app navigation compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20690
* perf(web): project file queries compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20689
* perf(web): the HTML render frame compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20688
* perf(web): the sidebar update capsule compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20687
* perf(web): the terminal session hooks compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20686
* perf(web): the project file picker compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20685
* perf(web): the sidebar chrome compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20684
* perf(web): the file context menu hooks compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20683
* perf(web): the snapshot shortcut recorder compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20682
* perf(web): the pull request linking hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20681
* perf(web): the port discovery hooks compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20636
* perf(web): the new-thread link route compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20597
* perf(web): the Electron browser host compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20548
* perf(web): the CSV table preview compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20680
* perf(web): the thread lineage panel compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20720
* perf(web): the open panel pull request URL hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20679
* perf(web): highlighted code tokens compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20678
* perf(web): scoped settings hooks compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20677
* perf(web): the HTML document frame compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20676
* perf(web): the new project hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20675
* perf(web): the scratch project hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20673
* perf(web): the expanded image dialog compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20672
* perf(web): the sidebar project groups hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20671
* perf(web): review file patches compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20670
* perf(web): the draft hero headline compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20669
* perf(web): settings project groups compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20668
* perf(web): the chat route layout compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20667
* perf(web): scoped model availability compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20666
* perf(web): the environment hooks compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20665
* perf(web): the provider settings panel compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20664
* perf(web): the code block language picker compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20663
* perf(web): the right panel tabs compile with the React Compiler by @juliusmarminge in pingdotgg/t3code#20662
* perf(web): settings search availability compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20661
* perf(web): the editor preference hooks compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20660
* perf(web): the code view file reveal hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20659
* perf(web): the command output panel compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20658
* perf(web): the annotatable diff view compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20657
* perf(web): the chat header compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20656
* perf(web): the theme library compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20655
* perf(web): the chat canvas compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20654
* perf(web): useResizableWidth compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20653
* perf(web): device controls compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20652
* perf(web): file breadcrumbs compile with the React Compiler by @juliusmarminge in pingdotgg/t3code#20651
* perf(web): the changed files tree compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20650
* perf(web): the provider update dismissal hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20649
* perf(web): the sidebar primitives compile with the React Compiler by @juliusmarminge in pingdotgg/t3code#20648
* perf(web): the settings layout compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20647
* perf(web): the remote open hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20646
* perf(web): usePreviewBridge compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20644
* perf(web): the citation chip compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20643
* perf(web): useHtmlRenderTheme compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20642
* perf(web): project content search compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20641
* perf(web): the agent connect surface compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20639
* perf(web): the theme editor host compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20638
* perf(web): the first-run gate compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20637
* perf(web): the settings scope context compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20635
* perf(web): the worktree base branch picker compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20634
* perf(web): the project file scripts hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20632
* perf(web): the diff file tree compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20631
* perf(web): thread status indicators compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20630
* perf(web): useMediaQuery compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20629
* perf(web): the source control settings compile with the React Compiler by @juliusmarminge in pingdotgg/t3code#20628
* perf(web): scheduled task settings compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20627
* perf(web): the remove-cloned-project hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20626
* perf(web): resource telemetry diagnostics compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20625
* perf(web): the archived threads hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20624
* perf(web): the Connect onboarding dialog compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20622
* perf(web): redacted sensitive text compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20621
* perf(web): the pull request stack hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20620
* perf(web): the resource telemetry hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20619
* perf(web): the provider settings form compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20618
* perf(web): the provider models section compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20617
* perf(web): the CLI authorize surface compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20616
* perf(web): the pull request thread dialog compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20615
* perf(web): the assistant citation target hook compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20614
* perf(web): the device state hooks compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20613
* perf(web): the provider accent color picker compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20612
* perf(web): the T3 Connect account pages hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20611
* perf(web): the session scope hooks compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20610
* perf(web): the provider update notification compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20609
* perf(web): the open-source notices panel compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20608
* perf(web): the project icon picker compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20607
* perf(web): the project scans hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20606
* perf(web): the thread context drop hook compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20605
* perf(web): the local provider update groups compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20604
* perf(web): thread find navigation compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20603
* perf(web): the font previews compile with the React Compiler by @juliusmarminge in pingdotgg/t3code#20601
* perf(web): project actions settings compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20602
* perf(web): the thread find bar compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20600
* perf(web): the project scripts control compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20599
* perf(web): keybindings settings compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20598
* perf(web): the model picker sidebar compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20596
* perf(web): the composer path search hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20595
* perf(web): the font picker compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20594
* perf(web): the project clone toasts compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20593
* perf(web): the pending user input panel compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20592
* perf(web): useTurnDiffSummaries compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20591
* perf(web): the provider update pill compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20590
* perf(web): the no-projects hero compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20589
* perf(web): useActiveThreadRef compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20588
* perf(web): the custom model editor compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20586
* perf(web): the root route compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20585
* perf(web): the diff worker pool provider compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20584
* perf(web): the CLI command settings row compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20583
* perf(web): the composer banner stack compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20582
* perf(web): the primary session state hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20581
* perf(web): the index route compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20580
* perf(web): the command palette results compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20579
* perf(web): the add provider dialog compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20578
* perf(web): useOrchestrationCommand compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20576
* perf(web): the environment selector compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20575
* perf(web): default theme adoption compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20574
* perf(web): useAtomQueryRunner compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20573
* perf(web): the env mode selector compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20572
* perf(web): highlighted search lines compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20571
* perf(web): the server update banner compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20570
* perf(web): the app sidebar layout compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20569
* perf(web): useAtomCommand compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20568
* perf(web): the branch toolbar selector compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20567
* perf(web): the composer state hooks compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20566
* perf(web): the escape-to-go-back hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20564
* perf(web): the guide tour compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20563
* perf(web): the onboarding completion hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20561
* perf(web): the guide stop compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20560
* perf(web): the prompt link page compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20559
* perf(web): the hosted browser webview compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20558
* perf(web): the branch picker compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20557
* perf(web): useStableCallback compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20556
* perf(web): the find reveal ref compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20555
* perf(web): the primary cloud link hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20554
* perf(web): the project action editor resets its form without an effect by @juliusmarminge in pingdotgg/t3code#20550
* perf(web): the zoomable image compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20549
* perf(web): the PR guide diff loader compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20543
* perf(web): the traits picker compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20540
* perf(web): the managed relay hooks compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20552
* perf(web): the guide excerpt compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20553
* perf(web): AnimatedHeight compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20562
* perf(web): the browser favicon store compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20546
* perf(web): the browser surface slot compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20542
* perf(web): the link opener hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20541
* perf(web): the guide file diff compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20544
* perf(web): the settings sidebar compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20623
* perf(web): Codex setup compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20674
* perf(web): chat markdown compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20715
* perf(web): the device stream view compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20645
* perf(web): the load-balancing hook compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20565
* fix(web): settings search keeps the clamped highlight when results shrink by @juliusmarminge in pingdotgg/t3code#20764
* perf(web): the provider update launch notification compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20577
* perf(web): the model picker compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20706
* feat(web): step reasoning effort from the keyboard by @Bil0000 in pingdotgg/t3code#19928
* perf(web): the item inspector compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20545
* fix(mobile): dev pairing link no longer opens Home inside a sheet by @PixPMusic in pingdotgg/t3code#20130
* fix(server): webhook request values reach the agent marked as request data by @juliusmarminge in pingdotgg/t3code#20447
* refactor(client-runtime): decide learned routes and session reuse in one place by @juliusmarminge in pingdotgg/t3code#20445
* refactor(web): thread find compiles under the strict React Compiler rules by @juliusmarminge in pingdotgg/t3code#20772
* test(web): chat markdown, timeline, and diff reveal tests pass the strict compiler rules by @juliusmarminge in pingdotgg/t3code#20770
* perf(web): Git actions control compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20777
* refactor(web): the theme search section compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20778
* fix(server): keep sensitive values out of settings reads, startup logs and preview snapshots by @juliusmarminge in pingdotgg/t3code#20446
* refactor(web): the thread pull requests panel keeps its caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20740
* refactor(web): scoped settings stay cached without "use memo" by @juliusmarminge in pingdotgg/t3code#20767
* refactor(web): settings search items stay cached without "use memo" by @juliusmarminge in pingdotgg/t3code#20771
* refactor(web): the file browser keeps its caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20784
* refactor(web): the pull request stack hook keeps its caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20741
* refactor(web): the pull request thread dialog keeps its caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20742
* refactor(web): the MCP app frame keeps its caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20759
* refactor(web): the changed files tree keeps its caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20766
* refactor(web): sidebar resize options stay cached without "use memo" by @juliusmarminge in pingdotgg/t3code#20776
* refactor(web): paginated branches keep their caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20743
* refactor(web): pull request markdown keeps its caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20744
* refactor(web): the pull request detail panel keeps its caching with fewer "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20761
* refactor(web): the open panel pull request URL keeps its caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20768
* refactor(web): the command output panel keeps its caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20763
* fix(client-runtime): the agents pill counts background agents from earlier turns by @juliusmarminge in pingdotgg/t3code#20785
* refactor(web): the diff panel keeps its caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20745
* refactor(web): the composer builds model options without a "use memo" hook by @juliusmarminge in pingdotgg/t3code#20780
* refactor(web): the preview bridge keeps its stable thread ref without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20746
* refactor(web): the pull request code tab keeps its caching with one "use memo" hook by @juliusmarminge in pingdotgg/t3code#20773
* refactor(web): provider models keep their caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20775
* refactor(web): the thread lineage panel keeps its caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20789
* refactor(web): the attachment preview keeps its caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20757
* refactor(web): the pending user input panel keeps its caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20762
* refactor(web): the queued runs control keeps its caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20779
* refactor(web): the open-in picker keeps its caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20758
* refactor(web): highlighted tokens keep their caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20760
* refactor(web): merged settings stay cached without "use memo" by @juliusmarminge in pingdotgg/t3code#20765
* fix(server): a running Claude workflow member shows its answer so far by @juliusmarminge in pingdotgg/t3code#20786
* refactor(web): the keybindings panel keeps its caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20782
* refactor(web): linked pull request status keeps its caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20781
* refactor(web): the new-thread hook keeps its caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20769
* refactor(web): review file patches keep their caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20788
* chore(web): React compiler rules apply to every web file by @juliusmarminge in pingdotgg/t3code#20791
* refactor(server): resolve project and worktree folders in one place by @juliusmarminge in pingdotgg/t3code#20449
* refactor(server): route git config through one env helper and end option parsing before names by @juliusmarminge in pingdotgg/t3code#20440
* test(web): React tests run compiled in a real browser by @juliusmarminge in pingdotgg/t3code#20797
* fix(android): menu icons take taps by @juliusmarminge in pingdotgg/t3code#20802
* fix(android): a composer focused through an app switch stays above the keyboard by @juliusmarminge in pingdotgg/t3code#20803
* refactor(web): the usage chart keeps its caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20792
* refactor(web): pull request detail keeps its caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20811
* refactor(web): the legacy sidebar keeps its caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20793
* refactor(web): turn diff summaries keep their caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20794
* refactor(web): the pull requests page keeps its caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20820
* refactor(web): the terminal drawer keeps its caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20799
* refactor(web): the model picker keeps its caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20815
* refactor(web): pull request code tab keeps its caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20816
* refactor(web): find reveal refs stay cached without "use memo" by @juliusmarminge in pingdotgg/t3code#20818
* refactor(web): the branch selector keeps its caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20822
* refactor(web): the guide excerpt keeps its caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20798
* refactor(web): chat composer keeps its caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20834
* refactor(web): the usage page keeps its caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20807
* refactor(web): the hosted browser webview keeps its caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20824
* refactor(web): the command palette provider lookup keeps its caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20827
* chore(web): lint rejects "use memo" directives by @juliusmarminge in pingdotgg/t3code#20843
* perf(web): relative "checked" labels re-render only when their text changes by @juliusmarminge in pingdotgg/t3code#20819
* perf(web): toggling a client setting no longer re-renders every settings row by @juliusmarminge in pingdotgg/t3code#20830
* perf(web): typing in the ACP registry search no longer re-renders every result row by @juliusmarminge in pingdotgg/t3code#20817
* perf(web): searching keybindings only renders rows entering or leaving the filter by @juliusmarminge in pingdotgg/t3code#20840
* perf(web): unchanged model picker rows skip re-rendering while searching by @juliusmarminge in pingdotgg/t3code#20838
* perf(web): router updates no longer re-render thread route consumers by @juliusmarminge in pingdotgg/t3code#20837
* perf(web): a minute tick no longer re-renders every sidebar thread row by @juliusmarminge in pingdotgg/t3code#20814
* test(web): jsdom-leftovers tests run in a real browser by @juliusmarminge in pingdotgg/t3code#20862
* test(web): hook-harness tests run in a real browser by @juliusmarminge in pingdotgg/t3code#20866
* test(web): misc-b tests run in a real browser by @juliusmarminge in pingdotgg/t3code#20869
* test(web): settings tests run in a real browser by @juliusmarminge in pingdotgg/t3code#20872
* test(web): misc-a tests run in a real browser by @juliusmarminge in pingdotgg/t3code#20868
* test(web): chat tests run in a real browser by @juliusmarminge in pingdotgg/t3code#20870
* test(web): browser tests from different checkouts no longer fight over one port by @juliusmarminge in pingdotgg/t3code#20875
* fix(web): chat view no longer renders twice per update by @juliusmarminge in pingdotgg/t3code#20847
* perf(web): markdown replies no longer re-render on reconnects and config pushes by @juliusmarminge in pingdotgg/t3code#20852
* perf(web): provider status pushes no longer re-render every timeline row by @juliusmarminge in pingdotgg/t3code#20854
* perf(client): a reconnect snapshot keeps unchanged skills and providers identical by @juliusmarminge in pingdotgg/t3code#20855
* perf(web): a client setting write only re-renders readers whose value changed by @juliusmarminge in pingdotgg/t3code#20848
* perf(web): right panel tabs no longer all re-render on unrelated chat updates by @juliusmarminge in pingdotgg/t3code#20853
* perf(web): opening chat and usage dialogs no longer re-renders the whole page by @juliusmarminge in pingdotgg/t3code#20859
* perf(web): typing in form dialogs no longer re-renders the dialog chrome by @juliusmarminge in pingdotgg/t3code#20842
* fix(web): a project action's error belongs to the request that opened it by @juliusmarminge in pingdotgg/t3code#20891
* test(web): the open-in picker test waits for the menu to close by @juliusmarminge in pingdotgg/t3code#20892
* perf(web): opening an image preview no longer re-renders the chat view by @juliusmarminge in pingdotgg/t3code#20845
* perf(web): another thread streaming no longer re-renders the app root and thread panels by @juliusmarminge in pingdotgg/t3code#20823
* perf(client): equal query refetches no longer re-render PR rows by @juliusmarminge in pingdotgg/t3code#20850
* perf(client): provider status pushes no longer re-render environment presentation consumers by @juliusmarminge in pingdotgg/t3code#20821
* perf(web): a provider status push no longer re-renders every provider card and model row by @juliusmarminge in pingdotgg/t3code#20851
* test(web): onboarding and usage tests run in a real browser by @juliusmarminge in pingdotgg/t3code#20902
* test(web): pr-and-diff tests run in a real browser by @juliusmarminge in pingdotgg/t3code#20901
* test(web): chat markdown and timeline tests run in a real browser by @juliusmarminge in pingdotgg/t3code#20905
* test(web): provider, usage and relationship tests run in a real browser by @juliusmarminge in pingdotgg/t3code#20914
* perf(web): the open thread's chat chrome no longer re-renders on every streaming tick by @juliusmarminge in pingdotgg/t3code#20860
* test(web): every React test runs in a real browser by @juliusmarminge in pingdotgg/t3code#20944
* fix(release): release tests install Chromium for the web browser tests by @juliusmarminge in pingdotgg/t3code#20934
* fix(server): drop V1 projections nothing reads after the V2 upgrade by @juliusmarminge in pingdotgg/t3code#20947
* feat(server): t3 doctor can delete the database from before 0.1.0 by @juliusmarminge in pingdotgg/t3code#20948


**Full Changelog**: pingdotgg/t3code@v0.1.1-nightly.20261017.3238...v0.1.1-nightly.20261017.3272

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.1.1-nightly.20261017.3272
github-actions Bot added a commit to davidvanderklay/t3code-flake that referenced this pull request Oct 17, 2026
## What's Changed
* fix(mobile): align iOS segmented controls with action colors by @juliusmarminge in pingdotgg/t3code#20721
* perf(web): the pull requests page compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20539
* perf(web): the legacy sidebar compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20640
* perf(client): a repository identity refresh keeps unchanged projects identical by @juliusmarminge in pingdotgg/t3code#20730
* perf(web): the new-thread handler keeps its identity across provider pushes by @juliusmarminge in pingdotgg/t3code#20731
* perf(web): the linked pull requests panel compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20723
* perf(web): pull request markdown compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20722
* perf(web): the pull request label and reviewer pickers compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20719
* perf(web): the usage state hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20718
* perf(web): the pull request guide tab compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20716
* perf(web): the shell command block compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20714
* perf(web): the composer draft store compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20713
* perf(web): the hosted prompt link landing compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20712
* perf(web): the model picker compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20711
* perf(web): the pull request state hooks compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20710
* perf(web): discovered local servers compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20708
* perf(web): the proposed plan card compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20707
* perf(web): the pull request link hooks compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20705
* perf(web): the preview mini player compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20704
* perf(web): file entry icons compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20703
* perf(web): toasts compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20702
* perf(web): the thread action menu hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20701
* perf(web): the new thread hooks compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20699
* perf(web): the open-in picker compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20698
* perf(web): the file save coordinator compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20697
* perf(web): the combobox compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20696
* perf(web): the usage provider chart compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20695
* perf(web): the usage model dialog compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20694
* perf(web): update everything compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20693
* perf(web): the file preview panel compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20692
* perf(web): the MCP app frame compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20691
* perf(web): main app navigation compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20690
* perf(web): project file queries compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20689
* perf(web): the HTML render frame compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20688
* perf(web): the sidebar update capsule compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20687
* perf(web): the terminal session hooks compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20686
* perf(web): the project file picker compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20685
* perf(web): the sidebar chrome compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20684
* perf(web): the file context menu hooks compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20683
* perf(web): the snapshot shortcut recorder compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20682
* perf(web): the pull request linking hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20681
* perf(web): the port discovery hooks compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20636
* perf(web): the new-thread link route compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20597
* perf(web): the Electron browser host compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20548
* perf(web): the CSV table preview compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20680
* perf(web): the thread lineage panel compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20720
* perf(web): the open panel pull request URL hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20679
* perf(web): highlighted code tokens compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20678
* perf(web): scoped settings hooks compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20677
* perf(web): the HTML document frame compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20676
* perf(web): the new project hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20675
* perf(web): the scratch project hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20673
* perf(web): the expanded image dialog compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20672
* perf(web): the sidebar project groups hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20671
* perf(web): review file patches compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20670
* perf(web): the draft hero headline compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20669
* perf(web): settings project groups compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20668
* perf(web): the chat route layout compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20667
* perf(web): scoped model availability compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20666
* perf(web): the environment hooks compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20665
* perf(web): the provider settings panel compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20664
* perf(web): the code block language picker compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20663
* perf(web): the right panel tabs compile with the React Compiler by @juliusmarminge in pingdotgg/t3code#20662
* perf(web): settings search availability compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20661
* perf(web): the editor preference hooks compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20660
* perf(web): the code view file reveal hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20659
* perf(web): the command output panel compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20658
* perf(web): the annotatable diff view compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20657
* perf(web): the chat header compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20656
* perf(web): the theme library compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20655
* perf(web): the chat canvas compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20654
* perf(web): useResizableWidth compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20653
* perf(web): device controls compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20652
* perf(web): file breadcrumbs compile with the React Compiler by @juliusmarminge in pingdotgg/t3code#20651
* perf(web): the changed files tree compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20650
* perf(web): the provider update dismissal hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20649
* perf(web): the sidebar primitives compile with the React Compiler by @juliusmarminge in pingdotgg/t3code#20648
* perf(web): the settings layout compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20647
* perf(web): the remote open hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20646
* perf(web): usePreviewBridge compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20644
* perf(web): the citation chip compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20643
* perf(web): useHtmlRenderTheme compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20642
* perf(web): project content search compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20641
* perf(web): the agent connect surface compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20639
* perf(web): the theme editor host compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20638
* perf(web): the first-run gate compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20637
* perf(web): the settings scope context compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20635
* perf(web): the worktree base branch picker compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20634
* perf(web): the project file scripts hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20632
* perf(web): the diff file tree compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20631
* perf(web): thread status indicators compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20630
* perf(web): useMediaQuery compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20629
* perf(web): the source control settings compile with the React Compiler by @juliusmarminge in pingdotgg/t3code#20628
* perf(web): scheduled task settings compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20627
* perf(web): the remove-cloned-project hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20626
* perf(web): resource telemetry diagnostics compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20625
* perf(web): the archived threads hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20624
* perf(web): the Connect onboarding dialog compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20622
* perf(web): redacted sensitive text compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20621
* perf(web): the pull request stack hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20620
* perf(web): the resource telemetry hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20619
* perf(web): the provider settings form compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20618
* perf(web): the provider models section compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20617
* perf(web): the CLI authorize surface compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20616
* perf(web): the pull request thread dialog compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20615
* perf(web): the assistant citation target hook compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20614
* perf(web): the device state hooks compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20613
* perf(web): the provider accent color picker compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20612
* perf(web): the T3 Connect account pages hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20611
* perf(web): the session scope hooks compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20610
* perf(web): the provider update notification compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20609
* perf(web): the open-source notices panel compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20608
* perf(web): the project icon picker compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20607
* perf(web): the project scans hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20606
* perf(web): the thread context drop hook compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20605
* perf(web): the local provider update groups compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20604
* perf(web): thread find navigation compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20603
* perf(web): the font previews compile with the React Compiler by @juliusmarminge in pingdotgg/t3code#20601
* perf(web): project actions settings compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20602
* perf(web): the thread find bar compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20600
* perf(web): the project scripts control compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20599
* perf(web): keybindings settings compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20598
* perf(web): the model picker sidebar compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20596
* perf(web): the composer path search hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20595
* perf(web): the font picker compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20594
* perf(web): the project clone toasts compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20593
* perf(web): the pending user input panel compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20592
* perf(web): useTurnDiffSummaries compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20591
* perf(web): the provider update pill compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20590
* perf(web): the no-projects hero compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20589
* perf(web): useActiveThreadRef compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20588
* perf(web): the custom model editor compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20586
* perf(web): the root route compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20585
* perf(web): the diff worker pool provider compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20584
* perf(web): the CLI command settings row compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20583
* perf(web): the composer banner stack compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20582
* perf(web): the primary session state hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20581
* perf(web): the index route compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20580
* perf(web): the command palette results compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20579
* perf(web): the add provider dialog compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20578
* perf(web): useOrchestrationCommand compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20576
* perf(web): the environment selector compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20575
* perf(web): default theme adoption compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20574
* perf(web): useAtomQueryRunner compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20573
* perf(web): the env mode selector compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20572
* perf(web): highlighted search lines compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20571
* perf(web): the server update banner compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20570
* perf(web): the app sidebar layout compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20569
* perf(web): useAtomCommand compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20568
* perf(web): the branch toolbar selector compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20567
* perf(web): the composer state hooks compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20566
* perf(web): the escape-to-go-back hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20564
* perf(web): the guide tour compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20563
* perf(web): the onboarding completion hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20561
* perf(web): the guide stop compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20560
* perf(web): the prompt link page compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20559
* perf(web): the hosted browser webview compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20558
* perf(web): the branch picker compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20557
* perf(web): useStableCallback compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20556
* perf(web): the find reveal ref compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20555
* perf(web): the primary cloud link hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20554
* perf(web): the project action editor resets its form without an effect by @juliusmarminge in pingdotgg/t3code#20550
* perf(web): the zoomable image compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20549
* perf(web): the PR guide diff loader compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20543
* perf(web): the traits picker compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20540
* perf(web): the managed relay hooks compile without manual memoization by @juliusmarminge in pingdotgg/t3code#20552
* perf(web): the guide excerpt compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20553
* perf(web): AnimatedHeight compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20562
* perf(web): the browser favicon store compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20546
* perf(web): the browser surface slot compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20542
* perf(web): the link opener hook compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20541
* perf(web): the guide file diff compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20544
* perf(web): the settings sidebar compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20623
* perf(web): Codex setup compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20674
* perf(web): chat markdown compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20715
* perf(web): the device stream view compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20645
* perf(web): the load-balancing hook compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20565
* fix(web): settings search keeps the clamped highlight when results shrink by @juliusmarminge in pingdotgg/t3code#20764
* perf(web): the provider update launch notification compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20577
* perf(web): the model picker compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20706
* feat(web): step reasoning effort from the keyboard by @Bil0000 in pingdotgg/t3code#19928
* perf(web): the item inspector compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20545
* fix(mobile): dev pairing link no longer opens Home inside a sheet by @PixPMusic in pingdotgg/t3code#20130
* fix(server): webhook request values reach the agent marked as request data by @juliusmarminge in pingdotgg/t3code#20447
* refactor(client-runtime): decide learned routes and session reuse in one place by @juliusmarminge in pingdotgg/t3code#20445
* refactor(web): thread find compiles under the strict React Compiler rules by @juliusmarminge in pingdotgg/t3code#20772
* test(web): chat markdown, timeline, and diff reveal tests pass the strict compiler rules by @juliusmarminge in pingdotgg/t3code#20770
* perf(web): Git actions control compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20777
* refactor(web): the theme search section compiles without manual memoization by @juliusmarminge in pingdotgg/t3code#20778
* fix(server): keep sensitive values out of settings reads, startup logs and preview snapshots by @juliusmarminge in pingdotgg/t3code#20446
* refactor(web): the thread pull requests panel keeps its caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20740
* refactor(web): scoped settings stay cached without "use memo" by @juliusmarminge in pingdotgg/t3code#20767
* refactor(web): settings search items stay cached without "use memo" by @juliusmarminge in pingdotgg/t3code#20771
* refactor(web): the file browser keeps its caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20784
* refactor(web): the pull request stack hook keeps its caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20741
* refactor(web): the pull request thread dialog keeps its caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20742
* refactor(web): the MCP app frame keeps its caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20759
* refactor(web): the changed files tree keeps its caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20766
* refactor(web): sidebar resize options stay cached without "use memo" by @juliusmarminge in pingdotgg/t3code#20776
* refactor(web): paginated branches keep their caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20743
* refactor(web): pull request markdown keeps its caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20744
* refactor(web): the pull request detail panel keeps its caching with fewer "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20761
* refactor(web): the open panel pull request URL keeps its caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20768
* refactor(web): the command output panel keeps its caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20763
* fix(client-runtime): the agents pill counts background agents from earlier turns by @juliusmarminge in pingdotgg/t3code#20785
* refactor(web): the diff panel keeps its caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20745
* refactor(web): the composer builds model options without a "use memo" hook by @juliusmarminge in pingdotgg/t3code#20780
* refactor(web): the preview bridge keeps its stable thread ref without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20746
* refactor(web): the pull request code tab keeps its caching with one "use memo" hook by @juliusmarminge in pingdotgg/t3code#20773
* refactor(web): provider models keep their caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20775
* refactor(web): the thread lineage panel keeps its caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20789
* refactor(web): the attachment preview keeps its caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20757
* refactor(web): the pending user input panel keeps its caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20762
* refactor(web): the queued runs control keeps its caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20779
* refactor(web): the open-in picker keeps its caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20758
* refactor(web): highlighted tokens keep their caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20760
* refactor(web): merged settings stay cached without "use memo" by @juliusmarminge in pingdotgg/t3code#20765
* fix(server): a running Claude workflow member shows its answer so far by @juliusmarminge in pingdotgg/t3code#20786
* refactor(web): the keybindings panel keeps its caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20782
* refactor(web): linked pull request status keeps its caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20781
* refactor(web): the new-thread hook keeps its caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20769
* refactor(web): review file patches keep their caching without "use memo" hooks by @juliusmarminge in pingdotgg/t3code#20788
* chore(web): React compiler rules apply to every web file by @juliusmarminge in pingdotgg/t3code#20791
* refactor(server): resolve project and worktree folders in one place by @juliusmarminge in pingdotgg/t3code#20449
* refactor(server): route git config through one env helper and end option parsing before names by @juliusmarminge in pingdotgg/t3code#20440
* test(web): React tests run compiled in a real browser by @juliusmarminge in pingdotgg/t3code#20797
* fix(android): menu icons take taps by @juliusmarminge in pingdotgg/t3code#20802
* fix(android): a composer focused through an app switch stays above the keyboard by @juliusmarminge in pingdotgg/t3code#20803
* refactor(web): the usage chart keeps its caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20792
* refactor(web): pull request detail keeps its caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20811
* refactor(web): the legacy sidebar keeps its caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20793
* refactor(web): turn diff summaries keep their caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20794
* refactor(web): the pull requests page keeps its caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20820
* refactor(web): the terminal drawer keeps its caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20799
* refactor(web): the model picker keeps its caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20815
* refactor(web): pull request code tab keeps its caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20816
* refactor(web): find reveal refs stay cached without "use memo" by @juliusmarminge in pingdotgg/t3code#20818
* refactor(web): the branch selector keeps its caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20822
* refactor(web): the guide excerpt keeps its caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20798
* refactor(web): chat composer keeps its caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20834
* refactor(web): the usage page keeps its caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20807
* refactor(web): the hosted browser webview keeps its caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20824
* refactor(web): the command palette provider lookup keeps its caching without "use memo" by @juliusmarminge in pingdotgg/t3code#20827
* chore(web): lint rejects "use memo" directives by @juliusmarminge in pingdotgg/t3code#20843
* perf(web): relative "checked" labels re-render only when their text changes by @juliusmarminge in pingdotgg/t3code#20819
* perf(web): toggling a client setting no longer re-renders every settings row by @juliusmarminge in pingdotgg/t3code#20830
* perf(web): typing in the ACP registry search no longer re-renders every result row by @juliusmarminge in pingdotgg/t3code#20817
* perf(web): searching keybindings only renders rows entering or leaving the filter by @juliusmarminge in pingdotgg/t3code#20840
* perf(web): unchanged model picker rows skip re-rendering while searching by @juliusmarminge in pingdotgg/t3code#20838
* perf(web): router updates no longer re-render thread route consumers by @juliusmarminge in pingdotgg/t3code#20837
* perf(web): a minute tick no longer re-renders every sidebar thread row by @juliusmarminge in pingdotgg/t3code#20814
* test(web): jsdom-leftovers tests run in a real browser by @juliusmarminge in pingdotgg/t3code#20862
* test(web): hook-harness tests run in a real browser by @juliusmarminge in pingdotgg/t3code#20866
* test(web): misc-b tests run in a real browser by @juliusmarminge in pingdotgg/t3code#20869
* test(web): settings tests run in a real browser by @juliusmarminge in pingdotgg/t3code#20872
* test(web): misc-a tests run in a real browser by @juliusmarminge in pingdotgg/t3code#20868
* test(web): chat tests run in a real browser by @juliusmarminge in pingdotgg/t3code#20870
* test(web): browser tests from different checkouts no longer fight over one port by @juliusmarminge in pingdotgg/t3code#20875
* fix(web): chat view no longer renders twice per update by @juliusmarminge in pingdotgg/t3code#20847
* perf(web): markdown replies no longer re-render on reconnects and config pushes by @juliusmarminge in pingdotgg/t3code#20852
* perf(web): provider status pushes no longer re-render every timeline row by @juliusmarminge in pingdotgg/t3code#20854
* perf(client): a reconnect snapshot keeps unchanged skills and providers identical by @juliusmarminge in pingdotgg/t3code#20855
* perf(web): a client setting write only re-renders readers whose value changed by @juliusmarminge in pingdotgg/t3code#20848
* perf(web): right panel tabs no longer all re-render on unrelated chat updates by @juliusmarminge in pingdotgg/t3code#20853
* perf(web): opening chat and usage dialogs no longer re-renders the whole page by @juliusmarminge in pingdotgg/t3code#20859
* perf(web): typing in form dialogs no longer re-renders the dialog chrome by @juliusmarminge in pingdotgg/t3code#20842
* fix(web): a project action's error belongs to the request that opened it by @juliusmarminge in pingdotgg/t3code#20891
* test(web): the open-in picker test waits for the menu to close by @juliusmarminge in pingdotgg/t3code#20892
* perf(web): opening an image preview no longer re-renders the chat view by @juliusmarminge in pingdotgg/t3code#20845
* perf(web): another thread streaming no longer re-renders the app root and thread panels by @juliusmarminge in pingdotgg/t3code#20823
* perf(client): equal query refetches no longer re-render PR rows by @juliusmarminge in pingdotgg/t3code#20850
* perf(client): provider status pushes no longer re-render environment presentation consumers by @juliusmarminge in pingdotgg/t3code#20821
* perf(web): a provider status push no longer re-renders every provider card and model row by @juliusmarminge in pingdotgg/t3code#20851
* test(web): onboarding and usage tests run in a real browser by @juliusmarminge in pingdotgg/t3code#20902
* test(web): pr-and-diff tests run in a real browser by @juliusmarminge in pingdotgg/t3code#20901
* test(web): chat markdown and timeline tests run in a real browser by @juliusmarminge in pingdotgg/t3code#20905
* test(web): provider, usage and relationship tests run in a real browser by @juliusmarminge in pingdotgg/t3code#20914
* perf(web): the open thread's chat chrome no longer re-renders on every streaming tick by @juliusmarminge in pingdotgg/t3code#20860
* test(web): every React test runs in a real browser by @juliusmarminge in pingdotgg/t3code#20944
* fix(release): release tests install Chromium for the web browser tests by @juliusmarminge in pingdotgg/t3code#20934
* fix(server): drop V1 projections nothing reads after the V2 upgrade by @juliusmarminge in pingdotgg/t3code#20947
* feat(server): t3 doctor can delete the database from before 0.1.0 by @juliusmarminge in pingdotgg/t3code#20948


**Full Changelog**: pingdotgg/t3code@v0.1.1-nightly.20261017.3238...v0.1.1-nightly.20261017.3272

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.1.1-nightly.20261017.3272
htoorannysaurus pushed a commit to htoorannysaurus/t3code that referenced this pull request Oct 17, 2026
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

macroscope-review Opt PRs made by unvouched contributors in for Macroscope review. Vouched contributors auto-reviews size:XXL 1,000+ 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