github pingdotgg/t3code v0.1.10-nightly.20261112.4603
T3 Code Nightly 0.1.10-nightly.20261112.4603 (4099e62767f7)

pre-release49 minutes ago

v0.1.10-nightly.20261112.4603 · 133 changes from 15 contributors

  • Add projects by dragging folders. Drop folders from your file manager onto the desktop sidebar to add them as projects.
  • Managed provider updates. Update managed Antigravity and Codex installations without waiting for a T3 Code release.
  • Antigravity goals. Use native goals in supported Antigravity threads.
  • Resizable spreadsheets. Drag row and column boundaries in spreadsheet previews to see clipped content.
  • OpenCode usage limits. See workspace budgets and usage limits from your connected OpenCode server.
  • Voice dictation. Dictation now survives draft changes made while recording, so the transcript isn't lost.
  • Changes across tabs. Settings, Prompt Stash entries, and composer drafts saved in one tab no longer erase changes from another.

Plus 115 more bug fixes and performance improvements.

Full changelog

What's Changed

  • fix(desktop): exits that skip quit are recorded in the trace and logs by @juliusmarminge in #35097
  • fix(clients): say "Starting Claude" until the provider actually starts by @juliusmarminge in #35008
  • fix(mobile): long thread titles in the @ picker keep their Thread marker by @juliusmarminge in #35062
  • fix(web): every settings nav group has a name for screen readers by @juliusmarminge in #35101
  • fix(web): an invalid provider setting is refused at its field instead of taking the provider offline by @juliusmarminge in #35100
  • fix(web): PR comment hover excerpts no longer end in a replacement character by @juliusmarminge in #35111
  • fix(mobile): Android composer keeps its cursor after a drag-scroll by @juliusmarminge in #35092
  • fix(client-runtime): Diagnostics Resource History keeps updating while open by @juliusmarminge in #35116
  • fix(web): a failed send leaves the timeline when a new draft was typed by @juliusmarminge in #35102
  • fix(web): a save in one tab no longer erases what another tab saved by @juliusmarminge in #35110
  • fix(server): projects read their own Git repository when the server inherited GIT_DIR by @juliusmarminge in #35119
  • fix(web): file links the agent cited from another project open that project's file by @juliusmarminge in #35036
  • fix(client): a message the host never answers fails after 60 seconds instead of spinning forever by @juliusmarminge in #35076
  • fix(server): a new worktree no longer fails when its generated folder is left over from an earlier one by @juliusmarminge in #35121
  • fix(server): a file ticked Viewed before loading a push shows Changed by @juliusmarminge in #35114
  • fix(server): selected-file commits during a cherry-pick or revert are refused by @juliusmarminge in #35120
  • fix(web): chat text selection stays continuous while scrolling by @juliusmarminge in #35074
  • fix(server): committing a large selection of files no longer fails with spawn E2BIG by @juliusmarminge in #35128
  • fix(server): Claude threads resume the session /clear started by @juliusmarminge in #35054
  • perf(mobile): each environment sends about 85% less data at launch by @t3dotgg in #35072
  • perf(server): oversized transcript exports fail fast and thread opens skip unused handoff bodies by @t3dotgg in #34547
  • fix(web): icon-only chat header controls show their name on hover by @juliusmarminge in #35045
  • fix(web): panel resize handle no longer covers the chat scrollbar by @juliusmarminge in #35043
  • fix(web): browser settings changed in project scope no longer overwrite the global default by @juliusmarminge in #35143
  • fix(server): Commit refuses while a merge still has conflict markers by @juliusmarminge in #35132
  • fix(server): a pass that changes several watched pull requests wakes their thread once by @juliusmarminge in #35109
  • fix(server): a slow file read in the search watcher no longer freezes the server by @juliusmarminge in #35059
  • fix(shared): composer # suggestions sort by update instant, not timestamp text by @juliusmarminge in #35137
  • fix(client-runtime): relative Markdown images in a remote thread no longer show the desktop's file by @juliusmarminge in #35031
  • docs: the README now shows the app and gets you installed fast by @t3dotgg in #35170
  • fix(web): Esc in the keybindings search clears it without closing Settings by @juliusmarminge in #35161
  • fix(web): file editor carets and selections follow code font changes by @juliusmarminge in #35144
  • fix(server): schedule_task no longer tells agents bindToCurrentThread always defaults to true by @phon-t in #34950
  • fix(web): an untouched sidebar thread rename keeps a title that arrived while it was open by @juliusmarminge in #35174
  • fix(server): usage model details count the real unpriced tokens by @juliusmarminge in #35179
  • perf(server): thread list reads no longer scan a long thread's runs and items by @t3dotgg in #35167
  • fix(server): Kiro, fx and Antigravity find a ~/ Binary path by @juliusmarminge in #35171
  • feat(web): drop folders on the sidebar to add them as projects by @t3dotgg in #35202
  • fix(server): Edit from here recreates a worktree folder that lost its checkout by @juliusmarminge in #35194
  • fix(server): a task on a linked environment stays under its parent in trimmed shell snapshots by @juliusmarminge in #34870
  • fix(web): terminal Ctrl+Shift+C copies on non-Latin keyboard layouts by @juliusmarminge in #35210
  • perf(server): sending to a thread with thousands of finished subagents reads about half as much by @t3dotgg in #35178
  • fix(mobile): the thread list no longer reshuffles once per environment on startup by @t3dotgg in #34596
  • fix(web): a failed page in the floating browser preview shows the error instead of a blank panel by @juliusmarminge in #35066
  • feat(web): screen reader window title leads with the thread's status and name by @shivamhwp in #34697
  • test(server): wire budget measures what clients fetch today, and the PR comment shows every row by @t3dotgg in #35225
  • fix(github): PR templates in a lowercase pull_request_template/ directory are found by @juliusmarminge in #35212
  • perf(server): sending to a long compacted thread waits about 3x less on its history read by @t3dotgg in #35180
  • fix(acp): new Copilot threads run the model the composer shows by @juliusmarminge in #35199
  • perf(server): long threads open 2 to 6x faster from a cold cache by @t3dotgg in #35286
  • ci(release): a repo variable pauses scheduled nightly releases by @t3dotgg in #35287
  • fix(server): file search no longer crashes the server, and a failed Edit from here keeps your files by @t3dotgg in #35291
  • perf(client): threads load while the socket connects, with fewer round trips by @t3dotgg in #35071
  • perf(server): Load earlier turns takes about half the time on a running long thread by @t3dotgg in #35224
  • fix(mobile): the thread list shows server changes after a tab round trip by @t3dotgg in #35325
  • test(web): inline confirm tests no longer race the 3s disarm timer by @t3dotgg in #35361
  • test(web): Add Environment dialog test fills fields instead of typing each key by @t3dotgg in #35360
  • test(web): HTML preview accordion test waits for the frame's script before it toggles by @t3dotgg in #35359
  • fix(client-runtime): a stalled sign-in token or dead route no longer holds a reconnect for 40 seconds by @juliusmarminge in #34623
  • fix(desktop): release-note entities named like Object.prototype keys stay literal by @juliusmarminge in #35366
  • fix(desktop): startup log prune keeps files that rotation never names by @juliusmarminge in #35378
  • fix(provider-core): a timed-out status probe stops a CLI that ignores SIGTERM by @juliusmarminge in #35379
  • fix(git): selected-file commits work through symlinked subdirectories by @Kirat0201 in #35278
  • fix(opencode): a project opened mid-scan lists its OpenCode skills by @juliusmarminge in #35384
  • fix(ssh): SSH setup on a host without gzip says gzip is missing by @juliusmarminge in #35389
  • fix(pi): blank extension dialog titles no longer fail the turn by @Kirat0201 in #35271
  • fix(server): text-generation fallback keeps the thread default's custom model by @juliusmarminge in #35391
  • fix(server): storage cleanup stops holding usage-limited threads too overdue to auto-resume by @juliusmarminge in #35397
  • fix(web): a numeric author or labels in the URL no longer crashes Pull Requests by @juliusmarminge in #35376
  • fix(web): bare URLs end at Chinese and Japanese punctuation by @sanjaibalajee in #35267
  • fix(server): @ file search finds filenames containing literal braces by @sidhartha1s in #35239
  • fix(server): t3_thread_search says which thread is the caller's by @josephv123 in #35377
  • perf(server): older history pages load without indexing the whole thread by @t3dotgg in #34573
  • fix(server): selecting a remote branch lands on its local branch by @juliusmarminge in #35400
  • fix(web): SCP-style Git remotes no longer become terminal file links by @juliusmarminge in #35404
  • fix(web): sidebar draft previews show cited assistant text, not the raw link by @juliusmarminge in #35406
  • fix(web): pasting an image the draft already has no longer flashes a preparing tile by @Srijan-D in #35265
  • fix(shared): pooled limits weight each account by its plan size by @juliusmarminge in #35427
  • fix(mobile): browser and MCP-app links with blank IDs no longer crash the screen by @juliusmarminge in #35415
  • fix(shared): thread search ignores the t3 prefix of flat temporary branches by @juliusmarminge in #35430
  • fix(mobile): a steer splits a settled turn's "Worked for" fold by @juliusmarminge in #35408
  • fix(shared): html_render pages show for Grok threads by @juliusmarminge in #35434
  • fix(server): Claude 1-hour cache writes are priced at the 1-hour rate by @juliusmarminge in #35423
  • fix(opencode): OpenCode Go threads no longer fail on a reasoning level the model lacks by @juliusmarminge in #35432
  • fix(ssh): SSH environments connect over links with about a second of round trip by @juliusmarminge in #35418
  • feat(providers): managed Antigravity and Codex installs can update past their pin by @StiensWout in #21249
  • fix(web): narrow-window sidebar sheet obeys disabled panel animations by @juliusmarminge in #35442
  • fix(web): Prompt Stash shrinks above the composer when vertical space is short by @juliusmarminge in #35454
  • fix(acp-registry): each model keeps its own session options by @juliusmarminge in #35458
  • fix(server): ACP follow-ups sent while the agent is still busy are delivered, not failed by @juliusmarminge in #35463
  • fix(desktop): preview comment keystrokes no longer trigger the page's shortcuts by @juliusmarminge in #35431
  • fix(server): file index refreshes no longer block the server on fff's lock by @juliusmarminge in #35460
  • fix(server): removing a worktree on Windows no longer spins the server until it hangs by @SunkenInTime in #34774
  • feat(opencode): read usage limits from the connected server by @Yash-Singh1 in #34146
  • fix(web): a project filter that hides every active thread says so and offers Show all projects by @juliusmarminge in #35426
  • fix(usage): count Codex request ledgers and replace archived cache entries by @Yash-Singh1 in #35497
  • fix(web): keep settled pagination focused while loading by @Yash-Singh1 in #35522
  • fix(web): voice dictionary keeps the draft when Enter confirms an IME candidate by @juliusmarminge in #35467
  • fix(preview): Browser pane navigates when the desktop backend has no browser channel by @juliusmarminge in #35424
  • fix(desktop): Nightly update checks find the newest nightly past newer preview builds by @juliusmarminge in #35470
  • fix(mobile): files with # or ? in their path keep audio playback and Markdown Preview by @juliusmarminge in #35448
  • fix(web): device tab rename no longer saves on the Enter that confirms an IME candidate by @juliusmarminge in #35468
  • test(server): HEAD watch removal test expects isRepo in branch status by @juliusmarminge in #35498
  • fix(web): a focused folder New thread button no longer draws over the hidden-thread count by @juliusmarminge in #35499
  • fix(grok): Grok MCP calls store the real tool, arguments, and result by @juliusmarminge in #35502
  • fix(server): Load earlier turns no longer drops the middle of threads an agent started by @t3dotgg in #35405
  • fix(scripts): vp run dev --share removes its tailnet mapping when the terminal closes by @juliusmarminge in #35534
  • fix(server): "Open in" stops offering the tailnet name after tailscale down by @juliusmarminge in #35539
  • fix(web): align timeline activity timestamps by @Yash-Singh1 in #35549
  • fix(tailscale): Serve setup fails when the tailnet has not enabled HTTPS by @juliusmarminge in #35538
  • fix(scripts): --share --built --host localhost points the tailnet URL at the backend by @juliusmarminge in #35542
  • fix(server): t3 pair --tailscale no longer replaces another app's Serve route by @juliusmarminge in #35547
  • fix(shared): voice cleanup falls back after removing an instance named like an Object key by @juliusmarminge in #35489
  • fix(server): a bind address Tailscale Serve refuses says to bind 127.0.0.1 or 0.0.0.0 by @juliusmarminge in #35545
  • fix(desktop): Tailscale HTTPS counts as on only when Serve reaches this backend by @juliusmarminge in #35544
  • fix(server): long startup migrations log progress and resume after a restart by @juliusmarminge in #35486
  • fix(scripts): mobile:e2e asks Tailscale for the address pool devices reach by @juliusmarminge in #35553
  • fix(server): provider instances named constructor, toString or valueOf can be added by @ixmxvii-hash in #35492
  • fix(mobile): inline-code file paths with non-ASCII names become file pills by @juliusmarminge in #35552
  • fix(voice): dictation survives draft changes and Escape in the citation box by @juliusmarminge in #32682
  • fix(clients): report title regeneration outcomes by @flamboh in #31418
  • test(server): bind-address Serve refusal test answers serve status by @juliusmarminge in #35568
  • fix(web): Grok Bot opens with the setup message filled in by @juliusmarminge in #35565
  • test(web): split the cloud voice settings flow into independent cases by @juliusmarminge in #35563
  • fix(desktop): SSH suggestions from known_hosts keep their port by @juliusmarminge in #35556
  • fix(mobile): block HTML in a Markdown table cell no longer splits the row by @juliusmarminge in #35535
  • fix(server): terminal history drops the tertiary Device Attributes query by @juliusmarminge in #35537
  • fix(web): J and K step the PR guide without clicking into it first by @flamboh in #32302
  • fix(shared): preserve repository paths when switching clone protocols by @saphitv in #35322
  • feat(web): resize rows and columns in spreadsheet previews by @Yash-Singh1 in #35548
  • fix(forgejo): renamed repositories keep syncing their pull request links by @juliusmarminge in #32629
  • test(web): OpenRouter voice test fills the model picker instead of typing each key by @t3dotgg in #35581
  • feat(antigravity): support native goals and managed CLI updates by @Yash-Singh1 in #35409

New Contributors

Full Changelog: v0.1.10-nightly.20261112.4580...v0.1.10-nightly.20261112.4603

Don't miss a new t3code release

NewReleases is sending notifications on new releases.