Skip to content

feat(web): add maria's sidebar header artwork toggle - #4652

Merged
juliusmarminge merged 5 commits into
pingdotgg:mainfrom
maxktz:feat/marias-header-toggle
Jul 28, 2026
Merged

feat(web): add maria's sidebar header artwork toggle#4652
juliusmarminge merged 5 commits into
pingdotgg:mainfrom
maxktz:feat/marias-header-toggle

Conversation

@maxktz

@maxktz maxktz commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

What Changed

Adds a setting to hide the Dev / Nightly sidebar header artwork + chat button customization.
Setting is only visible on Dev / Nightly env.
The artwork remains enabled by default.

Why

Lets users opt out of the decorative header artwork.

Also sometimes it's important to see how app will look in prod.

UI Changes

Cap.2026-07-28.at.11.32.18.mp4

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • I included a video for animation/interaction changes

Note

Low Risk
UI and client-local preferences only; default behavior stays artwork with no auth or server data changes.

Overview
Adds a persisted client setting environmentIdentificationMode (artwork | pill | none, default artwork) so Dev/Nightly users can choose how the build is labeled in the UI.

General settings exposes the control only when the environment is Dev or Nightly. Sidebar header shows decorative backdrop art, a Dev/Nightly badge, or nothing, depending on the mode. Composer send and floating sidebar toggle stage styling follow the same rule: channel artwork appears only when mode is artwork.

Until client settings hydrate, the resolved mode is none so a saved pill or none choice does not briefly flash the default artwork.

Reviewed by Cursor Bugbot for commit 5874328. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Add environment identification mode setting to control sidebar header artwork, pill, or none

  • Adds an environmentIdentificationMode setting ("artwork" | "pill" | "none", defaulting to "artwork") to ClientSettingsSchema in settings.ts.
  • Exposes a useEnvironmentIdentificationMode hook in useSettings.ts that suppresses pre-hydration rendering to avoid transient flicker.
  • Updates SidebarChrome.tsx so the sidebar header shows stage artwork in artwork mode, a labeled badge (Dev/Nightly) in pill mode, and nothing in none mode.
  • Adds a UI control in SettingsPanels.tsx under General Settings for Dev/Nightly environments, with a per-setting reset to the default.
  • Behavioral Change: existing users default to "artwork" mode, matching prior behavior, but the sidebar artwork is now suppressed until client settings are hydrated.

Macroscope summarized 5874328.

Add a client-persisted Beta setting for showing or hiding the Dev and Nightly sidebar header artwork. Keep the option hidden on environments without stage artwork while leaving it available after opt-out so users can turn the artwork back on.

Preserve the existing enabled-by-default behavior for current users and keep the sidebar toggle styling in sync when the artwork is disabled.
@coderabbitai

coderabbitai Bot commented Jul 27, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: d5bfc067-7348-439a-b369-55f025470e5a

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels Jul 27, 2026
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Jul 27, 2026
@macroscopeapp

macroscopeapp Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved

Adds a user preference toggle for environment identification display (artwork vs pill badge vs hidden). Self-contained UI setting following existing patterns, well-tested, no runtime behavior changes beyond presentation.

You can customize Macroscope's approvability policy. Learn more.

@macroscopeapp
macroscopeapp Bot dismissed their stale review July 28, 2026 07:41

Dismissing prior approval to re-evaluate fb66267

@github-actions github-actions Bot added size:L 100-499 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels Jul 28, 2026
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Jul 28, 2026
@macroscopeapp
macroscopeapp Bot dismissed their stale review July 28, 2026 07:54

Dismissing prior approval to re-evaluate f2c0896

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit f2c0896. Configure here.

Comment thread apps/web/src/components/sidebar/SidebarChrome.tsx
@juliusmarminge
juliusmarminge merged commit 362f127 into pingdotgg:main Jul 28, 2026
15 of 16 checks passed
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Jul 28, 2026
## What's Changed
* Make mobile Thread List v2 the default by @juliusmarminge in pingdotgg/t3code#4717
* Fix mobile showcase workflow without Clerk by @juliusmarminge in pingdotgg/t3code#4718
* Fix relay credential lookup for unlinked environments by @juliusmarminge in pingdotgg/t3code#4692
* Settle merged PR threads immediately by @t3dotgg in pingdotgg/t3code#4704
* feat(web): add maria's sidebar header artwork toggle by @maxktz in pingdotgg/t3code#4652
* feat(web): add appearance settings category by @maxktz in pingdotgg/t3code#4715
* fix(desktop): allow updater-controlled relaunch by @0x4bs3nt in pingdotgg/t3code#4721


**Full Changelog**: pingdotgg/t3code@v0.0.30-nightly.20260728.930...v0.0.30-nightly.20260728.931

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.30-nightly.20260728.931
vimoppa added a commit to vimoppa/t3code that referenced this pull request Jul 28, 2026
* fix(mobile): threads load snapped to bottom on iOS (pingdotgg#4689)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* feat: default sidebar v2 on for nightly and dev builds (pingdotgg#4491)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(web): 33 web UI fixes (pingdotgg#4700)

* Make mobile Thread List v2 the default (pingdotgg#4717)

* Fix mobile showcase workflow without Clerk (pingdotgg#4718)

* Fix relay credential lookup for unlinked environments (pingdotgg#4692)

Co-authored-by: codex <codex@users.noreply.github.com>

* Settle merged PR threads immediately (pingdotgg#4704)

* feat(web): add maria's sidebar header artwork toggle (pingdotgg#4652)

* feat(web): add appearance settings category (pingdotgg#4715)

* fix(desktop): allow updater-controlled relaunch (pingdotgg#4721)

* fix(web): prevent diff panel scroll jumping (pingdotgg#4724)

* Link inline code file paths in chat markdown (pingdotgg#4726)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Fix Android showcase capture and rebuild v2 queued rows (pingdotgg#4730)

Co-authored-by: Claude <noreply@anthropic.com>

* fix(nix): refresh pnpm dependency hash

---------

Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Max Katz <me@maxkatz.me>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: jan <hi@4bs3nt.com>
tarik02 referenced this pull request in tarik02-org/t3code Jul 28, 2026
* Add OTA update checks to mobile settings (#4686)

* fix(mobile): threads load snapped to bottom on iOS (#4689)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* feat: default sidebar v2 on for nightly and dev builds (#4491)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(web): 33 web UI fixes (#4700)

* Make mobile Thread List v2 the default (#4717)

* Fix mobile showcase workflow without Clerk (#4718)

* Fix relay credential lookup for unlinked environments (#4692)

Co-authored-by: codex <codex@users.noreply.github.com>

* Settle merged PR threads immediately (#4704)

* feat(web): add maria's sidebar header artwork toggle (#4652)

* feat(web): add appearance settings category (#4715)

* fix(desktop): allow updater-controlled relaunch (#4721)

* fix(web): prevent diff panel scroll jumping (#4724)

* Link inline code file paths in chat markdown (#4726)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Fix Android showcase capture and rebuild v2 queued rows (#4730)

Co-authored-by: Claude <noreply@anthropic.com>

* perf(server): negotiate permessage-deflate on the websocket (#4705)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Max Katz <me@maxkatz.me>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: jan <hi@4bs3nt.com>
andreasmolnardev pushed a commit to andreasmolnardev/codewise that referenced this pull request Jul 28, 2026
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Jul 29, 2026
## What's Changed
* Add OTA update checks to mobile settings by @juliusmarminge in pingdotgg/t3code#4686
* fix(mobile): threads load snapped to bottom on iOS by @t3dotgg in pingdotgg/t3code#4689
* feat: default sidebar v2 on for nightly and dev builds by @t3dotgg in pingdotgg/t3code#4491
* fix(web): 33 web UI fixes by @maxktz in pingdotgg/t3code#4700
* Make mobile Thread List v2 the default by @juliusmarminge in pingdotgg/t3code#4717
* Fix mobile showcase workflow without Clerk by @juliusmarminge in pingdotgg/t3code#4718
* Fix relay credential lookup for unlinked environments by @juliusmarminge in pingdotgg/t3code#4692
* Settle merged PR threads immediately by @t3dotgg in pingdotgg/t3code#4704
* feat(web): add maria's sidebar header artwork toggle by @maxktz in pingdotgg/t3code#4652
* feat(web): add appearance settings category by @maxktz in pingdotgg/t3code#4715
* fix(desktop): allow updater-controlled relaunch by @0x4bs3nt in pingdotgg/t3code#4721
* fix(web): prevent diff panel scroll jumping by @0x4bs3nt in pingdotgg/t3code#4724
* Link inline code file paths in chat markdown by @juliusmarminge in pingdotgg/t3code#4726
* Fix Android showcase capture and rebuild v2 queued rows by @juliusmarminge in pingdotgg/t3code#4730
* perf(server): negotiate permessage-deflate on the websocket by @t3dotgg in pingdotgg/t3code#4705
* docs: overhaul agent guidance by @t3dotgg in pingdotgg/t3code#4782
* Prevent sidebar row labels from truncating by @juliusmarminge in pingdotgg/t3code#4789
* perf(server): gzip large thread snapshots by @t3dotgg in pingdotgg/t3code#4788
* fix(web): stashed prompts now survive switching providers by @t3dotgg in pingdotgg/t3code#4787
* Fix Git ref refresh resource storms by @juliusmarminge in pingdotgg/t3code#4727
* perf(server): trim stale context-window rows and drop dead replay RPC by @t3dotgg in pingdotgg/t3code#4791
* fix(web): defer command palette filesystem navigation by @juliusmarminge in pingdotgg/t3code#2109
* fix(release): skip scripts during Vercel installs by @t3dotgg in pingdotgg/t3code#4796
* refactor(client): share filesystem browse navigation by @juliusmarminge in pingdotgg/t3code#4797
* fix(mobile): defer filesystem navigation by @juliusmarminge in pingdotgg/t3code#4799
* refactor(server): use native HTTP compression streams by @juliusmarminge in pingdotgg/t3code#4798
* Remove Connect waitlist and add GA announcement tooling by @juliusmarminge in pingdotgg/t3code#4691


**Full Changelog**: pingdotgg/t3code@v0.0.29...v0.0.30

## What's Changed
* Add OTA update checks to mobile settings by @juliusmarminge in pingdotgg/t3code#4686
* fix(mobile): threads load snapped to bottom on iOS by @t3dotgg in pingdotgg/t3code#4689
* feat: default sidebar v2 on for nightly and dev builds by @t3dotgg in pingdotgg/t3code#4491
* fix(web): 33 web UI fixes by @maxktz in pingdotgg/t3code#4700
* Make mobile Thread List v2 the default by @juliusmarminge in pingdotgg/t3code#4717
* Fix mobile showcase workflow without Clerk by @juliusmarminge in pingdotgg/t3code#4718
* Fix relay credential lookup for unlinked environments by @juliusmarminge in pingdotgg/t3code#4692
* Settle merged PR threads immediately by @t3dotgg in pingdotgg/t3code#4704
* feat(web): add maria's sidebar header artwork toggle by @maxktz in pingdotgg/t3code#4652
* feat(web): add appearance settings category by @maxktz in pingdotgg/t3code#4715
* fix(desktop): allow updater-controlled relaunch by @0x4bs3nt in pingdotgg/t3code#4721
* fix(web): prevent diff panel scroll jumping by @0x4bs3nt in pingdotgg/t3code#4724
* Link inline code file paths in chat markdown by @juliusmarminge in pingdotgg/t3code#4726
* Fix Android showcase capture and rebuild v2 queued rows by @juliusmarminge in pingdotgg/t3code#4730
* perf(server): negotiate permessage-deflate on the websocket by @t3dotgg in pingdotgg/t3code#4705
* docs: overhaul agent guidance by @t3dotgg in pingdotgg/t3code#4782
* Prevent sidebar row labels from truncating by @juliusmarminge in pingdotgg/t3code#4789
* perf(server): gzip large thread snapshots by @t3dotgg in pingdotgg/t3code#4788
* fix(web): stashed prompts now survive switching providers by @t3dotgg in pingdotgg/t3code#4787
* Fix Git ref refresh resource storms by @juliusmarminge in pingdotgg/t3code#4727
* perf(server): trim stale context-window rows and drop dead replay RPC by @t3dotgg in pingdotgg/t3code#4791
* fix(web): defer command palette filesystem navigation by @juliusmarminge in pingdotgg/t3code#2109
* fix(release): skip scripts during Vercel installs by @t3dotgg in pingdotgg/t3code#4796
* refactor(client): share filesystem browse navigation by @juliusmarminge in pingdotgg/t3code#4797
* fix(mobile): defer filesystem navigation by @juliusmarminge in pingdotgg/t3code#4799
* refactor(server): use native HTTP compression streams by @juliusmarminge in pingdotgg/t3code#4798
* Remove Connect waitlist and add GA announcement tooling by @juliusmarminge in pingdotgg/t3code#4691


**Full Changelog**: pingdotgg/t3code@v0.0.29...v0.0.30

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.30
aaditagrawal pushed a commit to aaditagrawal/t3code that referenced this pull request Aug 1, 2026
awtprod added a commit to awtprod/t3-code that referenced this pull request Aug 1, 2026
* Fix incorrect pluralization of “entry” (pingdotgg#3933)

* feat(server): title background-task work-log rows with the task name (pingdotgg#3751)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix: delegate OpenCode session titles to provider (pingdotgg#3720)

* Archive selected threads from the context menu (pingdotgg#3895)

* fix(cli): support force removing projects (pingdotgg#3922)

* fix: allow sidebar to be shrunk when wider than viewport (pingdotgg#2456)

Co-authored-by: Shoaib Ansari <shoaibansari@Shoaibs-Mac-mini.local>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(codex): show web search query and url in tool call details (pingdotgg#2093)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Add Codex launch arguments setting (pingdotgg#2892)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: root <root@localhost.localdomain>

* [orchestration] Clear stale active turn when session becomes inactive (pingdotgg#3159)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Regenerate Codex reset credit protocol bindings (pingdotgg#4173)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(preview): preserve direct localhost navigation (pingdotgg#3939)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* Synchronize mobile threads with authoritative shell snapshots (pingdotgg#4163)

Co-authored-by: codex <codex@users.noreply.github.com>

* Gate iOS glass layout on native support (pingdotgg#4032)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(opencode): resume the OpenCode session on follow-ups instead of starting an empty one (pingdotgg#3617)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(server): use CLI for OpenCode health check instead of spawning server (pingdotgg#4153)

* fix(web): scope timeline minimap hover target to the side gutter (pingdotgg#3869)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* [codex] show complete approval details (pingdotgg#4111)

* fix(web): paint text selection over composer chips (pingdotgg#4139)

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>

* [codex] preserve custom model slugs (pingdotgg#4168)

* fix(web): preview workspace images in the file panel (pingdotgg#3996)

Co-authored-by: Rhiz3K <rhiz3k@protonmail.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* feat(web): drag files from the explorer into the chat composer (pingdotgg#4140)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>

* fix(desktop): preserve main window bounds (pingdotgg#3851)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* perf(orchestration): speed up new-chat propagation and offline catch-up (pingdotgg#4177)

Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Finale: upgrade changed files card to fix various UI issues (pingdotgg#4113)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Pass CLI OAuth config to hosted web deploy (pingdotgg#4186)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(web): always show environment chip for remote projects (pingdotgg#4217)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): keep composer editable while disconnected (pingdotgg#4241)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix: better defaults — Claude 1M context, Codex gpt-5.6, worktrees from origin main (pingdotgg#4240)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(claude): handle all SDK stream messages; stop spurious work-log warning rows (pingdotgg#4244)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Sidebar v2 beta: flat thread list with a server-backed settled lifecycle (pingdotgg#4026)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>

* fix(settings): validate the add-provider wizard step before advancing (pingdotgg#2813) (pingdotgg#3100)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* fix(claude): isolate capability probe from user MCP servers (pingdotgg#4015)

Co-authored-by: codex <codex@users.noreply.github.com>

* Preserve connecting status while a turn starts (pingdotgg#4101)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(server): stop restoring stale OpenCode models (pingdotgg#4095)

Co-authored-by: codex <codex@users.noreply.github.com>

* [codex] keep scoped package references as text (pingdotgg#4167)

Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(web): default provider selection for users without Codex (pingdotgg#4117)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* Unify temporary worktree branch naming (pingdotgg#4278)

* fix(web): use message-square icon for settled icon-less project threads in sidebar v2 (pingdotgg#4279)

* Stabilize sidebar settling animations (pingdotgg#4280)

* Restore Copy Link in chat link context menu (pingdotgg#4161)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(desktop): handle EPIPE errors on stdout/stderr to prevent crash dialog (pingdotgg#4213)

* Preserve draft thread highlighting during promotion (pingdotgg#4283)

Co-authored-by: codex <codex@users.noreply.github.com>

* Move mobile working timer into the thread timeline (pingdotgg#4285)

* Stabilize PR status lookups and provider session lifecycle (pingdotgg#4281)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix: open command palette instead of custom dialog for new thread picker in SidebarV2 (pingdotgg#4269)

* fix(server): don't drop sticky PR fallback when remote URL can't be resolved (pingdotgg#4289)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* feat(web): copy branch name via right-click in the branch selector (pingdotgg#4275)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Add remote server updates and standalone service management (pingdotgg#4286)

Co-authored-by: codex <codex@users.noreply.github.com>

* Refine light-mode sidebar surfaces (pingdotgg#4268)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* fix(mobile): don't mark Android VPN/Tailscale as offline when connected (pingdotgg#3949)

* improve and prevent silent thread branch drift and PR fetching (pingdotgg#2284)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* feat(web): refresh application surfaces

* style(web): polish dark mode dialogs

* fix(web): unify and tune glass surfaces

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(web): apply glass opacity to thread tooltip

* fix(web): override thread tooltip background

* fix(web): apply glass opacity to model picker

* style(web): polish glass opacity slider

* fix(web): apply glass opacity to command palette

* fix(web): add glass composer alerts

* fix(web): honor composer glass opacity

* test(web): stabilize timeline module setup

* style(web): fade settings content beneath navbar

* test(desktop): include glass opacity in settings fixture

* fix(web): address redesign review findings

* fix(web): sync provider banner dismissal

* fix(web): new-thread defaults ignored for remote environments (pingdotgg#4276)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* feat: add "Auto" runtime mode — AI-reviewed approvals for Codex and Claude (pingdotgg#4272)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Add shared t3.json project configuration support (pingdotgg#4317)

* Restore light-mode surfaces and refine dialog styling

- Restore light-mode glass, dialog, dropdown, and composer colors
- Refine provider wizard, changed-file cards, sidebar controls, and buttons
- Update wizard step tests for the new list structure

* Unify dialog glass and fix composer overlays (pingdotgg#4365)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(web): warn before silent Windows updates (pingdotgg#4350)

* [codex] Move project grouping to General settings (pingdotgg#4313)

Co-authored-by: codex <codex@users.noreply.github.com>

* [codex] Group project scopes in mobile thread lists (pingdotgg#4314)

Co-authored-by: codex <codex@users.noreply.github.com>

* [codex] Move mobile project grouping to General settings (pingdotgg#4315)

Co-authored-by: codex <codex@users.noreply.github.com>

* [codex] Deduplicate connection failure messaging (pingdotgg#4367)

Co-authored-by: codex <codex@users.noreply.github.com>

* Restore grouped project filtering in Sidebar V2 (pingdotgg#4282)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* [codex] restore Sidebar V2 project actions (pingdotgg#4373)

Co-authored-by: codex <codex@users.noreply.github.com>

* [codex] Group projects in new-thread pickers (pingdotgg#4312)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(web): restore dark composer toolbar styling

* Fix thread tooltip folder icon color (pingdotgg#4383)

* fix(server): parse CLI version in update preflight (pingdotgg#4389)

* fix(web): sidebar v2 polish — jump hints, working duration, in-flight fade, settled sort (pingdotgg#4274)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Fix logical project grouping labels on mobile (pingdotgg#4391)

Co-authored-by: codex <codex@users.noreply.github.com>

* Add preview color scheme controls and simplify project grouping (pingdotgg#4385)

Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(cli): publish nightly branded favicons (pingdotgg#4372)

* Fix thread loading flash (pingdotgg#4396)

* fix(client-runtime): keep a warm thread un-settled despite a merged/closed PR (pingdotgg#4309)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Fix composer context strip alignment and glass shell (pingdotgg#4404)

* Polish iOS git progress overlay with glass effects (pingdotgg#4387)

* Improve composer glass fallbacks (pingdotgg#4406)

Co-authored-by: codex <codex@users.noreply.github.com>

* feat(web): collapse large git diffs by default to make chat more readable (pingdotgg#4409)

* Stop new threads inheriting checkout/branch from viewed thread (pingdotgg#4411)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix: tone down branch-mismatch banner (pingdotgg#4416)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix: Claude Code skills discoverable for the composer $ picker (pingdotgg#4414)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): keep settled threads reachable when opened directly (pingdotgg#4413)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* feat(sidebar-v2): thread snoozing (pingdotgg#4311)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: maria <maria@kuuro.net>

* Upgrade Clerk packages and Expo integration (pingdotgg#4440)

* Increase light-mode contrast for user message bubbles (pingdotgg#4441)

* Restore model picker layout and retain iterative test state (pingdotgg#4450)

Co-authored-by: codex <codex@users.noreply.github.com>

* Color settled PR labels on hover (pingdotgg#4451)

Co-authored-by: codex <codex@users.noreply.github.com>

* [codex] Fix glass hover compositing artifacts (pingdotgg#4446)

Co-authored-by: codex <codex@users.noreply.github.com>

* Add Claude Opus 5 model (pingdotgg#4472)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Theo Browne <me@t3.gg>

* feat(web): add collapse-all toggle to diff panel (pingdotgg#4475)

* feat(web): show fast mode as a bolt instead of a "Normal" label (pingdotgg#4488)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* feat(dev): keep worktree dev state isolated on T3 Code dev servers (pingdotgg#4555)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* feat(dev): Make t3 code dev instances shareable over Tailscale (pingdotgg#4556)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(dev): skip browser-blocked ports (pingdotgg#4608)

* fix: cut websocket throughput in half by pruning activity payloads (pingdotgg#4622)

* perf(mobile): defer work-log detail serialization (pingdotgg#4607)

* test: account for lazy thread feed details (pingdotgg#4628)

* feat(relay): limit managed tunnels per user (pingdotgg#4530)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Add managed tunnel limits migration (pingdotgg#4635)

* Add background preview capture and picture-in-picture support (pingdotgg#4397)

Co-authored-by: codex <codex@users.noreply.github.com>

* feat(web): prompt stash — cmd+S saves the composer to a per-provider queue (pingdotgg#4453)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Upgrade Effect and Alchemy betas (pingdotgg#4643)

Prepare Relay production infrastructure for the PlanetScale PS_20 HA topology, upgrade Effect and Alchemy to compatible betas, reconcile migration state, and preserve patched MCP session termination behavior.\n\nCo-authored-by: codex <codex@users.noreply.github.com>

* feat: allow new thread creation through project breadcrumbs (pingdotgg#4638)

* fix(web): scope PR state to the thread branch (pingdotgg#4460)

Co-authored-by: codex <codex@users.noreply.github.com>

* Drop redundant Relay user indexes (pingdotgg#4648)

Co-authored-by: codex <codex@users.noreply.github.com>

* feat(connect): release the Cloudflare tunnel when the environment shuts down (pingdotgg#4531)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Fix Relay Worker RuntimeContext wiring (pingdotgg#4653)

Co-authored-by: codex <codex@users.noreply.github.com>

* Fix live sidebar resize limits and defer Alchemy runtime context (pingdotgg#4655)

* fix(web): constrain branch toolbar context (pingdotgg#4657)

* Keep MCP credentials alive across provider turns (pingdotgg#4659)

* fix: close actions dropdown when editing (pingdotgg#4660)

* fix(preview): stabilize PiP viewport identity (pingdotgg#4661)

Co-authored-by: codex <codex@users.noreply.github.com>

* Add glass styling for thread tooltips and simplify preview tab handling (pingdotgg#4665)

* Use tarball archiving for hosted web deploys (pingdotgg#4669)

* fix(server): bound editor discovery during config loading (pingdotgg#4291)

* Prevent draft thread detail polling before shell registration (pingdotgg#4670)

Co-authored-by: codex <codex@users.noreply.github.com>

* feat: add configurable source control writing settings (pingdotgg#4204)

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* feat(diff-panel): show total line additions and deletions (pingdotgg#4674)

* Clear provider update actions while updating (pingdotgg#4676)

* Fix sidebar highlighting for draft threads (pingdotgg#4679)

* Use glass surfaces for web toasts (pingdotgg#4681)

* Show origin ref in branch trigger label (pingdotgg#4680)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(mobile): match react version to react-native 0.85.3 vendored renderer (19.2.3) (pingdotgg#4675)

* chore(release): prepare v0.0.29

* Add OTA update checks to mobile settings (pingdotgg#4686)

* fix(mobile): threads load snapped to bottom on iOS (pingdotgg#4689)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* feat: default sidebar v2 on for nightly and dev builds (pingdotgg#4491)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(web): 33 web UI fixes (pingdotgg#4700)

* Make mobile Thread List v2 the default (pingdotgg#4717)

* Fix mobile showcase workflow without Clerk (pingdotgg#4718)

* Fix relay credential lookup for unlinked environments (pingdotgg#4692)

Co-authored-by: codex <codex@users.noreply.github.com>

* Settle merged PR threads immediately (pingdotgg#4704)

* feat(web): add maria's sidebar header artwork toggle (pingdotgg#4652)

* feat(web): add appearance settings category (pingdotgg#4715)

* fix(desktop): allow updater-controlled relaunch (pingdotgg#4721)

* fix(web): prevent diff panel scroll jumping (pingdotgg#4724)

* Link inline code file paths in chat markdown (pingdotgg#4726)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Fix Android showcase capture and rebuild v2 queued rows (pingdotgg#4730)

Co-authored-by: Claude <noreply@anthropic.com>

* perf(server): negotiate permessage-deflate on the websocket (pingdotgg#4705)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* docs: overhaul agent guidance (pingdotgg#4782)

* Prevent sidebar row labels from truncating (pingdotgg#4789)

* perf(server): gzip large thread snapshots (pingdotgg#4788)

* fix(web): stashed prompts now survive switching providers (pingdotgg#4787)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Fix Git ref refresh resource storms (pingdotgg#4727)

Co-authored-by: codex <codex@users.noreply.github.com>

* perf(server): trim stale context-window rows and drop dead replay RPC (pingdotgg#4791)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): defer command palette filesystem navigation (pingdotgg#2109)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(release): skip scripts during Vercel installs (pingdotgg#4796)

* refactor(client): share filesystem browse navigation (pingdotgg#4797)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(mobile): defer filesystem navigation (pingdotgg#4799)

Co-authored-by: codex <codex@users.noreply.github.com>

* refactor(server): use native HTTP compression streams (pingdotgg#4798)

Co-authored-by: codex <codex@users.noreply.github.com>

* Remove Connect waitlist and add GA announcement tooling (pingdotgg#4691)

* Fix Connect sign-in settings label (pingdotgg#4806)

* chore(release): prepare v0.0.30

* fix(desktop): restore T3 Connect sign-in (pingdotgg#4809)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Simplify files panel header (pingdotgg#4828)

* build(desktop): reduce installed app size by ~300MB (pingdotgg#4824)

* Update model version from claude-opus-4-8 to claude-opus-5 (pingdotgg#4832)

* Preserve the thread shell while detail loads (pingdotgg#4830)

* Reduce idle work and disk churn with native resource diagnostics (pingdotgg#2679)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(server): detect repositories after initialization (pingdotgg#4848)

* perf(server): merge separate staged/unstaged numstat calls into single diff HEAD --numstat (pingdotgg#4843)

* fix(git): disable external diff for review diff previews (pingdotgg#4854)

* Fix editable file focus and live syntax highlighting (pingdotgg#3979)

* fix(web): remember the rendered-markdown choice across threads (pingdotgg#4853)

Co-authored-by: Simon Doba <simon.doba@orbit.de>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>

* chore(release): prepare v0.0.31

* fix(mobile): reduce thread feed scroll jank (pingdotgg#4874)

* fix(web): restore sidebar v2 thread actions and terminal icon (pingdotgg#4712)

* fix(web): settle button now works on hover, not just right-click (pingdotgg#4905)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(clients): disable add project while disconnected (pingdotgg#4834)

* fix(composer): hide default Codex service tier (pingdotgg#4784)

* docs: link iOS and Android app store downloads (pingdotgg#4902)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): align remote server update action (pingdotgg#4731)

* fix(connect): suggest a serve command that matches how you ran connect (pingdotgg#4897)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(mobile): stop shared content errors in Personal Team builds (pingdotgg#4943)

* perf(mobile): sends respond instantly, thread opens stop freezing (pingdotgg#4882)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): show Codex fast mode as a bolt (pingdotgg#4947)

* docs: seed worktrees with a copy of real userdata instead of banning it (pingdotgg#4949)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(mobile): support dragged images in the composer (pingdotgg#4953)

* fix(mobile): stop long iOS threads from jumping while scrolling up (pingdotgg#4867)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): keep worktree default when switching a draft's machine (pingdotgg#4964)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* perf(mobile): reconnect environments immediately on resume (pingdotgg#4878)

* feat(web): pasting a huge screenshot now compresses it instead of erroring (pingdotgg#4967)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* feat(web): regenerate thread titles from sidebar (pingdotgg#4810)

* fix(web): show server update progress through reconnect (pingdotgg#4903)

* feat(search): find threads by conversation content (pingdotgg#4959)

* fix: marketing site Vercel builds no longer die after ~100 deploys (pingdotgg#4975)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* docs: split user and maintainer docs, fix 100+ stale claims (pingdotgg#4807)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): server updates no longer look like warnings (pingdotgg#4992)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(connect): reboots no longer strand the relay link, 403s now say why (pingdotgg#4988)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Add project file picker (⌘P) and project content search (⇧⌘F) (pingdotgg#4855)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Check for mobile app updates on launch (pingdotgg#4958)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(mobile): support pre-Liquid-Glass iOS bottom toolbar (pingdotgg#4984)

* fix(server): restore PR detection without HOME (pingdotgg#4985)

* fix(web): fill fast mode icon (pingdotgg#5004)

* fix: cache project favicons across web and mobile (pingdotgg#4767)

* perf(ci): cut stale runs and redundant setup (pingdotgg#4802)

* chore(mobile): bump app version to 1.0.1

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* style(web): make scroll-to-end pill translucent (pingdotgg#5036)

* fix(ci): drop sparse-checkout from EAS workflows

actions/checkout implements sparse-checkout with --filter=blob:none, so
the runner repo is a partial clone missing the .repos/ blobs. eas-cli
archives the project via `git clone --depth 1 file://<workspace>`,
which upload-pack cannot serve from a partial clone and exits 128
(pingdotgg#4802 broke both EAS build workflows this way).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(desktop): bump Clerk Electron SDK to 0.0.24 and register t3code:// scheme on Linux (pingdotgg#5015)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* perf(server): cache default branch name and origin existence across status refreshes (pingdotgg#5008)

* feat(shared): support shorthand (major-only) versions in the semver helpers (pingdotgg#5027)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(mobile): remove unnecessary photo library permission (pingdotgg#4929)

* fix(shared): lenient JSON parser deletes commas inside string values (pingdotgg#5025)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(mobile): default bare IP pairing to HTTP (pingdotgg#4990)

* fix(mobile): restore iOS Threads branding (pingdotgg#4862)

* chore: add mobile issue template area (pingdotgg#4895)

* fix(desktop): link release notes from the update downloaded toast (pingdotgg#4771)

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>

* fix(mobile): accept Android clipboard images in composer (pingdotgg#4836)

* fix(mobile): show the correct build channel in Android's Threads page header (pingdotgg#4861)

* fix(contracts): decode growing config unions forward-compatibly (pingdotgg#5055)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(mobile): server model, worktree, and origin preferences now apply to new tasks (pingdotgg#5064)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(ci): repair the mobile showcase screenshots workflow (pingdotgg#5057)

* fix(ci): capture iPad App Store screenshots in landscape (pingdotgg#5065)

* fix(oxlint-plugin): Resolve the oxlint bin without assuming a pnpm layout (pingdotgg#5066)

* feat(cli): `npx t3 pair` - generate QR code from a running server (pingdotgg#4955)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(server): self-update no longer rolls itself back on restart (pingdotgg#5095)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(ci): rotate iPad showcase captures without Simulator UI scripting (pingdotgg#5094)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* feat(web): render terminals with libghostty-vt (pingdotgg#4860)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* refactor: move the canonical libghostty-vt vendor to the repository root (pingdotgg#5102)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* feat(mobile): add thread snoozing (pingdotgg#5053)

* feat(mobile): make settled threads collapsible (pingdotgg#5056)

* follow-up normalization after pingdotgg#4700. (pingdotgg#4498)

Co-authored-by: T3 Code Test <t3code-test@example.com>

* feat(web): search threads from the sidebar (pingdotgg#4769)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* feat(release): prepare Command Center desktop v1

* fix(ci): allow public release publisher identity

* fix(web): avoid Windows preview path collision

* test(release): reject Windows module path collisions

* fix(release): bundle command center core

* fix: audit preserved upstream history safely

* feat(providers): add Kimi, subagents, and usage analytics

* fix(ci): repair reconnects and PNG safety scanning

* test(desktop): update Clerk environment fixture

* fix(ci): align provider and server integration contracts

* perf(web): skip impossible image encodings

---------

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Co-authored-by: mel <mcmelon@nodiumhosting.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Tristan Knight <tris203@gmail.com>
Co-authored-by: Christoph Herzog <a.github@omega-id.com>
Co-authored-by: Andrew Barnes <bortstheboat@gmail.com>
Co-authored-by: Shoaib <shoaib050326@gmail.com>
Co-authored-by: Shoaib Ansari <shoaibansari@Shoaibs-Mac-mini.local>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Guilherme Vieira <46866023+GuilhermeVieiraDev@users.noreply.github.com>
Co-authored-by: James <105842516+jamesx0416@users.noreply.github.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: root <root@localhost.localdomain>
Co-authored-by: Andrew Forster <76947376+Andrew-Forster@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Chris Michael Guzman <67719167+Chrrxs@users.noreply.github.com>
Co-authored-by: Vadym Kotai <vdmkotai@gmail.com>
Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com>
Co-authored-by: xxashxx-svg <xxanshxx9@gmail.com>
Co-authored-by: Maxwell Young <maxtheyoung@gmail.com>
Co-authored-by: Yordis Prieto <yordis.prieto@gmail.com>
Co-authored-by: Rhiz3K <33246262+Rhiz3K@users.noreply.github.com>
Co-authored-by: Rhiz3K <rhiz3k@protonmail.com>
Co-authored-by: Anirudh Coontoor <me@anirudhs.net>
Co-authored-by: Rusiru Sadathana <rusirusadathana@gmail.com>
Co-authored-by: ss <69873514+sandersonstabo@users.noreply.github.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
Co-authored-by: Leonel Rivas <encriptandost@gmail.com>
Co-authored-by: Jaret Bottoms <jaretbottoms@gmail.com>
Co-authored-by: Ishan <ishansachu1@gmail.com>
Co-authored-by: Yukun Shan <92423096+nateEc@users.noreply.github.com>
Co-authored-by: Miklós Fazekas <mfazekas@szemafor.com>
Co-authored-by: Henry Zhang <113233555+caezium@users.noreply.github.com>
Co-authored-by: Rushikesh Gaikwad <81632222+Wraient@users.noreply.github.com>
Co-authored-by: legs <145564979+justsomelegs@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: tomlit <tomlit@gmail.com>
Co-authored-by: jan <hi@4bs3nt.com>
Co-authored-by: Alex Southwell <saphid@gmail.com>
Co-authored-by: Max Katz <me@maxkatz.me>
Co-authored-by: Krzysztof Moch <krzysmoch.programs@gmail.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Alex <me@pixp.cc>
Co-authored-by: wukko <me@wukko.me>
Co-authored-by: Wout Stiens <71498452+StiensWout@users.noreply.github.com>
Co-authored-by: ohbentos <72638975+ohbentos@users.noreply.github.com>
Co-authored-by: Jake Leventhal <jakeleventhal@me.com>
Co-authored-by: Simon Doba <simon.doba@hotmail.de>
Co-authored-by: Simon Doba <simon.doba@orbit.de>
Co-authored-by: Gabriel De Andrade <30420087+gabrielelpidio@users.noreply.github.com>
Co-authored-by: Jono Kemball <Noojuno@users.noreply.github.com>
Co-authored-by: Arham Amin <132888838+arhxam@users.noreply.github.com>
Co-authored-by: Elaine Lyons <elaine@lyons.app>
Co-authored-by: Simone <lucenz@proton.me>
Co-authored-by: Max Anderson <max.a.anderson95@gmail.com>
Co-authored-by: Aditya Vardhan Sharma <adityaradhika13@gmail.com>
Co-authored-by: Mike Olson <mwolson@member.fsf.org>
Co-authored-by: T3 Code Test <t3code-test@example.com>
Co-authored-by: atryan <atryan@users.noreply.github.com>
awtprod added a commit to awtprod/t3-code that referenced this pull request Aug 2, 2026
* fix: delegate OpenCode session titles to provider (pingdotgg#3720)

* Archive selected threads from the context menu (pingdotgg#3895)

* fix(cli): support force removing projects (pingdotgg#3922)

* fix: allow sidebar to be shrunk when wider than viewport (pingdotgg#2456)

Co-authored-by: Shoaib Ansari <shoaibansari@Shoaibs-Mac-mini.local>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(codex): show web search query and url in tool call details (pingdotgg#2093)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Add Codex launch arguments setting (pingdotgg#2892)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: root <root@localhost.localdomain>

* [orchestration] Clear stale active turn when session becomes inactive (pingdotgg#3159)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Regenerate Codex reset credit protocol bindings (pingdotgg#4173)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(preview): preserve direct localhost navigation (pingdotgg#3939)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* Synchronize mobile threads with authoritative shell snapshots (pingdotgg#4163)

Co-authored-by: codex <codex@users.noreply.github.com>

* Gate iOS glass layout on native support (pingdotgg#4032)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(opencode): resume the OpenCode session on follow-ups instead of starting an empty one (pingdotgg#3617)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(server): use CLI for OpenCode health check instead of spawning server (pingdotgg#4153)

* fix(web): scope timeline minimap hover target to the side gutter (pingdotgg#3869)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* [codex] show complete approval details (pingdotgg#4111)

* fix(web): paint text selection over composer chips (pingdotgg#4139)

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>

* [codex] preserve custom model slugs (pingdotgg#4168)

* fix(web): preview workspace images in the file panel (pingdotgg#3996)

Co-authored-by: Rhiz3K <rhiz3k@protonmail.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* feat(web): drag files from the explorer into the chat composer (pingdotgg#4140)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>

* fix(desktop): preserve main window bounds (pingdotgg#3851)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* perf(orchestration): speed up new-chat propagation and offline catch-up (pingdotgg#4177)

Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Finale: upgrade changed files card to fix various UI issues (pingdotgg#4113)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Pass CLI OAuth config to hosted web deploy (pingdotgg#4186)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(web): always show environment chip for remote projects (pingdotgg#4217)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): keep composer editable while disconnected (pingdotgg#4241)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix: better defaults — Claude 1M context, Codex gpt-5.6, worktrees from origin main (pingdotgg#4240)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(claude): handle all SDK stream messages; stop spurious work-log warning rows (pingdotgg#4244)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Sidebar v2 beta: flat thread list with a server-backed settled lifecycle (pingdotgg#4026)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>

* fix(settings): validate the add-provider wizard step before advancing (pingdotgg#2813) (pingdotgg#3100)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* fix(claude): isolate capability probe from user MCP servers (pingdotgg#4015)

Co-authored-by: codex <codex@users.noreply.github.com>

* Preserve connecting status while a turn starts (pingdotgg#4101)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(server): stop restoring stale OpenCode models (pingdotgg#4095)

Co-authored-by: codex <codex@users.noreply.github.com>

* [codex] keep scoped package references as text (pingdotgg#4167)

Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(web): default provider selection for users without Codex (pingdotgg#4117)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* Unify temporary worktree branch naming (pingdotgg#4278)

* fix(web): use message-square icon for settled icon-less project threads in sidebar v2 (pingdotgg#4279)

* Stabilize sidebar settling animations (pingdotgg#4280)

* Restore Copy Link in chat link context menu (pingdotgg#4161)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(desktop): handle EPIPE errors on stdout/stderr to prevent crash dialog (pingdotgg#4213)

* Preserve draft thread highlighting during promotion (pingdotgg#4283)

Co-authored-by: codex <codex@users.noreply.github.com>

* Move mobile working timer into the thread timeline (pingdotgg#4285)

* Stabilize PR status lookups and provider session lifecycle (pingdotgg#4281)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix: open command palette instead of custom dialog for new thread picker in SidebarV2 (pingdotgg#4269)

* fix(server): don't drop sticky PR fallback when remote URL can't be resolved (pingdotgg#4289)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* feat(web): copy branch name via right-click in the branch selector (pingdotgg#4275)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Add remote server updates and standalone service management (pingdotgg#4286)

Co-authored-by: codex <codex@users.noreply.github.com>

* Refine light-mode sidebar surfaces (pingdotgg#4268)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* fix(mobile): don't mark Android VPN/Tailscale as offline when connected (pingdotgg#3949)

* improve and prevent silent thread branch drift and PR fetching (pingdotgg#2284)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* feat(web): refresh application surfaces

* style(web): polish dark mode dialogs

* fix(web): unify and tune glass surfaces

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(web): apply glass opacity to thread tooltip

* fix(web): override thread tooltip background

* fix(web): apply glass opacity to model picker

* style(web): polish glass opacity slider

* fix(web): apply glass opacity to command palette

* fix(web): add glass composer alerts

* fix(web): honor composer glass opacity

* test(web): stabilize timeline module setup

* style(web): fade settings content beneath navbar

* test(desktop): include glass opacity in settings fixture

* fix(web): address redesign review findings

* fix(web): sync provider banner dismissal

* fix(web): new-thread defaults ignored for remote environments (pingdotgg#4276)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* feat: add "Auto" runtime mode — AI-reviewed approvals for Codex and Claude (pingdotgg#4272)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Add shared t3.json project configuration support (pingdotgg#4317)

* Restore light-mode surfaces and refine dialog styling

- Restore light-mode glass, dialog, dropdown, and composer colors
- Refine provider wizard, changed-file cards, sidebar controls, and buttons
- Update wizard step tests for the new list structure

* Unify dialog glass and fix composer overlays (pingdotgg#4365)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(web): warn before silent Windows updates (pingdotgg#4350)

* [codex] Move project grouping to General settings (pingdotgg#4313)

Co-authored-by: codex <codex@users.noreply.github.com>

* [codex] Group project scopes in mobile thread lists (pingdotgg#4314)

Co-authored-by: codex <codex@users.noreply.github.com>

* [codex] Move mobile project grouping to General settings (pingdotgg#4315)

Co-authored-by: codex <codex@users.noreply.github.com>

* [codex] Deduplicate connection failure messaging (pingdotgg#4367)

Co-authored-by: codex <codex@users.noreply.github.com>

* Restore grouped project filtering in Sidebar V2 (pingdotgg#4282)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* [codex] restore Sidebar V2 project actions (pingdotgg#4373)

Co-authored-by: codex <codex@users.noreply.github.com>

* [codex] Group projects in new-thread pickers (pingdotgg#4312)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(web): restore dark composer toolbar styling

* Fix thread tooltip folder icon color (pingdotgg#4383)

* fix(server): parse CLI version in update preflight (pingdotgg#4389)

* fix(web): sidebar v2 polish — jump hints, working duration, in-flight fade, settled sort (pingdotgg#4274)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Fix logical project grouping labels on mobile (pingdotgg#4391)

Co-authored-by: codex <codex@users.noreply.github.com>

* Add preview color scheme controls and simplify project grouping (pingdotgg#4385)

Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(cli): publish nightly branded favicons (pingdotgg#4372)

* Fix thread loading flash (pingdotgg#4396)

* fix(client-runtime): keep a warm thread un-settled despite a merged/closed PR (pingdotgg#4309)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Fix composer context strip alignment and glass shell (pingdotgg#4404)

* Polish iOS git progress overlay with glass effects (pingdotgg#4387)

* Improve composer glass fallbacks (pingdotgg#4406)

Co-authored-by: codex <codex@users.noreply.github.com>

* feat(web): collapse large git diffs by default to make chat more readable (pingdotgg#4409)

* Stop new threads inheriting checkout/branch from viewed thread (pingdotgg#4411)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix: tone down branch-mismatch banner (pingdotgg#4416)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix: Claude Code skills discoverable for the composer $ picker (pingdotgg#4414)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): keep settled threads reachable when opened directly (pingdotgg#4413)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* feat(sidebar-v2): thread snoozing (pingdotgg#4311)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: maria <maria@kuuro.net>

* Upgrade Clerk packages and Expo integration (pingdotgg#4440)

* Increase light-mode contrast for user message bubbles (pingdotgg#4441)

* Restore model picker layout and retain iterative test state (pingdotgg#4450)

Co-authored-by: codex <codex@users.noreply.github.com>

* Color settled PR labels on hover (pingdotgg#4451)

Co-authored-by: codex <codex@users.noreply.github.com>

* [codex] Fix glass hover compositing artifacts (pingdotgg#4446)

Co-authored-by: codex <codex@users.noreply.github.com>

* Add Claude Opus 5 model (pingdotgg#4472)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Theo Browne <me@t3.gg>

* feat(web): add collapse-all toggle to diff panel (pingdotgg#4475)

* feat(web): show fast mode as a bolt instead of a "Normal" label (pingdotgg#4488)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* feat(dev): keep worktree dev state isolated on T3 Code dev servers (pingdotgg#4555)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* feat(dev): Make t3 code dev instances shareable over Tailscale (pingdotgg#4556)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(dev): skip browser-blocked ports (pingdotgg#4608)

* fix: cut websocket throughput in half by pruning activity payloads (pingdotgg#4622)

* perf(mobile): defer work-log detail serialization (pingdotgg#4607)

* test: account for lazy thread feed details (pingdotgg#4628)

* feat(relay): limit managed tunnels per user (pingdotgg#4530)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Add managed tunnel limits migration (pingdotgg#4635)

* Add background preview capture and picture-in-picture support (pingdotgg#4397)

Co-authored-by: codex <codex@users.noreply.github.com>

* feat(web): prompt stash — cmd+S saves the composer to a per-provider queue (pingdotgg#4453)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Upgrade Effect and Alchemy betas (pingdotgg#4643)

Prepare Relay production infrastructure for the PlanetScale PS_20 HA topology, upgrade Effect and Alchemy to compatible betas, reconcile migration state, and preserve patched MCP session termination behavior.\n\nCo-authored-by: codex <codex@users.noreply.github.com>

* feat: allow new thread creation through project breadcrumbs (pingdotgg#4638)

* fix(web): scope PR state to the thread branch (pingdotgg#4460)

Co-authored-by: codex <codex@users.noreply.github.com>

* Drop redundant Relay user indexes (pingdotgg#4648)

Co-authored-by: codex <codex@users.noreply.github.com>

* feat(connect): release the Cloudflare tunnel when the environment shuts down (pingdotgg#4531)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Fix Relay Worker RuntimeContext wiring (pingdotgg#4653)

Co-authored-by: codex <codex@users.noreply.github.com>

* Fix live sidebar resize limits and defer Alchemy runtime context (pingdotgg#4655)

* fix(web): constrain branch toolbar context (pingdotgg#4657)

* Keep MCP credentials alive across provider turns (pingdotgg#4659)

* fix: close actions dropdown when editing (pingdotgg#4660)

* fix(preview): stabilize PiP viewport identity (pingdotgg#4661)

Co-authored-by: codex <codex@users.noreply.github.com>

* Add glass styling for thread tooltips and simplify preview tab handling (pingdotgg#4665)

* Use tarball archiving for hosted web deploys (pingdotgg#4669)

* fix(server): bound editor discovery during config loading (pingdotgg#4291)

* Prevent draft thread detail polling before shell registration (pingdotgg#4670)

Co-authored-by: codex <codex@users.noreply.github.com>

* feat: add configurable source control writing settings (pingdotgg#4204)

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* feat(diff-panel): show total line additions and deletions (pingdotgg#4674)

* Clear provider update actions while updating (pingdotgg#4676)

* Fix sidebar highlighting for draft threads (pingdotgg#4679)

* Use glass surfaces for web toasts (pingdotgg#4681)

* Show origin ref in branch trigger label (pingdotgg#4680)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(mobile): match react version to react-native 0.85.3 vendored renderer (19.2.3) (pingdotgg#4675)

* chore(release): prepare v0.0.29

* Add OTA update checks to mobile settings (pingdotgg#4686)

* fix(mobile): threads load snapped to bottom on iOS (pingdotgg#4689)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* feat: default sidebar v2 on for nightly and dev builds (pingdotgg#4491)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(web): 33 web UI fixes (pingdotgg#4700)

* Make mobile Thread List v2 the default (pingdotgg#4717)

* Fix mobile showcase workflow without Clerk (pingdotgg#4718)

* Fix relay credential lookup for unlinked environments (pingdotgg#4692)

Co-authored-by: codex <codex@users.noreply.github.com>

* Settle merged PR threads immediately (pingdotgg#4704)

* feat(web): add maria's sidebar header artwork toggle (pingdotgg#4652)

* feat(web): add appearance settings category (pingdotgg#4715)

* fix(desktop): allow updater-controlled relaunch (pingdotgg#4721)

* fix(web): prevent diff panel scroll jumping (pingdotgg#4724)

* Link inline code file paths in chat markdown (pingdotgg#4726)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Fix Android showcase capture and rebuild v2 queued rows (pingdotgg#4730)

Co-authored-by: Claude <noreply@anthropic.com>

* perf(server): negotiate permessage-deflate on the websocket (pingdotgg#4705)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* docs: overhaul agent guidance (pingdotgg#4782)

* Prevent sidebar row labels from truncating (pingdotgg#4789)

* perf(server): gzip large thread snapshots (pingdotgg#4788)

* fix(web): stashed prompts now survive switching providers (pingdotgg#4787)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Fix Git ref refresh resource storms (pingdotgg#4727)

Co-authored-by: codex <codex@users.noreply.github.com>

* perf(server): trim stale context-window rows and drop dead replay RPC (pingdotgg#4791)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): defer command palette filesystem navigation (pingdotgg#2109)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(release): skip scripts during Vercel installs (pingdotgg#4796)

* refactor(client): share filesystem browse navigation (pingdotgg#4797)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(mobile): defer filesystem navigation (pingdotgg#4799)

Co-authored-by: codex <codex@users.noreply.github.com>

* refactor(server): use native HTTP compression streams (pingdotgg#4798)

Co-authored-by: codex <codex@users.noreply.github.com>

* Remove Connect waitlist and add GA announcement tooling (pingdotgg#4691)

* Fix Connect sign-in settings label (pingdotgg#4806)

* chore(release): prepare v0.0.30

* fix(desktop): restore T3 Connect sign-in (pingdotgg#4809)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Simplify files panel header (pingdotgg#4828)

* build(desktop): reduce installed app size by ~300MB (pingdotgg#4824)

* Update model version from claude-opus-4-8 to claude-opus-5 (pingdotgg#4832)

* Preserve the thread shell while detail loads (pingdotgg#4830)

* Reduce idle work and disk churn with native resource diagnostics (pingdotgg#2679)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(server): detect repositories after initialization (pingdotgg#4848)

* perf(server): merge separate staged/unstaged numstat calls into single diff HEAD --numstat (pingdotgg#4843)

* fix(git): disable external diff for review diff previews (pingdotgg#4854)

* Fix editable file focus and live syntax highlighting (pingdotgg#3979)

* fix(web): remember the rendered-markdown choice across threads (pingdotgg#4853)

Co-authored-by: Simon Doba <simon.doba@orbit.de>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>

* chore(release): prepare v0.0.31

* fix(mobile): reduce thread feed scroll jank (pingdotgg#4874)

* fix(web): restore sidebar v2 thread actions and terminal icon (pingdotgg#4712)

* fix(web): settle button now works on hover, not just right-click (pingdotgg#4905)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(clients): disable add project while disconnected (pingdotgg#4834)

* fix(composer): hide default Codex service tier (pingdotgg#4784)

* docs: link iOS and Android app store downloads (pingdotgg#4902)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): align remote server update action (pingdotgg#4731)

* fix(connect): suggest a serve command that matches how you ran connect (pingdotgg#4897)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(mobile): stop shared content errors in Personal Team builds (pingdotgg#4943)

* perf(mobile): sends respond instantly, thread opens stop freezing (pingdotgg#4882)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): show Codex fast mode as a bolt (pingdotgg#4947)

* docs: seed worktrees with a copy of real userdata instead of banning it (pingdotgg#4949)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(mobile): support dragged images in the composer (pingdotgg#4953)

* fix(mobile): stop long iOS threads from jumping while scrolling up (pingdotgg#4867)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): keep worktree default when switching a draft's machine (pingdotgg#4964)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* perf(mobile): reconnect environments immediately on resume (pingdotgg#4878)

* feat(web): pasting a huge screenshot now compresses it instead of erroring (pingdotgg#4967)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* feat(web): regenerate thread titles from sidebar (pingdotgg#4810)

* fix(web): show server update progress through reconnect (pingdotgg#4903)

* feat(search): find threads by conversation content (pingdotgg#4959)

* fix: marketing site Vercel builds no longer die after ~100 deploys (pingdotgg#4975)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* docs: split user and maintainer docs, fix 100+ stale claims (pingdotgg#4807)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): server updates no longer look like warnings (pingdotgg#4992)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(connect): reboots no longer strand the relay link, 403s now say why (pingdotgg#4988)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Add project file picker (⌘P) and project content search (⇧⌘F) (pingdotgg#4855)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Check for mobile app updates on launch (pingdotgg#4958)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(mobile): support pre-Liquid-Glass iOS bottom toolbar (pingdotgg#4984)

* fix(server): restore PR detection without HOME (pingdotgg#4985)

* fix(web): fill fast mode icon (pingdotgg#5004)

* fix: cache project favicons across web and mobile (pingdotgg#4767)

* perf(ci): cut stale runs and redundant setup (pingdotgg#4802)

* chore(mobile): bump app version to 1.0.1

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* style(web): make scroll-to-end pill translucent (pingdotgg#5036)

* fix(ci): drop sparse-checkout from EAS workflows

actions/checkout implements sparse-checkout with --filter=blob:none, so
the runner repo is a partial clone missing the .repos/ blobs. eas-cli
archives the project via `git clone --depth 1 file://<workspace>`,
which upload-pack cannot serve from a partial clone and exits 128
(pingdotgg#4802 broke both EAS build workflows this way).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(desktop): bump Clerk Electron SDK to 0.0.24 and register t3code:// scheme on Linux (pingdotgg#5015)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* perf(server): cache default branch name and origin existence across status refreshes (pingdotgg#5008)

* feat(shared): support shorthand (major-only) versions in the semver helpers (pingdotgg#5027)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(mobile): remove unnecessary photo library permission (pingdotgg#4929)

* fix(shared): lenient JSON parser deletes commas inside string values (pingdotgg#5025)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(mobile): default bare IP pairing to HTTP (pingdotgg#4990)

* fix(mobile): restore iOS Threads branding (pingdotgg#4862)

* chore: add mobile issue template area (pingdotgg#4895)

* fix(desktop): link release notes from the update downloaded toast (pingdotgg#4771)

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>

* fix(mobile): accept Android clipboard images in composer (pingdotgg#4836)

* fix(mobile): show the correct build channel in Android's Threads page header (pingdotgg#4861)

* fix(contracts): decode growing config unions forward-compatibly (pingdotgg#5055)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(mobile): server model, worktree, and origin preferences now apply to new tasks (pingdotgg#5064)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(ci): repair the mobile showcase screenshots workflow (pingdotgg#5057)

* fix(ci): capture iPad App Store screenshots in landscape (pingdotgg#5065)

* fix(oxlint-plugin): Resolve the oxlint bin without assuming a pnpm layout (pingdotgg#5066)

* feat(cli): `npx t3 pair` - generate QR code from a running server (pingdotgg#4955)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(server): self-update no longer rolls itself back on restart (pingdotgg#5095)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(ci): rotate iPad showcase captures without Simulator UI scripting (pingdotgg#5094)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* feat(web): render terminals with libghostty-vt (pingdotgg#4860)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* refactor: move the canonical libghostty-vt vendor to the repository root (pingdotgg#5102)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* feat(mobile): add thread snoozing (pingdotgg#5053)

* feat(mobile): make settled threads collapsible (pingdotgg#5056)

* follow-up normalization after pingdotgg#4700. (pingdotgg#4498)

Co-authored-by: T3 Code Test <t3code-test@example.com>

* feat(web): search threads from the sidebar (pingdotgg#4769)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* feat(release): prepare Command Center desktop v1

* fix(ci): allow public release publisher identity

* fix(web): avoid Windows preview path collision

* test(release): reject Windows module path collisions

* fix(release): bundle command center core

* fix: audit preserved upstream history safely

* feat(providers): add Kimi, subagents, and usage analytics

* fix(ci): repair reconnects and PNG safety scanning

* test(desktop): update Clerk environment fixture

* fix(ci): align provider and server integration contracts

* perf(web): skip impossible image encodings

* fix command center chats on native desktop hosts

---------

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Co-authored-by: Tristan Knight <tris203@gmail.com>
Co-authored-by: Christoph Herzog <a.github@omega-id.com>
Co-authored-by: Andrew Barnes <bortstheboat@gmail.com>
Co-authored-by: Shoaib <shoaib050326@gmail.com>
Co-authored-by: Shoaib Ansari <shoaibansari@Shoaibs-Mac-mini.local>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Guilherme Vieira <46866023+GuilhermeVieiraDev@users.noreply.github.com>
Co-authored-by: James <105842516+jamesx0416@users.noreply.github.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: root <root@localhost.localdomain>
Co-authored-by: Andrew Forster <76947376+Andrew-Forster@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Chris Michael Guzman <67719167+Chrrxs@users.noreply.github.com>
Co-authored-by: Vadym Kotai <vdmkotai@gmail.com>
Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com>
Co-authored-by: xxashxx-svg <xxanshxx9@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Maxwell Young <maxtheyoung@gmail.com>
Co-authored-by: Yordis Prieto <yordis.prieto@gmail.com>
Co-authored-by: Rhiz3K <33246262+Rhiz3K@users.noreply.github.com>
Co-authored-by: Rhiz3K <rhiz3k@protonmail.com>
Co-authored-by: Anirudh Coontoor <me@anirudhs.net>
Co-authored-by: Rusiru Sadathana <rusirusadathana@gmail.com>
Co-authored-by: ss <69873514+sandersonstabo@users.noreply.github.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: maria-rcks <maria@kuuro.net>
Co-authored-by: Leonel Rivas <encriptandost@gmail.com>
Co-authored-by: Jaret Bottoms <jaretbottoms@gmail.com>
Co-authored-by: Ishan <ishansachu1@gmail.com>
Co-authored-by: Yukun Shan <92423096+nateEc@users.noreply.github.com>
Co-authored-by: Miklós Fazekas <mfazekas@szemafor.com>
Co-authored-by: Henry Zhang <113233555+caezium@users.noreply.github.com>
Co-authored-by: Rushikesh Gaikwad <81632222+Wraient@users.noreply.github.com>
Co-authored-by: legs <145564979+justsomelegs@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: tomlit <tomlit@gmail.com>
Co-authored-by: jan <hi@4bs3nt.com>
Co-authored-by: Alex Southwell <saphid@gmail.com>
Co-authored-by: Max Katz <me@maxkatz.me>
Co-authored-by: Krzysztof Moch <krzysmoch.programs@gmail.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Alex <me@pixp.cc>
Co-authored-by: wukko <me@wukko.me>
Co-authored-by: Wout Stiens <71498452+StiensWout@users.noreply.github.com>
Co-authored-by: ohbentos <72638975+ohbentos@users.noreply.github.com>
Co-authored-by: Jake Leventhal <jakeleventhal@me.com>
Co-authored-by: Simon Doba <simon.doba@hotmail.de>
Co-authored-by: Simon Doba <simon.doba@orbit.de>
Co-authored-by: Gabriel De Andrade <30420087+gabrielelpidio@users.noreply.github.com>
Co-authored-by: Jono Kemball <Noojuno@users.noreply.github.com>
Co-authored-by: Arham Amin <132888838+arhxam@users.noreply.github.com>
Co-authored-by: Elaine Lyons <elaine@lyons.app>
Co-authored-by: Simone <lucenz@proton.me>
Co-authored-by: Max Anderson <max.a.anderson95@gmail.com>
Co-authored-by: Aditya Vardhan Sharma <adityaradhika13@gmail.com>
Co-authored-by: Mike Olson <mwolson@member.fsf.org>
Co-authored-by: T3 Code Test <t3code-test@example.com>
Co-authored-by: atryan <atryan@users.noreply.github.com>
awtprod added a commit to awtprod/t3-code that referenced this pull request Aug 8, 2026
* feat(web): add collapse-all toggle to diff panel (pingdotgg#4475)

* feat(web): show fast mode as a bolt instead of a "Normal" label (pingdotgg#4488)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* feat(dev): keep worktree dev state isolated on T3 Code dev servers (pingdotgg#4555)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* feat(dev): Make t3 code dev instances shareable over Tailscale (pingdotgg#4556)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(dev): skip browser-blocked ports (pingdotgg#4608)

* fix: cut websocket throughput in half by pruning activity payloads (pingdotgg#4622)

* perf(mobile): defer work-log detail serialization (pingdotgg#4607)

* test: account for lazy thread feed details (pingdotgg#4628)

* feat(relay): limit managed tunnels per user (pingdotgg#4530)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Add managed tunnel limits migration (pingdotgg#4635)

* Add background preview capture and picture-in-picture support (pingdotgg#4397)

Co-authored-by: codex <codex@users.noreply.github.com>

* feat(web): prompt stash — cmd+S saves the composer to a per-provider queue (pingdotgg#4453)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Upgrade Effect and Alchemy betas (pingdotgg#4643)

Prepare Relay production infrastructure for the PlanetScale PS_20 HA topology, upgrade Effect and Alchemy to compatible betas, reconcile migration state, and preserve patched MCP session termination behavior.\n\nCo-authored-by: codex <codex@users.noreply.github.com>

* feat: allow new thread creation through project breadcrumbs (pingdotgg#4638)

* fix(web): scope PR state to the thread branch (pingdotgg#4460)

Co-authored-by: codex <codex@users.noreply.github.com>

* Drop redundant Relay user indexes (pingdotgg#4648)

Co-authored-by: codex <codex@users.noreply.github.com>

* feat(connect): release the Cloudflare tunnel when the environment shuts down (pingdotgg#4531)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Fix Relay Worker RuntimeContext wiring (pingdotgg#4653)

Co-authored-by: codex <codex@users.noreply.github.com>

* Fix live sidebar resize limits and defer Alchemy runtime context (pingdotgg#4655)

* fix(web): constrain branch toolbar context (pingdotgg#4657)

* Keep MCP credentials alive across provider turns (pingdotgg#4659)

* fix: close actions dropdown when editing (pingdotgg#4660)

* fix(preview): stabilize PiP viewport identity (pingdotgg#4661)

Co-authored-by: codex <codex@users.noreply.github.com>

* Add glass styling for thread tooltips and simplify preview tab handling (pingdotgg#4665)

* Use tarball archiving for hosted web deploys (pingdotgg#4669)

* fix(server): bound editor discovery during config loading (pingdotgg#4291)

* Prevent draft thread detail polling before shell registration (pingdotgg#4670)

Co-authored-by: codex <codex@users.noreply.github.com>

* feat: add configurable source control writing settings (pingdotgg#4204)

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* feat(diff-panel): show total line additions and deletions (pingdotgg#4674)

* Clear provider update actions while updating (pingdotgg#4676)

* Fix sidebar highlighting for draft threads (pingdotgg#4679)

* Use glass surfaces for web toasts (pingdotgg#4681)

* Show origin ref in branch trigger label (pingdotgg#4680)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(mobile): match react version to react-native 0.85.3 vendored renderer (19.2.3) (pingdotgg#4675)

* chore(release): prepare v0.0.29

* Add OTA update checks to mobile settings (pingdotgg#4686)

* fix(mobile): threads load snapped to bottom on iOS (pingdotgg#4689)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* feat: default sidebar v2 on for nightly and dev builds (pingdotgg#4491)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(web): 33 web UI fixes (pingdotgg#4700)

* Make mobile Thread List v2 the default (pingdotgg#4717)

* Fix mobile showcase workflow without Clerk (pingdotgg#4718)

* Fix relay credential lookup for unlinked environments (pingdotgg#4692)

Co-authored-by: codex <codex@users.noreply.github.com>

* Settle merged PR threads immediately (pingdotgg#4704)

* feat(web): add maria's sidebar header artwork toggle (pingdotgg#4652)

* feat(web): add appearance settings category (pingdotgg#4715)

* fix(desktop): allow updater-controlled relaunch (pingdotgg#4721)

* fix(web): prevent diff panel scroll jumping (pingdotgg#4724)

* Link inline code file paths in chat markdown (pingdotgg#4726)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Fix Android showcase capture and rebuild v2 queued rows (pingdotgg#4730)

Co-authored-by: Claude <noreply@anthropic.com>

* perf(server): negotiate permessage-deflate on the websocket (pingdotgg#4705)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* docs: overhaul agent guidance (pingdotgg#4782)

* Prevent sidebar row labels from truncating (pingdotgg#4789)

* perf(server): gzip large thread snapshots (pingdotgg#4788)

* fix(web): stashed prompts now survive switching providers (pingdotgg#4787)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Fix Git ref refresh resource storms (pingdotgg#4727)

Co-authored-by: codex <codex@users.noreply.github.com>

* perf(server): trim stale context-window rows and drop dead replay RPC (pingdotgg#4791)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): defer command palette filesystem navigation (pingdotgg#2109)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(release): skip scripts during Vercel installs (pingdotgg#4796)

* refactor(client): share filesystem browse navigation (pingdotgg#4797)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(mobile): defer filesystem navigation (pingdotgg#4799)

Co-authored-by: codex <codex@users.noreply.github.com>

* refactor(server): use native HTTP compression streams (pingdotgg#4798)

Co-authored-by: codex <codex@users.noreply.github.com>

* Remove Connect waitlist and add GA announcement tooling (pingdotgg#4691)

* Fix Connect sign-in settings label (pingdotgg#4806)

* chore(release): prepare v0.0.30

* fix(desktop): restore T3 Connect sign-in (pingdotgg#4809)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Simplify files panel header (pingdotgg#4828)

* build(desktop): reduce installed app size by ~300MB (pingdotgg#4824)

* Update model version from claude-opus-4-8 to claude-opus-5 (pingdotgg#4832)

* Preserve the thread shell while detail loads (pingdotgg#4830)

* Reduce idle work and disk churn with native resource diagnostics (pingdotgg#2679)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(server): detect repositories after initialization (pingdotgg#4848)

* perf(server): merge separate staged/unstaged numstat calls into single diff HEAD --numstat (pingdotgg#4843)

* fix(git): disable external diff for review diff previews (pingdotgg#4854)

* Fix editable file focus and live syntax highlighting (pingdotgg#3979)

* fix(web): remember the rendered-markdown choice across threads (pingdotgg#4853)

Co-authored-by: Simon Doba <simon.doba@orbit.de>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>

* chore(release): prepare v0.0.31

* fix(mobile): reduce thread feed scroll jank (pingdotgg#4874)

* fix(web): restore sidebar v2 thread actions and terminal icon (pingdotgg#4712)

* fix(web): settle button now works on hover, not just right-click (pingdotgg#4905)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(clients): disable add project while disconnected (pingdotgg#4834)

* fix(composer): hide default Codex service tier (pingdotgg#4784)

* docs: link iOS and Android app store downloads (pingdotgg#4902)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): align remote server update action (pingdotgg#4731)

* fix(connect): suggest a serve command that matches how you ran connect (pingdotgg#4897)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(mobile): stop shared content errors in Personal Team builds (pingdotgg#4943)

* perf(mobile): sends respond instantly, thread opens stop freezing (pingdotgg#4882)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): show Codex fast mode as a bolt (pingdotgg#4947)

* docs: seed worktrees with a copy of real userdata instead of banning it (pingdotgg#4949)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(mobile): support dragged images in the composer (pingdotgg#4953)

* fix(mobile): stop long iOS threads from jumping while scrolling up (pingdotgg#4867)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): keep worktree default when switching a draft's machine (pingdotgg#4964)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* perf(mobile): reconnect environments immediately on resume (pingdotgg#4878)

* feat(web): pasting a huge screenshot now compresses it instead of erroring (pingdotgg#4967)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* feat(web): regenerate thread titles from sidebar (pingdotgg#4810)

* fix(web): show server update progress through reconnect (pingdotgg#4903)

* feat(search): find threads by conversation content (pingdotgg#4959)

* fix: marketing site Vercel builds no longer die after ~100 deploys (pingdotgg#4975)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* docs: split user and maintainer docs, fix 100+ stale claims (pingdotgg#4807)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): server updates no longer look like warnings (pingdotgg#4992)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(connect): reboots no longer strand the relay link, 403s now say why (pingdotgg#4988)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Add project file picker (⌘P) and project content search (⇧⌘F) (pingdotgg#4855)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Check for mobile app updates on launch (pingdotgg#4958)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(mobile): support pre-Liquid-Glass iOS bottom toolbar (pingdotgg#4984)

* fix(server): restore PR detection without HOME (pingdotgg#4985)

* fix(web): fill fast mode icon (pingdotgg#5004)

* fix: cache project favicons across web and mobile (pingdotgg#4767)

* perf(ci): cut stale runs and redundant setup (pingdotgg#4802)

* chore(mobile): bump app version to 1.0.1

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* style(web): make scroll-to-end pill translucent (pingdotgg#5036)

* fix(ci): drop sparse-checkout from EAS workflows

actions/checkout implements sparse-checkout with --filter=blob:none, so
the runner repo is a partial clone missing the .repos/ blobs. eas-cli
archives the project via `git clone --depth 1 file://<workspace>`,
which upload-pack cannot serve from a partial clone and exits 128
(pingdotgg#4802 broke both EAS build workflows this way).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(desktop): bump Clerk Electron SDK to 0.0.24 and register t3code:// scheme on Linux (pingdotgg#5015)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* perf(server): cache default branch name and origin existence across status refreshes (pingdotgg#5008)

* feat(shared): support shorthand (major-only) versions in the semver helpers (pingdotgg#5027)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(mobile): remove unnecessary photo library permission (pingdotgg#4929)

* fix(shared): lenient JSON parser deletes commas inside string values (pingdotgg#5025)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(mobile): default bare IP pairing to HTTP (pingdotgg#4990)

* fix(mobile): restore iOS Threads branding (pingdotgg#4862)

* chore: add mobile issue template area (pingdotgg#4895)

* fix(desktop): link release notes from the update downloaded toast (pingdotgg#4771)

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>

* fix(mobile): accept Android clipboard images in composer (pingdotgg#4836)

* fix(mobile): show the correct build channel in Android's Threads page header (pingdotgg#4861)

* fix(contracts): decode growing config unions forward-compatibly (pingdotgg#5055)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(mobile): server model, worktree, and origin preferences now apply to new tasks (pingdotgg#5064)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(ci): repair the mobile showcase screenshots workflow (pingdotgg#5057)

* fix(ci): capture iPad App Store screenshots in landscape (pingdotgg#5065)

* fix(oxlint-plugin): Resolve the oxlint bin without assuming a pnpm layout (pingdotgg#5066)

* feat(cli): `npx t3 pair` - generate QR code from a running server (pingdotgg#4955)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(server): self-update no longer rolls itself back on restart (pingdotgg#5095)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(ci): rotate iPad showcase captures without Simulator UI scripting (pingdotgg#5094)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* feat(web): render terminals with libghostty-vt (pingdotgg#4860)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* refactor: move the canonical libghostty-vt vendor to the repository root (pingdotgg#5102)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* feat(mobile): add thread snoozing (pingdotgg#5053)

* feat(mobile): make settled threads collapsible (pingdotgg#5056)

* follow-up normalization after pingdotgg#4700. (pingdotgg#4498)

Co-authored-by: T3 Code Test <t3code-test@example.com>

* feat(web): search threads from the sidebar (pingdotgg#4769)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* feat(web): add settings sidebar search (pingdotgg#4682)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix: threads with open PRs no longer auto-settle (pingdotgg#5151)

* fix(server): bound thread catch-up replay and stop full-DB snapshot hydration (pingdotgg#5147)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(server): follow branch drift in dedicated worktrees so PRs link to their thread (pingdotgg#5159)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(server): make remote updates rollback-safe (pingdotgg#5181)

* fix(web): stop settle controls overlapping the status label (pingdotgg#4574)

* fix: normalize app icon glyph sizing (pingdotgg#5202)

Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>

* fix(server): surface cloudflared FTL/PNC relay logs as warnings, not debug (pingdotgg#5076)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(server): stop npx service updates from silently leaving the old server running (pingdotgg#5217)

Co-authored-by: Claude <noreply@anthropic.com>

* feat: fold legacy models into separate menus (pingdotgg#5190)

* fix(desktop): claim the t3code:// scheme default on Linux at startup (pingdotgg#5054)

* fix(web): polish interface spacing (pingdotgg#5252)

* fix(desktop): Niri/Hyprland - Linux secret storage backend (pingdotgg#2916)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(web): match loading screen to dark theme (pingdotgg#5303)

* fix(web): blink the terminal cursor again (pingdotgg#5314)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(terminal): protect held Ctrl/Cmd+W close shortcut (pingdotgg#5322)

* fix(server): strip replayable terminal queries from history (pingdotgg#5319)

* fix(contracts): decode ServerProviders forward-compatibly (pingdotgg#5327)

Co-authored-by: Rodrigo Brechard <rodrigo@clubtidy.fr>

* fix(web): simplify chat code blocks (pingdotgg#5301)

* fix(web): align multiline error alert controls (pingdotgg#5304)

* Upgrade Effect to beta.103 (pingdotgg#5331)

* fix(web): increase tooltip z-index to overlay popovers and menus (pingdotgg#5326)

* fix(server): use a Cursor todo's title when its content is blank (pingdotgg#5073)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(ssh): isolate managed tunnel processes (pingdotgg#4347)

* fix(server): scrub AppImage XDG_DATA_DIRS and GSETTINGS_SCHEMA_DIR from terminals (pingdotgg#5075)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(mobile): show correct provider icons for Grok, Cursor, and OpenCode (pingdotgg#4586)

* fix(web): stop the chat timeline reading through the provider status banner (pingdotgg#5353)

* fix(desktop,web): contain renderer memory growth and recover from renderer OOM crashes (pingdotgg#5148)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(server): generate durable thread titles (pingdotgg#5357)

* fix(web): better right panel (new diffs styling) (pingdotgg#5260)

* fix(server): keep regenerated titles on topic (pingdotgg#5365)

* refactor(server): make title prompts plaintext (pingdotgg#5368)

* feat(web): configurable fonts and sizes under Settings → Appearance (pingdotgg#5103)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* feat(sidebar-v2): thread pinning for sidebar v2 (pingdotgg#5312)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* feat(web): make pairing QR codes actually scannable, with endpoint choice (pingdotgg#5360)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(desktop,web): improve in-app browser shortcuts and URL behavior (pingdotgg#4703)

* fix(web): prevent legacy model picker layout shift (pingdotgg#5349)

* fix(server): allow remote updates with database migrations (pingdotgg#5374)

* fix(mcp): unblock Kimi models in OpenCode with preview tools (pingdotgg#5128)

* fix(web): clear main branch lint warnings (pingdotgg#5384)

* fix(mobile): preserve grouped project workspaces (pingdotgg#4642)

Co-authored-by: T3 Code Test <t3code-test@example.com>

* fix(mobile): prevent Android thread search crash (pingdotgg#5386)

* fix(web): truncate long project switcher names (pingdotgg#5348)

* fix(mobile): avoid double dividers between thread sections (pingdotgg#5391)

Co-authored-by: T3 Code Test <t3code-test@example.com>

* fix(web): keep the composer command menu anchored to the composer (pingdotgg#5336)

* fix(web): restore terminal link hover styles (pingdotgg#5382)

* fix(ci): isolate releases from shared API rate limits (pingdotgg#5394)

* fix(web): keep model picker shortcuts in sync (pingdotgg#5400)

* fix(web): keep terminal font settings reliable (pingdotgg#5397)

* Enrich terminal font previews (pingdotgg#5428)

* fix(web): preserve terminal font size when splitting (pingdotgg#5444)

Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>

* Prevent terminal loading flash (pingdotgg#5432)

* fix: reconnect faster after remote server updates (pingdotgg#5404)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* feat: native subagent & workflow observability (pingdotgg#5219)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* perf(server): stop shipping full MCP tool results in thread payloads (pingdotgg#5482)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): closed plan sidebar stays closed when returning to a thread (pingdotgg#5484)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix: respect time format for sidebar snooze (pingdotgg#4438)

* fix(web): calm one-row server update status and banner

The version-skew banner is no longer an amber warning: it reads
"Server update available" with the raw versions (unreadable for
nightlies) moved to a tooltip. The in-flight rail (Download/Install/
Resume) becomes a single status row, "Downloading…" then
"Restarting…", since the wire installing stage is a sub-second
launcher handoff and "resuming" meant nothing to most people.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(server): keep the managed tunnel across remote update restarts

Measured on a live update: the server was back in ~9s but stayed
unreachable for ~96s, because releasing the tunnel on shutdown forces
the replacement tunnel's hostname route through 1-2 minutes of edge
propagation. An update handoff always brings a server right back
(new version or rollback), so the tunnel is never orphaned; skip the
release when the launcher state file records a pending update. The
next boot respawns the connector from the stored config against the
same tunnel and is reachable as soon as it connects.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* test(server): use the launcher state writer in release tests

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(server): release the tunnel when an explicit stop interrupts an update

A pending update in the launcher state is not proof a replacement
server is coming: `t3 service uninstall` or `systemctl stop` during
the pending window also tears the server down, permanently. The
launcher now writes a stop marker before signalling its child on an
explicit stop and clears it on the next start; the shutdown tunnel
release keeps the tunnel only for pending updates without the marker.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(server): clean up interrupted update trials

* fix(server): order explicit service shutdown

* fix(web): make update version tooltips accessible

* fix(server): separate trial cleanup from handoff retention

* fix(server): drop superseded tool updates from snapshots

A tool.updated row is the in-flight snapshot of a call; once the call
completes, the tool.completed row carries the final state and both
clients fold every matching update into it. Shipping the updates buys
nothing: 47k such rows exist in one real database, and a single thread
carries 3,291 of them.

Filter them out of thread snapshots, mirroring the existing
context-window dedup. Matching is per turn and only against a LATER
completion, so a revert that discards the completing turn cannot leave
a call unrepresented, and a later update under the same identity (the
next call, still in flight) survives. Live events are untouched.

Rows are matched on the same identity the clients collapse by: an
explicit data.toolCallId when the adapter emits one, otherwise the
itemType/title/detail triple. No tool lifecycle row in the real db
carries a toolCallId, so the fallback does the work.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* docs(server): pin interleaved-collapse divergence as intentional with test

Bugbot flagged that clients collapse only adjacent lifecycle rows, so
dropping a superseded update separated by an interleaved parallel call
diverges from full-history rendering. Measured on a real database: 1.5%
of dropped rows (553/36,581), all pure in-flight state whose final result
the retained completion still shows, and zero dropped rows carry a
client-merged payload field their completion lacks (verified across all
49,515 update rows). Documents the tradeoff and adds a test pinning it.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(web): clarify auto permission fallback (pingdotgg#5431)

Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>

* fix(acp): keep unknown approvals actionable (pingdotgg#5430)

Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>

* fix(mobile): stop thread messages reading through pending cards (pingdotgg#5450)

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>

* fix(web): align composer inline chips with prompt text (pingdotgg#5495)

* fix(web): clear woke state on explicit thread actions (pingdotgg#5486)

* fix(server): skip origin fetch when creating worktrees in repos without an origin remote (pingdotgg#5556)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): update tooltip no longer dismisses when scrolling release notes (pingdotgg#5547)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(server): stop showing commit/push/PR notices as errors in the work log (pingdotgg#5559)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): show remote environment for non-Git projects (pingdotgg#5555)

* fix(server): stopping a Claude thread no longer shows an ede_diagnostic error (pingdotgg#5557)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): show one toast when snoozing threads in bulk (pingdotgg#5560)

* fix(server): let stopped threads settle immediately (pingdotgg#5553)

* feat: paginate thread loading with user-anchored turn windows (pingdotgg#5493)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix: prevent reconnect loops during server stalls (pingdotgg#5561)

Co-authored-by: t3-turbo-simulation <simulation@t3turbo.local>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Theo Browne <me@t3.gg>

* fix(server): settle stopped Claude subagents (pingdotgg#5568)

* fix: scrolling up during a running thread no longer snaps back to the bottom (pingdotgg#5566)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(server): one disconnecting client no longer blocks every reconnect (pingdotgg#5572)

Co-authored-by: Claude <noreply@anthropic.com>

* test(server): catch client transfer regressions in CI (pingdotgg#5350)

* fix(web): stop the "requests are slow" warning from firing on every provider update (pingdotgg#5570)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(web): keep agent panel rows stable (pingdotgg#5569)

* docs: ship production T3 Connect public config in .env.example (pingdotgg#5573)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): plans stop hijacking the UI, fold into chat instead (pingdotgg#5558)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* feat(web): remove Build/Plan toggle from the composer (pingdotgg#5551)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* feat(web): per-device provider settings (pingdotgg#4479)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(mobile): invisible T3 Connect devices can now be seen and removed (pingdotgg#5563)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix: add missing space before 'GitHub releases page' link on download page (pingdotgg#4511)

* fix(web): stop the sidebar "Working" label from pulsing (pingdotgg#5580)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* feat(web): add modular theme library (pingdotgg#5226)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>

* fix(web): reading a thread clears Done; Woke is dismissible (pingdotgg#5579)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* perf(dev): faster cold-start for dev web serving (pingdotgg#5584)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(dev): Improve instructions for --share (pingdotgg#5586)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(mobile): improve keyboard avoiding (pingdotgg#5451)

* fix(web): live background-work banner no longer hides behind the update notice (pingdotgg#5595)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): stabilize chat timeline positioning (pingdotgg#5449)

Co-authored-by: codex <codex@users.noreply.github.com>

* feat(server): record runtime mode per turn and on mode changes (pingdotgg#5593)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* feat(web): thread actions from the chat header title (pingdotgg#5592)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(mobile): avoid iOS terminal reset on clear (pingdotgg#5440)

* fix(mobile): pad scroll views above Android nav bar (pingdotgg#5415)

* fix(mobile): keep Android chat text from showing through the composer (pingdotgg#5582)

* fix(mobile): repair Clerk auth navigation headers (pingdotgg#5140)

Co-authored-by: codex <codex@users.noreply.github.com>

* Bump mobile app version to 1.0.2 (pingdotgg#5588)

* feat(web): click the pin icon to unpin a thread (pingdotgg#5578)

* fix(web): show the correctly matching shortcut in new thread button's tooltip (pingdotgg#5594)

* chore: advance public upstream baseline

* chore: advance upstream baseline to v0.0.32

* fix: align react native patch lock hash

---------

Co-authored-by: jan <hi@4bs3nt.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Alex Southwell <saphid@gmail.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Max Katz <me@maxkatz.me>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: Krzysztof Moch <krzysmoch.programs@gmail.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Alex <me@pixp.cc>
Co-authored-by: wukko <me@wukko.me>
Co-authored-by: Wout Stiens <71498452+StiensWout@users.noreply.github.com>
Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com>
Co-authored-by: ohbentos <72638975+ohbentos@users.noreply.github.com>
Co-authored-by: Jake Leventhal <jakeleventhal@me.com>
Co-authored-by: Simon Doba <simon.doba@hotmail.de>
Co-authored-by: Simon Doba <simon.doba@orbit.de>
Co-authored-by: Gabriel De Andrade <30420087+gabrielelpidio@users.noreply.github.com>
Co-authored-by: Jono Kemball <Noojuno@users.noreply.github.com>
Co-authored-by: Arham Amin <132888838+arhxam@users.noreply.github.com>
Co-authored-by: Elaine Lyons <elaine@lyons.app>
Co-authored-by: Simone <lucenz@proton.me>
Co-authored-by: Max Anderson <max.a.anderson95@gmail.com>
Co-authored-by: Aditya Vardhan Sharma <adityaradhika13@gmail.com>
Co-authored-by: Mike Olson <mwolson@member.fsf.org>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: T3 Code Test <t3code-test@example.com>
Co-authored-by: Illia Panasenko <hello@ipanasenko.me>
Co-authored-by: Rodrigo Brechard <rodrigobrechard@gmail.com>
Co-authored-by: Rodrigo Brechard <rodrigo@clubtidy.fr>
Co-authored-by: naMqe <naMqe07@gmail.com>
Co-authored-by: Yukun Shan <92423096+nateEc@users.noreply.github.com>
Co-authored-by: Rushikesh Gaikwad <81632222+Wraient@users.noreply.github.com>
Co-authored-by: Bilal Bakr <62337003+Bil0000@users.noreply.github.com>
Co-authored-by: Fllip <39161142+FllipEis@users.noreply.github.com>
Co-authored-by: Hwanseo Choi <electricvoxel@gmail.com>
Co-authored-by: Hugo Blom <6117705+huxcrux@users.noreply.github.com>
Co-authored-by: Carlos Rico-Ospina <carlosricojr@gmail.com>
Co-authored-by: Gabe Fletcher <gabe@editmypodcast.agency>
Co-authored-by: t3-turbo-simulation <simulation@t3turbo.local>
Co-authored-by: Mateleo <mateleo78@gmail.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: Jay Meistrich <github@jayz.us>
Co-authored-by: Justyn Leung <justynleung2000@gmail.com>
Co-authored-by: Tyler Saari <73684839+StoneCotton@users.noreply.github.com>
Co-authored-by: Pavlo Trinko <paul.trinko95@gmail.com>
Co-authored-by: atryan <atryan@users.noreply.github.com>
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:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants