github pingdotgg/t3code v0.1.4
T3 Code v0.1.4

2 hours ago

What's Changed

  • fix(mobile): isolate file tree state by workspace by @juliusmarminge in #24270
  • fix(mobile): finished subagents stay reachable from the Agents pill by @saphid in #25759
  • fix(mobile): keep segmented controls readable on cards and screens by @PixPMusic in #25729
  • fix(web): cancelling update everything no longer flashes the update button's focus ring and tooltip by @t3dotgg in #25774
  • fix(mobile): lists end at the search field, and HTML previews start below the header by @juliusmarminge in #25765
  • fix(provider-cursor): bump @cursor/sdk to 1.0.38 so long-context tiers send Max Mode by @gcrft123 in #21074
  • fix(server): Sonnet also answers trend and comparison data with inline charts by @t3dotgg in #25776
  • fix(server): Claude MCP timeouts preserve the native session by @juliusmarminge in #25660
  • fix(server): preserve settled runs during delegated acknowledgements by @juliusmarminge in #25672
  • fix(mobile): align the iPad composer with workspace navigation by @PixPMusic in #24942
  • chore(evals): store eval cases as .ndjson so review tools skip them by @juliusmarminge in #25782
  • test(server): CI fails when agent context grows past main by @t3dotgg in #25785
  • refactor(mobile): theme preferences reach the native runtime without a layout effect by @juliusmarminge in #25767
  • refactor(mobile): the share inbox is a module store, presented from navigation state by @juliusmarminge in #25744
  • refactor(web): drop the unreachable paint-only thread timeline path by @juliusmarminge in #25787
  • refactor(mobile): notifications, quick actions and Connect onboarding navigate through the root ref by @juliusmarminge in #25769
  • test(server): data regression test now fails when recent fetch savings regress by @t3dotgg in #25795
  • fix(server): all MCP tools now send compact schemas, cutting tool context by 23% by @t3dotgg in #25790
  • refactor(web): the new design is the only design, with no toggle by @t3dotgg in #25778
  • feat(mobile): add a "Use last project" preference for new threads by @PixPMusic in #24741
  • fix(mobile): round shared Android sheets and Chat settings by @PixPMusic in #18547
  • feat(mobile): split wide Android Settings into two panes by @PixPMusic in #24298
  • fix(web): keep right panel maximize available in narrow windows by @PixPMusic in #25389
  • fix(server): Macs without Android no longer show avdmanager discovery warnings by @t3dotgg in #25815
  • fix(web): onboarding import no longer hangs when the project never arrives by @juliusmarminge in #25805
  • fix(mobile): Windows image paths and non-ASCII file links open like desktop by @t3dotgg in #25802
  • fix(web,mobile): markdown previews no longer show YAML frontmatter as a giant heading by @t3dotgg in #25804
  • fix(web): compact toggle shows the token count again by @t3dotgg in #25818
  • fix(server): preserve interrupted Claude context after revert by @juliusmarminge in #25695
  • fix(web,mobile): bot approvals are visible on the PR summary by @t3dotgg in #25829
  • fix(web,mobile): stopped runs no longer look like errors by @t3dotgg in #25830
  • refactor(mobile): share imports run outside the new-task screen by @juliusmarminge in #25793
  • fix(build): TEMPORARY workaround so linux-arm64 builds run on 16/64 KiB page kernels by @t3dotgg in #25825
  • fix(server): preserve completed runs when accepting child deliveries by @juliusmarminge in #25666
  • fix(client-runtime): iOS resume keeps live sockets and drops dead ones 4x faster by @t3dotgg in #25824
  • feat: model labels show the name you'd say out loud by @flamboh in #24205
  • chore(review): CodeRabbit reviews tests against docs/internals/testing.md by @flamboh in #24204
  • refactor(mobile): showcase capture readiness is a tested pure model by @juliusmarminge in #25816
  • fix(mobile): a held thread move retires when a snooze wakes, even with no list open by @juliusmarminge in #25809
  • fix(web): switching a file between markdown and the editor no longer saves a draft twice by @juliusmarminge in #25768
  • fix(web,mobile): queued messages get a simpler Send now row, no reordering by @t3dotgg in #25846
  • fix(mobile): Add project path survives its host dropping out and returning by @juliusmarminge in #25819
  • refactor(mobile): opening Review or Files shows the inspector in the first commit by @juliusmarminge in #25817
  • refactor(mobile): prompt links resolve when the link is parsed, not from screen effects by @juliusmarminge in #25820
  • fix(web): Steer no longer does nothing while a compaction runs by @t3dotgg in #25837
  • fix(desktop): Cmd/Ctrl+W closes sidebar tabs, never the window by @t3dotgg in #25860
  • refactor(mobile): each new-task draft route keeps its own flow state by @juliusmarminge in #25812
  • fix(web): clicking the device screen no longer draws a focus ring by @t3dotgg in #25882
  • fix(mobile): picking a project on two machines starts on the connected one by @t3dotgg in #25839
  • fix(mobile): opening a new thread before it is created no longer marks it unavailable by @whoisaldo in #25632
  • fix(desktop): packaged server ships zod for @cursor/sdk 1.0.38 by @jason5545 in #25841
  • refactor(mobile): subagent timers share the visible second clock by @juliusmarminge in #25854
  • refactor(mobile): app update checks start with the app by @juliusmarminge in #25856
  • refactor(mobile): workspace tabs, home filters and connection status derive instead of syncing by @juliusmarminge in #25813
  • refactor(mobile): settings permission and update checks without sync effects by @juliusmarminge in #25895
  • fix(desktop): run the packaged bundle self-check on macOS artifacts by @stbenjam in #25900
  • fix(web): the Add ChatGPT account dialog animates closed once the account connects by @juliusmarminge in #25868
  • refactor(web): composer clears scroll-collapse in render, not after paint by @juliusmarminge in #25909
  • refactor(web): composer overlay re-measures from one layout effect by @juliusmarminge in #25915
  • refactor(web): file browser records the right-click position on its own panel by @juliusmarminge in #25908
  • refactor(web): preview element picker drops its unmount guard by @juliusmarminge in #25920
  • fix(web): PR Code tab no longer requests the diff of a commit the PR dropped by @juliusmarminge in #25916
  • perf(mobile): worktree setup updates commit the thread screen once by @juliusmarminge in #25910
  • fix(desktop): a broken release opens an error window instead of hanging by @t3dotgg in #25903
  • ci(web): releases fail when the built web app cannot boot by @t3dotgg in #25929
  • ci(release): desktop builds that cannot open no longer publish by @t3dotgg in #25928
  • refactor(web): file tree drag mentions use React drag handlers by @juliusmarminge in #25913
  • refactor(mobile): git action results buzz from where they are reported by @juliusmarminge in #25912
  • fix(mobile): the Add environment form shows only its own pairing errors by @juliusmarminge in #25859
  • refactor(mobile): showcase capture runs as an app service, not a chain of effects by @juliusmarminge in #25857
  • fix(server): bound hung delegated stop effects so later runs can start by @juliusmarminge in #25675
  • feat(mobile): add One UI navigation preference on Android by @PixPMusic in #25758
  • fix(mobile): center Android sheets and fit book-mode sheets in the left pane by @PixPMusic in #18492
  • fix(mobile): keep the collapsed Android rail square by @PixPMusic in #26039
  • fix(web): closing the last Browser tab hides the right panel again by @juliusmarminge in #26058
  • refactor(web): pull requests Cmd+F focuses the topbar search directly by @juliusmarminge in #26045
  • refactor(web): install draft model reconciliation at app start by @juliusmarminge in #26046
  • perf(mobile): project favicons mount their image in one commit by @juliusmarminge in #26047
  • refactor(web): the upload queue alone records finished file uploads on drafts by @juliusmarminge in #26050
  • feat(mobile): Usage uses the width on iPad and unfolded phones by @juliusmarminge in #26061
  • fix(gitcafe): PR panel follows renumbered pull requests by @juliusmarminge in #26079
  • chore(infra): bump Alchemy to 2.0.0-beta.84 by @juliusmarminge in #26057
  • refactor(mobile): stop writing the resolved project filter back from an effect by @juliusmarminge in #26049
  • fix(mobile): a pairing link fills the open Add environment form instead of stacking another by @juliusmarminge in #26052
  • fix(mobile): snooze menu times advance with the clock by @juliusmarminge in #26043
  • fix(clients): prompt links find projects cloned from git.cafe by @juliusmarminge in #26042
  • fix(server): retry Codex capacity failures with empty input by @Yash-Singh1 in #25611
  • fix(server): recover handoffs when target context is exhausted by @Yash-Singh1 in #25610
  • fix(web): chips drop their pill and stay readable on every theme by @flamboh in #25066
  • fix(mobile): switching pull request tabs no longer jumps the page by @flamboh in #26064
  • feat(mobile): report crashes to Axiom with symbolicated stacks by @gabrielelpidio in #19093
  • fix(web): chip palette test follows the single design by @juliusmarminge in #26131
  • feat(server): /mcp narrows a client's modes from T3-Mode-Limit by @juliusmarminge in #16653
  • feat(server): t3_thread_launch takes clientRequestId by @juliusmarminge in #16654
  • feat(server): link to another environment by @juliusmarminge in #16655
  • feat(server): agents use linked environments through any T3 tool by @juliusmarminge in #16684
  • feat(server): work a linked environment starts stays within its link by @juliusmarminge in #16695
  • feat(web,mobile): linked environments in Connections by @juliusmarminge in #16698
  • feat(server): delegate_task to a linked environment by @juliusmarminge in #16719
  • feat(server,web,mobile): an agent sets up a link to another environment by @juliusmarminge in #17129
  • feat(server,web,mobile): @-mention a machine, and linked environments become a Labs beta by @juliusmarminge in #17130
  • fix(mobile): dragging a microphone or environment route now saves its new place by @juliusmarminge in #26096
  • feat(web): channel artwork choice on Latest, plus nightly or dev art on any channel by @maria-rcks in #26138
  • feat(mobile): browse ZIP attachments with the shared archive reader by @Bil0000 in #19463
  • fix(server): Claude --settings launch args merge with T3's settings instead of being dropped by @t3dotgg in #22864
  • feat(server,web): see and stop the dev servers a thread started by @t3dotgg in #22542
  • fix(web): composer no longer jumps when a second line is added by @maria-rcks in #26155
  • feat(web,mobile): queued messages show who sent them by @juliusmarminge in #26159
  • fix(preview): agent and browser panel show the same page after a late desktop attach by @t3dotgg in #22877
  • fix(web): pairing, connect, error, and Clerk sign-in surfaces match the app's dialog style by @maria-rcks in #25281
  • fix(server): parallel worktree launches no longer fail on .git/config lock by @juliusmarminge in #25700
  • fix(task-cache): the hook test waits for every flusher it starts by @juliusmarminge in #26148
  • chore(lint): every React effect states its reason at the call site by @juliusmarminge in #26161
  • test(server): the link-card retry test names a new MCP credential by @juliusmarminge in #26143
  • perf(web): stop measuring table cells while replies stream by @t3dotgg in #26152
  • feat(desktop): add a remote server by clicking its t3code://pair link by @t3dotgg in #24111
  • fix(server): agent questions stay answerable after a server restart by @SunkenInTime in #19229
  • chore(lint): the effect lint error walks the alternatives before the suppression by @juliusmarminge in #26181
  • fix(web): settings avatar no longer hugs the modal corner by @t3dotgg in #26180
  • fix(mobile): shared file names can no longer write outside the Android cache by @juliusmarminge in #26175
  • fix(server): repository lookups no longer send GitHub tokens to arbitrary hosts by @juliusmarminge in #26176
  • fix(github): long period runs no longer freeze reference autolinking by @juliusmarminge in #26177
  • fix(mobile): Android diff ellipsis no longer measures text quadratically by @juliusmarminge in #26174
  • fix(server): Codex works again after its app-server is killed by @t3dotgg in #26188
  • fix(desktop): ask once per site before a preview page reads the clipboard by @juliusmarminge in #26173
  • fix(mobile): Windows paths in messages keep their backslashes by @juliusmarminge in #21454
  • feat: triage an issue from the command palette, no terminal needed by @t3dotgg in #22753
  • fix(server): Forgejo required-check globs no longer hang the event loop by @juliusmarminge in #26183
  • fix(server): fx's version policy reaches servers with a cached model manifest by @juliusmarminge in #26199
  • fix(mobile): keep iPad tab bar within narrow sidebars by @juliusmarminge in #26198
  • feat(web): filter the sidebar by several projects at once by @maria-rcks in #25284
  • fix(mobile): provider accounts fit each provider on one row by @saphid in #25861
  • fix(server): Claude background-task wakes start when the queue is held by @fireboltdude1357 in #17885
  • docs(testing): new tests extend existing cases and stay at one layer by @t3dotgg in #26166
  • fix(web): composer strip drops the folder icon next to the machine icon by @maria-rcks in #26158
  • feat(web): background work line shows the newest activity, no dots by @maria-rcks in #25299
  • fix(mobile): dictation buttons line up with the send button on every composer by @juliusmarminge in #26231
  • feat(web,mobile): the @ picker lists threads on linked machines by @juliusmarminge in #26201
  • feat(web,mobile): Copy thread copies a chip that works on linked machines by @juliusmarminge in #26202
  • fix(mobile): unclosed code fences in HTML blocks no longer freeze PR overviews by @juliusmarminge in #26179
  • fix(opencode): apply runtime mode changes to existing OpenCode sessions by @juliusmarminge in #26182
  • fix(server): Antigravity file writes cannot escape the workspace through a linked ancestor by @juliusmarminge in #26184
  • feat(web): F6 moves between workspace areas, and the sidebar is keyboard navigable by @t3dotgg in #25877
  • chore(review): Macroscope check agents move to GPT 6.1 Sol by @t3dotgg in #26187
  • feat(dev): test turns in the UI for free with a replay provider by @t3dotgg in #26207
  • feat(threads): choose your own snooze options in settings by @t3dotgg in #26208
  • fix(relay): stop delivery attempts from growing the database forever by @juliusmarminge in #26141
  • fix(relay): tunnel cleanup keeps up with new idle tunnels by @juliusmarminge in #26135
  • fix(server): delegate cgroups to agent scopes by @juliusmarminge in #23913
  • fix(server): ACP Registry searches reuse a recently fetched index by @juliusmarminge in #26248
  • chore: delete 18k lines of code that nothing reaches by @t3dotgg in #26238
  • fix(web): image and file chips underline their name on hover again by @flamboh in #26252
  • fix(mobile): tab bar hides with the push, logo fits the iPad sidebar, Android rail holds still by @juliusmarminge in #26241
  • fix(web): update dialog shows one row per machine by @t3dotgg in #26210
  • fix(mobile): trust user-installed Android CA certificates by @juliusmarminge in #25730
  • fix(web): server rows keep their source visible, cmd-click opens your browser by @t3dotgg in #26267
  • fix(mobile): list bullets keep a gap before their text at every text size by @juliusmarminge in #26268
  • fix(mobile): Android split content keeps a gap at the screen edge by @juliusmarminge in #26276
  • feat(server,web,mobile): thread links name their environment and never a title by @juliusmarminge in #26239
  • fix(clients): # suggestions put linked pull requests first for text queries by @juliusmarminge in #26269
  • fix(terminal): keep shared terminal grids in sync by @juliusmarminge in #24352
  • feat: sign in to GitHub through the T3 Code for GitHub app [internal testing only] by @juliusmarminge in #26245
  • perf: reduce remote reconnect and command delays by @Bil0000 in #25754
  • fix(relay): deploys plan again after the Worker lost its default export by @juliusmarminge in #26303
  • fix(web): compaction row says "Compacting for 12s" instead of "after being idle" by @t3dotgg in #26299
  • fix(server): Codex shadow homes share thread writer locks with the main home by @t3dotgg in #26286
  • fix(mobile): sidebar connection status uses the header's free width by @juliusmarminge in #26266
  • fix(web): threads without a project start on the primary environment by @juliusmarminge in #26301
  • fix(clients): give image attachment chips a blue accent by @Yash-Singh1 in #26306
  • fix(web): prevent image thumbnails from warping during repaints by @Yash-Singh1 in #26308
  • test(web): attachment font and large-text preview tests wait for the real load by @juliusmarminge in #26314
  • fix(opencode): subagent sessions follow runtime mode changes by @juliusmarminge in #26302
  • feat(web): pending approvals show on their timeline row by @maria-rcks in #26255
  • fix(web): show the platform modifier in the send tooltip by @UtkarshUsername in #22436
  • fix(web): let theme color pickers use popover glass by @UtkarshUsername in #22348
  • fix(relay): concurrent link requests can no longer exceed the managed tunnel limit by @juliusmarminge in #26186
  • fix(client-runtime): pairing links can no longer add routes to a saved environment by @juliusmarminge in #26178
  • fix(web): align sidebar button geometry with shared tokens by @UtkarshUsername in #22287
  • fix(mobile): pairing deep links can no longer target a saved environment by @juliusmarminge in #26318
  • feat(relay): T3 Chat Pro and Premier accounts get more tunnels by @t3dotgg in #25931
  • test(mobile): pairing link test runs the app's real link parsing by @juliusmarminge in #26326
  • fix: guests see the screenshots the agent shows in its replies by @t3dotgg in #26323
  • ci(release): releases no longer reinstall Vite+ in every job by @t3dotgg in #26305
  • ci: server test shards survive a throttled task cache by @t3dotgg in #26332
  • feat(web): boring sidebar groups threads into project folders by @t3dotgg in #21039
  • fix(relay): tunnel limit counts abandoned reprovisions and frees failed revokes by @juliusmarminge in #26320
  • test(web): attachment preview tests wait long enough for cold workers and fonts by @t3dotgg in #26342
  • refactor(mobile): app link parsing reads top to bottom with pipe by @juliusmarminge in #26330
  • ci(release): Windows CLI builds retry the Node.js download by @t3dotgg in #26345
  • fix(web): preserve handoffs before superseded attempt folds by @Yash-Singh1 in #26333
  • feat(web): open tool call diffs in the diff panel by @Yash-Singh1 in #26304
  • ci: a stalled Node.js download retries after 2 minutes, not 10 by @t3dotgg in #26343
  • fix(server): avoid replaying stale Codex usage limits by @Yash-Singh1 in #26331
  • feat(web): mark PR files viewed with shift-click by @Yash-Singh1 in #26349
  • refactor: flatten nested call chains by @juliusmarminge in #26350
  • fix(queued-message): avoid duplicate queued message entries by @Yash-Singh1 in #26355
  • fix(models): new Claude threads default to Opus 5.5 by @t3dotgg in #26358
  • docs: T3 Chat Pro and Premier raise the T3 Connect tunnel limit by @t3dotgg in #26366
  • fix(web): use neutral indicators for inactive source control providers by @UtkarshUsername in #22778
  • fix(web): show the thread details tooltip by @UtkarshUsername in #24864
  • fix(client-runtime): keep subagent questions off parent threads by @Yash-Singh1 in #26367
  • fix(build): keep effect out of the public-config bootstrap by @juliusmarminge in #26371
  • fix(web): scroll-to-end button no longer jumps up and down by @t3dotgg in #26375
  • ci(release): releases stop depending on npm and nodejs.org when nothing changed by @t3dotgg in #26362
  • feat(web): boring sidebar hides projects with no active threads by @t3dotgg in #26387
  • feat(web): show T3 Connect tunnel usage and push full accounts to T3 Chat by @t3dotgg in #26369
  • fix(web): settling a thread no longer scrolls the sidebar to the bottom by @t3dotgg in #26392
  • fix(web): boring sidebar folders put your latest message on top by @t3dotgg in #26391
  • fix(server): threads settle right away when a watched PR merges by @t3dotgg in #26395
  • fix(server): load long thread history in bounded pages by @Yash-Singh1 in #26240
  • fix(web): snooze options sort soonest first, fit 2 digits, and link from custom snooze by @t3dotgg in #26427
  • fix(web): file preview wrap buttons no longer turn off word wrap everywhere by @t3dotgg in #26432
  • feat(web): simpler composer with grouped controls, effort words and no collapsed state by @t3dotgg in #25869
  • fix(web): remote delegates show their harness icon, a parent row, and new links in settings by @t3dotgg in #26434
  • fix(build): builds no longer fail when GitHub's CDN times out on license templates by @t3dotgg in #26440
  • feat(server): agents list snoozed threads across all projects in one call by @t3dotgg in #26442
  • fix(server): searching delegate models by provider name no longer shows only dead models by @t3dotgg in #26448
  • fix(web): chat tables open at the right size instead of collapsed and cut off by @t3dotgg in #26449
  • ci(release): desktop builds stop hitting the npm registry for staged installs by @t3dotgg in #26458
  • feat(web): boring sidebar can show folder threads on two lines by @t3dotgg in #26463
  • fix(server): release completed pull request sweep data by @juliusmarminge in #25177
  • test(evals): device manager cases for mcp-tool-use by @gabrielelpidio in #25850
  • fix(server): agents drive simulators through the device tools instead of ssh by @gabrielelpidio in #25661
  • fix(mobile): overlay sidebar header blurs content scrolling under it by @juliusmarminge in #26580
  • fix(web): numbered composer lists nest and lift correctly by @michal-billtech in #17138
  • feat(mobile): add dynamic workflows to the Agents sheet by @Bil0000 in #18642
  • fix(ci): Android merges stop cutting a new Play Store build every time by @juliusmarminge in #26596
  • fix(mobile): dictation confirm button no longer hugs the small composer's edge by @juliusmarminge in #26597
  • feat(devices): lease simulators and emulators from a Simlock pool (alpha) by @juliusmarminge in #25259
  • fix(mobile): use a native split button for Android merges by @PixPMusic in #26373
  • docs: settings paths name the Environments and Sharing & access pages by @juliusmarminge in #26571
  • docs(agents): agents verify in a browser or simulator without asking by @juliusmarminge in #26637
  • feat(pull-requests): manage GitHub maintainer edits by @Bil0000 in #25588
  • fix(web): image chips drop the pill and match other chips by @flamboh in #26379
  • fix(mobile): align settled and active thread rows by @PixPMusic in #26622
  • fix(server): publish local git status before remote lookup by @JustYannicc in #21046
  • fix(server): outside MCP clients get thread links they can open by @t3dotgg in #26642
  • fix(web): double-click selects the whole inline code span by @t3dotgg in #26639
  • fix(acp): ID-only command approvals keep the tracked command and grant the terminal by @juliusmarminge in #26647
  • fix(cursor): subagent ls, lint and MCP results no longer fail the parent run by @juliusmarminge in #26592
  • perf(web): long-thread timeline rebuilds 45 → 9 ms, tool updates 12 → 0.3 ms by @juliusmarminge in #26727
  • fix(mobile): a thread opened while reconnecting no longer turns into a new draft by @shivamhwp in #26565
  • fix(web): keep settled drop hint inside the sidebar viewport by @Yash-Singh1 in #26736
  • feat(devices): Simlock setup uses each machine's agent-device token, checks tokens, and lists the pool through worker reconnects by @juliusmarminge in #26706
  • fix(web): pull request diff follows the file tree, with a hide-tests filter by @juliusmarminge in #26730
  • fix(mobile): delivered messages no longer reappear at the bottom of long threads by @juliusmarminge in #26739
  • ci(mobile): fork PRs now get the Native Change label by @juliusmarminge in #26755
  • fix(claude): command approvals show the command, not Claude's description of it by @maria-rcks in #20145
  • docs: add nixpkgs installation instructions by @0x4bs3nt in #26750
  • feat(server,web,mobile): fall back when the default provider is out of usage by @maria-rcks in #26164
  • fix(ci): fork PRs now resolve in workflow_run PR lookups by @juliusmarminge in #26779

New Contributors

Full Changelog: v0.1.3...v0.1.4

Don't miss a new t3code release

NewReleases is sending notifications on new releases.