Repository navigation
ci(mobile): production deploys use a Release Manager Expo token - #27285
Conversation
Previews (same-repo and, soon, reviewed fork commits) run PR code next to EXPO_TOKEN, a Developer robot. Production now uses EXPO_PRODUCTION_TOKEN, a Release Manager robot, so the production channel can be protected and a preview token can no longer publish OTAs to production users. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ApprovabilityVerdict: Needs Human Approval Macroscope's review found this PR requires human approval — Production builds and OTAs switch to a separate Expo Release Manager credential, while previews keep their existing token. Confirm the new credential’s production access and coordinate the subsequent channel protection; the first operational validation is currently deferred until after merge. You can add or adjust custom eligibility rules. Learn more. |
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
**v0.1.6-nightly.20261030.3904** · 21 changes from 3 contributors ## Highlights Protect the server from agents exhausting memory with `t3 service protect`. ## Fixes - Permissions checks retry after reconnecting (#27008) - Image-only messages no longer show a placeholder prompt (#26769) - The server remains responsive under agent resource pressure (#27176) - Held queues release agent and scheduled messages (#27221) - Agent restarts retry failures and respect parent stops (#27222) <details> <summary>Full changelog</summary> ## What's Changed * fix(client): retry the permissions check after a reconnect by @juliusmarminge in pingdotgg/t3code#27008 * fix(mobile): tab bar spans the screen on iOS before 26 by @juliusmarminge in pingdotgg/t3code#27089 * perf(server): thread recovery reads are 10x faster by @juliusmarminge in pingdotgg/t3code#27099 * perf(server): source control discovery no longer stalls up to 10s on Bitbucket by @juliusmarminge in pingdotgg/t3code#27102 * perf: huge checkpoints ship up to 75x smaller to clients by @juliusmarminge in pingdotgg/t3code#27110 * perf(server): sidebar shell loads 3x faster and startup thread counts 80x faster by @juliusmarminge in pingdotgg/t3code#27106 * perf(server): preparing a run is 15x faster and uses 200x less memory by @juliusmarminge in pingdotgg/t3code#27105 * feat(server): traces name what grew the heap, for ~0.3µs per span by @juliusmarminge in pingdotgg/t3code#27104 * perf(gitcafe): PR sync makes 2x fewer GitCafe requests for unchanged PRs by @juliusmarminge in pingdotgg/t3code#27100 * perf(shared): SQLite reads stop queueing behind each other, up to 5x faster under load by @juliusmarminge in pingdotgg/t3code#27097 * perf(server): git status runs in parallel and repo detection spawns 3x fewer git processes by @juliusmarminge in pingdotgg/t3code#27103 * fix(client): dead connection routes are probed 30x less often by @juliusmarminge in pingdotgg/t3code#27101 * perf(server): idle servers run 100x fewer background queries and 4.8M fewer spans a day by @juliusmarminge in pingdotgg/t3code#27098 * feat(devices): support Android EAS Simulator sessions by @SchroederNathan in pingdotgg/t3code#26797 * fix(web,mobile): image-only messages show the image, not the placeholder prompt by @maria-rcks in pingdotgg/t3code#26769 * ci(mobile): production deploys use a Release Manager Expo token by @juliusmarminge in pingdotgg/t3code#27285 * ci(mobile): maintainers can deploy EAS previews for reviewed fork commits by @juliusmarminge in pingdotgg/t3code#27292 * fix(server): agents yield CPU, tasks, and reclaim to the server under pressure by @juliusmarminge in pingdotgg/t3code#27176 * feat(server): `t3 service protect` keeps the server alive when agents fill memory by @juliusmarminge in pingdotgg/t3code#27239 * fix(server): held queues release agent and scheduled messages once the thread completes a run by @juliusmarminge in pingdotgg/t3code#27221 * fix(server): restart continuations retry failed starts and respect a parent's stop by @juliusmarminge in pingdotgg/t3code#27222 ## New Contributors * @SchroederNathan made their first contribution in pingdotgg/t3code#26797 **Full Changelog**: pingdotgg/t3code@v0.1.6-nightly.20261029.3892...v0.1.6-nightly.20261030.3904 </details> Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.1.6-nightly.20261030.3904
* feat(antigravity): Claude and GPT models, thinking levels, and diff edits (pingdotgg#26876) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(web): choose what the thread details card shows (pingdotgg#26904) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(updates): switch your whole fleet between Stable and Nightly in one step (pingdotgg#26288) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(antigravity): file reads no longer show unrelated errors (pingdotgg#26910) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(release): release notes and the update popover open with a short note (pingdotgg#26893) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(cli): t3 starts on a fresh Ubuntu server without libatomic (pingdotgg#26912) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): update everything no longer waits on npm for service hosts (pingdotgg#26917) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * test(web): pin the npm wait floor for update everything (pingdotgg#26921) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(antigravity): served reads stop spinning and duplicate model names are labeled (pingdotgg#26928) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): queue Copilot follow-ups without killing background agents (pingdotgg#26715) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): Antigravity effort no longer shows a speedometer in the composer (pingdotgg#26929) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(release): Linux CLI archives build on runners without package docs (pingdotgg#26932) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): reconnecting notice no longer shifts the new thread composer (pingdotgg#26958) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(marketing): homepage looks like the app (pingdotgg#26960) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * chore(release): prepare v0.1.5 * fix(cli): restore Windows desktop launcher console input (pingdotgg#24870) Co-authored-by: Nathan Shan <nathanielcrush51@gmail.com> Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com> Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com> * feat(settings): add and list 1Password secret providers behind T3CODE_FEATURE_SECRETS (pingdotgg#25709) Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): use monospace in the Android terminal preview (pingdotgg#23401) Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(web): edit from here uses a pencil icon (pingdotgg#21878) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(desktop): clear Cache Storage when deleting browser profile data (pingdotgg#22002) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(web): respect reduced motion in thread loading controls (pingdotgg#22100) Co-authored-by: SAPHID <saphid@users.noreply.github.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(provider-acp): redact API keys with underscores in ACP stderr logs (pingdotgg#24015) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(provider-core): redact compound credential keys in provider errors (pingdotgg#23313) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(web): show rounded diff counts as 1m instead of 1000k (pingdotgg#23723) Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(desktop): a timed-out login-shell probe no longer skips the server's PATH repair (pingdotgg#21771) Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): keep the previous preview browser version on a shared home (pingdotgg#23771) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(settings): servers check secret provider writes and keep unknown configs to themselves (pingdotgg#27044) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): keep a closed split terminal's tab in view (pingdotgg#22106) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(web): the ~ breadcrumb opens the home folder (pingdotgg#22412) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(gitlab): accept merge request URLs from self-hosted hosts (pingdotgg#23848) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): commits no longer land on a branch switched in mid-action (pingdotgg#24473) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): image attachments report their size when the T3 home is behind a symlink (pingdotgg#24245) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(ssh): skip directories in config includes (pingdotgg#25187) Co-authored-by: Alex Southwell <4596216+saphid@users.noreply.github.com> * fix(server): Authorized clients names Edge, Firefox and Opera on phones correctly (pingdotgg#23340) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(mobile): fork rows show a readable label instead of a thread ID (pingdotgg#22064) Co-authored-by: Jeremiah Jordan <zanson@zanson.org> Co-authored-by: GPT-6.1-Sol <noreply@openai.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(markdown): formulas ending in a comma render (pingdotgg#22883) Co-authored-by: maria-rcks <maria@kuuro.net> * fix(scripts): dev runner expands ~ in --home-dir and T3CODE_HOME (pingdotgg#25560) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(desktop): keep development protocol requests on the configured server (pingdotgg#22010) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(mobile): apply terminal toolbar modifiers to arrow keys (pingdotgg#22161) Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): clean old logs and artifacts under a symlinked T3 home (pingdotgg#24097) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): preserve URL arguments in Android device actions (pingdotgg#25205) Co-authored-by: Alex Southwell <4596216+saphid@users.noreply.github.com> * fix(server): keep terminal history after cancelled sequences (pingdotgg#25193) Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com> * fix(auth): accept a typed pairing code regardless of letter case (pingdotgg#22089) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(web): find in thread opens from the thread title menu, so phones can reach it (pingdotgg#22352) Co-authored-by: maria-rcks <maria@kuuro.net> * fix(desktop): resolve executable commands when checking CLI shadowing (pingdotgg#22046) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): SQLite temp files no longer block the event loop (pingdotgg#24194) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): a branch named like a tag no longer reads as heads/<name> (pingdotgg#24258) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): cap generated worktree folder names (pingdotgg#25212) Co-authored-by: Dara Adedeji <76637177+SunkenInTime@users.noreply.github.com> * perf(server): checkpoint capture scans the index listing by record instead of by byte (pingdotgg#21329) Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): PR discovery sweeps skip hidden subagent threads (pingdotgg#26983) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(shared): stop parsing CLI flags after -- (pingdotgg#25204) Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com> * fix(server): remove abandoned v1 database copies on startup (pingdotgg#25301) Co-authored-by: Matěj Suchánek <16311043+immakermatty@users.noreply.github.com> * fix(web): Enter no longer skips an unanswered question (pingdotgg#23626) Co-authored-by: maria-rcks <maria@kuuro.net> * fix(web): keep wide characters in terminal links (pingdotgg#24013) Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): session stops no longer trigger storage sweeps unless a deleted worktree waits (pingdotgg#26038) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(provider-core): subagent threads no longer inherit the parent's pin (pingdotgg#21271) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> * fix(device): report failed Android permission changes (pingdotgg#22358) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): thread lists load beyond SQLite variable limit (pingdotgg#25696) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): allow large git status metadata (pingdotgg#25207) Co-authored-by: Alex Southwell <4596216+saphid@users.noreply.github.com> * perf(mobile): flatten large file trees without copying descendants (pingdotgg#21276) Co-authored-by: maria-rcks <maria@kuuro.net> * fix(web): show theme conflicts even when another import fails (pingdotgg#23223) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(usage): reject cyclic model mappings before saving (pingdotgg#23963) Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(settings): offer Use existing CLI in managed Codex settings (pingdotgg#23160) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(git): honor project provider settings (pingdotgg#23672) Co-authored-by: Tejas Parmar <parmartejas@vanojay.in> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(desktop): force-close stalled Linux MIME cache helpers (pingdotgg#25210) Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com> * fix(cli): auth pairing create rejects a --base-url without http(s):// (pingdotgg#23343) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): signed asset and upload URLs stay out of HTTP traces (pingdotgg#24556) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): clone errors no longer show a token from the URL's query (pingdotgg#24698) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(claude): pass every --add-dir launch directory to Claude (pingdotgg#23281) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(composer): retry expired catalogs after failed discovery (pingdotgg#23174) Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(auth): preserve pairing codes after scope rejection (pingdotgg#25222) Co-authored-by: Alex Southwell <4596216+saphid@users.noreply.github.com> * fix(mobile): discard unchanged queued edits after starting (pingdotgg#25232) Co-authored-by: Tristan Knight <18444302+tris203@users.noreply.github.com> * fix(server): t3 project commands wait for a busy server's reply (pingdotgg#24090) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(web): wait for fresh diff pages in review guides (pingdotgg#23225) Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): Antigravity stops retrying session startup while signed out (pingdotgg#24939) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(web): create tasks on a permitted connected environment (pingdotgg#23244) Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(mobile): recognize this thread's main checkout (pingdotgg#23764) Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(web): keep usage hubs that share a host (pingdotgg#23767) Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(github): read text and mixed-case pull request templates (pingdotgg#25025) Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com> * fix(web): keep HTML prototype selection rings visible (pingdotgg#23745) Co-authored-by: maria-rcks <maria@kuuro.net> Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> * fix(mobile): list pull request repositories once per environment (pingdotgg#25219) Co-authored-by: Tristan Knight <18444302+tris203@users.noreply.github.com> * fix(shared): Open in Zed prefers zeditor over the ZFS zed on Linux (pingdotgg#23416) Signed-off-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com> Co-authored-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): native Codex subagents no longer show the parent's reasoning effort (pingdotgg#24467) Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): mark unread works after an automatic compaction (pingdotgg#25286) Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): show MCP App forms from failed tool results (pingdotgg#25225) Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com> * fix(server): restore Linux session display for editor launches (pingdotgg#25228) Co-authored-by: Inaya Yousfi <193243337+inayayousfi@users.noreply.github.com> * fix(usage): keep host identity across container recreation (pingdotgg#25220) Co-authored-by: maria <254055478+maria-rcks@users.noreply.github.com> * fix(opencode): authenticate with the resolved server password (pingdotgg#25230) Co-authored-by: Alex Southwell <4596216+saphid@users.noreply.github.com> Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> * feat(web): allow resizing the file explorer (pingdotgg#25737) Co-authored-by: Rishabh Bothra <37180068+07rjain@users.noreply.github.com> * fix(server): update shared Codex installs from their owning home (pingdotgg#25235) Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com> * fix(cli): keep published runtimes in place during installation (pingdotgg#24092) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(web): right panel launcher letters work on non-Latin keyboard layouts (pingdotgg#21508) Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): report a deleted or replaced ownership lock (pingdotgg#21886) Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): mark unread no longer brings back a dismissed wake (pingdotgg#24080) Co-authored-by: maria-rcks <maria@kuuro.net> * fix(mobile): stop refreshes in hidden PR Guide panes (pingdotgg#25486) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: maria-rcks <maria@kuuro.net> * fix(desktop): installing the t3 command no longer reports its own launcher as another t3 (pingdotgg#22375) Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> * test(mobile): load the branch occupancy test without native sources (pingdotgg#27063) Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> * fix(settings): project edits keep overrides the client does not know (pingdotgg#24472) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net> Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> * fix(client): retry the permissions check after a reconnect (pingdotgg#27008) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): tab bar spans the screen on iOS before 26 (pingdotgg#27089) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(server): thread recovery reads are 10x faster (pingdotgg#27099) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(server): source control discovery no longer stalls up to 10s on Bitbucket (pingdotgg#27102) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf: huge checkpoints ship up to 75x smaller to clients (pingdotgg#27110) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(server): sidebar shell loads 3x faster and startup thread counts 80x faster (pingdotgg#27106) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(server): preparing a run is 15x faster and uses 200x less memory (pingdotgg#27105) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(server): traces name what grew the heap, for ~0.3µs per span (pingdotgg#27104) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(gitcafe): PR sync makes 2x fewer GitCafe requests for unchanged PRs (pingdotgg#27100) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(shared): SQLite reads stop queueing behind each other, up to 5x faster under load (pingdotgg#27097) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(server): git status runs in parallel and repo detection spawns 3x fewer git processes (pingdotgg#27103) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(client): dead connection routes are probed 30x less often (pingdotgg#27101) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(server): idle servers run 100x fewer background queries and 4.8M fewer spans a day (pingdotgg#27098) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(devices): support Android EAS Simulator sessions (pingdotgg#26797) Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web,mobile): image-only messages show the image, not the placeholder prompt (pingdotgg#26769) * ci(mobile): production deploys use a Release Manager Expo token (pingdotgg#27285) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * ci(mobile): maintainers can deploy EAS previews for reviewed fork commits (pingdotgg#27292) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): agents yield CPU, tasks, and reclaim to the server under pressure (pingdotgg#27176) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(server): `t3 service protect` keeps the server alive when agents fill memory (pingdotgg#27239) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): held queues release agent and scheduled messages once the thread completes a run (pingdotgg#27221) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): restart continuations retry failed starts and respect a parent's stop (pingdotgg#27222) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): Stop during a restart no longer leaves the thread stuck (pingdotgg#27141) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(scripts): bound check:changed concurrency and step time (pingdotgg#27227) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(shared): durations under 10s drop a trailing .0 (pingdotgg#27316) * feat(web): switch the composer between rich text and Markdown source from a button or mod+/ (pingdotgg#26777) * fix(server): t3_thread_organize rejects unknown arguments instead of archiving the caller (pingdotgg#26718) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): composer Markdown source button shows the pilcrow again (pingdotgg#27375) * revert(web): remove the composer rich text toggle button and mod+/ shortcut (pingdotgg#27390) * fix(server): HTML preview browsers quit when done instead of waiting to be killed (pingdotgg#27224) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(terminal): retain and pace slow fallback process queries (pingdotgg#24640) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): show readable provider runtime failure banners (pingdotgg#24614) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: AdEx-Partners-DE <stark.burns@adexpartners.com> * fix(gitlab): share merge request reads across detail and checks (pingdotgg#24392) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(usage): count Claude advisor calls under the advisor model (pingdotgg#24139) * fix(web): name the sidebar logo link T3 Code home (pingdotgg#24209) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> * fix(server): fail Claude turns waiting for unsupported mod input (pingdotgg#24320) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): Stop always completes, and an agent that ignores it can be force stopped (pingdotgg#27252) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix: guest links can load earlier turns (pingdotgg#27354) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(ci): repair main after merge burst Rename leftover fakeProvider to fakePullRequestProvider, replace the removed encodeScanCache in the advisor usage test, and drop an issue number from a ClaudeAdapterV2 comment that lint rejects. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): let slow worktree checkouts finish (pingdotgg#23802) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(settings): point provider environment variables at a secret provider (pingdotgg#27115) Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com> * feat(desktop): back/forward buttons and trackpad swipe navigation (pingdotgg#27430) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(web): review local commits in the Diff pane (pingdotgg#19941) Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(relay): show the account's real tunnel cap in T3 Connect settings (pingdotgg#27442) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): streaming replies no longer re-render every visible timeline row (pingdotgg#27420) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(web): streaming replies re-render only their last Markdown block (pingdotgg#27417) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(web): the git actions panel no longer re-renders on every streamed update (pingdotgg#27418) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(web): streamed assistant text re-renders only its own row (pingdotgg#27419) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): `t3 service protect` can ask for your sudo password (pingdotgg#27465) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> --------- Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com> Signed-off-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com> Co-authored-by: Theo Browne <me@t3.gg> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com> Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Theo Browne <me@theo.li> Co-authored-by: t3-code-bot[bot] <269035359+t3-code-bot[bot]@users.noreply.github.com> Co-authored-by: Nathan Shan <nathanielcrush51@gmail.com> Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com> Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com> Co-authored-by: Yordis Prieto <yordis.prieto@gmail.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: Victor Vogel <satsdev@only21mil.xyz> Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: maria-rcks <maria@kuuro.net> Co-authored-by: Lakshmi Tanmay <lakshmi@voltcrash.com> Co-authored-by: Alex Southwell <saphid@gmail.com> Co-authored-by: SAPHID <saphid@users.noreply.github.com> Co-authored-by: tiliakoos <73005126+tiliakoos@users.noreply.github.com> Co-authored-by: Onkar Pradip Jadhav <118719336+Onkarj012@users.noreply.github.com> Co-authored-by: MarcoDotIO <Marcus.Arnett10@gmail.com> Co-authored-by: Alex Southwell <4596216+saphid@users.noreply.github.com> Co-authored-by: Jeremiah Jordan <jeremiah@apache.org> Co-authored-by: Jeremiah Jordan <zanson@zanson.org> Co-authored-by: Nikita Maximilian Grimm <github@nikitagrimm.de> Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com> Co-authored-by: Mantas Kantautas <mantas.kantautas@gmail.com> Co-authored-by: Dara Adedeji <76637177+SunkenInTime@users.noreply.github.com> Co-authored-by: Joseph Vidal <135430578+josephv123@users.noreply.github.com> Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com> Co-authored-by: Matěj Suchánek <16311043+immakermatty@users.noreply.github.com> Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> Co-authored-by: luke <97411838+luke2x@users.noreply.github.com> Co-authored-by: parmartejas <110296251+parmartejass@users.noreply.github.com> Co-authored-by: Tejas Parmar <parmartejas@vanojay.in> Co-authored-by: Tristan Knight <18444302+tris203@users.noreply.github.com> Co-authored-by: Stevan Borus <steva.borus@gmail.com> Co-authored-by: Pujitha Paladugu <pujitha.rathna@gmail.com> Co-authored-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com> Co-authored-by: Koushik_xd <122906171+koushikxd@users.noreply.github.com> Co-authored-by: oliver <97427849+flamboh@users.noreply.github.com> Co-authored-by: Inaya Yousfi <193243337+inayayousfi@users.noreply.github.com> Co-authored-by: Rishabh Bothra <37180068+07rjain@users.noreply.github.com> Co-authored-by: Marcel Jiron · MarMarLabs <marmar9615@icloud.com> Co-authored-by: Scott Norteman <snorteman@gmail.com> Co-authored-by: fixfon <12512757+fixfon@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Gourav Kumar Dhiman <gkrdhiman@gmail.com> Co-authored-by: Nathan Schroeder <49214985+SchroederNathan@users.noreply.github.com> Co-authored-by: AdEx-Partners-DE <stark.burns@adexpartners.com> Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com> Co-authored-by: Bilal Bakr <62337003+Bil0000@users.noreply.github.com>
Preview deploys run PR code next to
EXPO_TOKEN, a Developer robot, and that token can also publish to theproductionchannel. A leaked token or a malicious PR could push an OTA to every production user.Production now uses
EXPO_PRODUCTION_TOKEN, a new Release Manager robot (the repo secret already exists). Previews keepEXPO_TOKEN. Once this merges,eas channel:protect productionlimits production publishes to Release Managers, Admins, and Owners, which leaves the preview token unable to reach production.Order matters: merge this before protecting the channel, or production OTAs fail.
Verified: the diff only renames the secret in all 7 places plus the skip message, and
vp fmt/vp lintpass. The first real check is the next production run after merge.Model: Claude Opus 5.5 in Claude Code (T3 Code).
🤖 Generated with Claude Code