You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat(server): html_preview and html_render read the page from a file - #32817
html_preview and html_render only took the page as inline html, so every preview and render made the agent retype the whole page as output tokens. #23303 has measurements: about 30K tokens and four minutes per copy for a 40K-character page.
I wanted these to work like artifacts: write the page to a file once, edit it, and pass the path. Both tools now take path to an .html file, listed before html, and a call passes exactly one. To keep the tool list within main's context budget, I moved the shared "self-contained" wording into the page rules, shortened the field descriptions, and dropped the browser-installing sentence, which its error already says. The visuals instruction also gets shorter: "pass the path to an HTML file, or inline HTML to html_preview, then html_render."
For the read, I held it to the same bar as the other places T3 reads from disk instead of inventing a new sandbox. It uses isNetworkPath, a resolved .html/.htm name, makeIsServerInternalPath, and openMediaFile (no-follow, non-blocking, path recheck) as AssetAccess does. The file must start with <!doctype html> or <html>, the way image inlining checks image bytes. It must also be a regular file with one hard link, at most 25 MiB. I didn't limit it to the worktree, since agents keep scratch pages in their harness's own temp directory. Render recovery for ACP providers matches path calls by path.
Checked with vp run check:changed. HtmlRender.test.ts covers publishing by path (the saved page doesn't change when the file does), recovery by path, and each refused file. evals/mcp-tool-use/run.test.ts covers the grader reading a file passed by path.
Both tools took the page only as inline html, so each preview and render
made the agent retype the whole page as output tokens (pingdotgg#23303). They now
take `path` to an .html file instead, and the agent instructions say to
pass the path to an HTML file or inline HTML.
The server refuses relative and network paths, resolves the path, and
refuses names that do not end in .html or .htm and its own files. It then
reads through openMediaFile, as AssetAccess does, which opens without
following links and rechecks the path. The file must be a regular file
with one hard link and at most 25 MiB, and, as image inlining checks image
bytes, it must start with <!doctype html> or <html>. Render recovery
matches path calls by path. The eval grader reads the file behind a path,
so content checks still apply.
Reviewing files that changed from the base of the PR and between bd89e63 and 2a87123.
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
No actionable comments were generated in the recent review.
Walkthrough
HTML preview and render now accept inline HTML or a validated file path. Render records retain the source path for matching. MCP tool schemas, orchestration instructions, and evaluations support path-based page input.
Changes: HTML path rendering
Layer / File(s)
Summary
HTML source contract and loading apps/server/src/htmlRender/HtmlRender.ts, apps/server/src/htmlRender/HtmlRender.test.ts
The renderer accepts HTML text or a path. It validates file paths and contents, then uses the loaded HTML for preview or publish. Tests cover file snapshots, matching, and rejected paths.
The preview and render tools accept optional html and path inputs. Handlers require exactly one source and pass it to the renderer. Instructions and configured context budgets are updated.
Render path retention and matching apps/server/src/htmlRender/HtmlRender.ts, packages/provider-core/src/server/McpProviderSessions.ts
Published render records retain the optional path. Session matching prefers a nonempty path; otherwise it uses the existing HTML matching behavior.
Path-aware evaluation evals/mcp-tool-use/*
Evaluation adds page content from inline HTML or a file path, and uses scripts written earlier in the sample. Cases cover preview and render calls and grading against edited file contents.
sequenceDiagram
participant html_render
participant handlers_pageSource
participant HtmlRender_publish
participant readSource
participant HTML_file
participant McpProviderSessions
html_render->>handlers_pageSource: Validate and select the path source
handlers_pageSource->>HtmlRender_publish: Pass the selected source and render options
HtmlRender_publish->>readSource: Read the path source
readSource->>HTML_file: Resolve, validate, and read file contents
HtmlRender_publish->>McpProviderSessions: Record the render with its path
This change lets the HTML preview and render tools take a file path as well as inline HTML. No concrete merge-blocking problem was found, so it looks ready to merge after normal checks.
Pre-merge checks: 4
Check name
Status
Explanation
Title check
The title "feat(server): html_preview and html_render read the page from a file" matches the main change. The PR adds a path input to both tools, so each call reads an HTML page from a file. The tit…
Description check
The description follows the template's sections: Problem, Change, Scope and approval, and Verification. The Problem section explains that inline-only HTML forces agents to retype whole pages, with mea…
Linked Issues check
Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check
Check skipped because no linked issues were found for this pull request.
Full details: Title check
Explanation
The title "feat(server): html_preview and html_render read the page from a file" matches the main change. The PR adds a path input to both tools, so each call reads an HTML page from a file. The title is a conventional commit, short, and specific. It names the server scope and both affected tools. It does not cover the validation rules or the eval changes, which is expected.
Full details: Description check
Explanation
The description follows the template's sections: Problem, Change, Scope and approval, and Verification. The Problem section explains that inline-only HTML forces agents to retype whole pages, with measured cost. The Change section explains the new path input, the validation rules, and the shared-context trimming. The Verification section names the command run and the test files covering publish, recovery, refused files, and the grader. The Scope and approval section is weak. It links #23303 as the discussion, but it does not state explicit maintainer approval of the direction or scope, and it does not include an approval comment. The template requires that link for a feature like this one. The rest of the description is substantive, so the check passes. The missing approval evidence should still be fixed before merge.
Resolution
Optional: In the Scope and approval section, link the #23303 discussion comment where a maintainer approved this direction and scope. The template asks for the approval comment itself, not only the issue number.
Finishing Touches
Generate unit tests (beta)
Create a new PR
Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Tip
🎯 Customize your risk assessments
Guide how CodeRabbit assesses merge risk and security architecture risk. Highlight sensitive changes and explain your security boundaries using Merge Risk Instructions and Security Risk Instructions in your review settings. Security architecture risk assessments require the Advanced plan or above.
✅ Automatic approvals, with your rules
Let CodeRabbit approve pull requests once required threads are resolved, pre-merge checks pass, and your risk limits are met. Enable Automatic approvals in review settings, with overrides for teams or file paths.
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 8 remain after this review.
…ges (#32833)
Agents can pass `path` to an absolute .html file instead of retyping the
page as inline `html`. The server reads the file only for full-access
threads, with the existing disk-read guards, and snapshots it at publish.
ACP render recovery matches path calls by path. The mcp-tool-use eval
grades pages passed by path.
Takes over #32817.
Co-authored-by: Stoli Geyer <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
* docs(user): explain secret providers and secret requests (pingdotgg#31654)
* feat(server): transcribe audio on a chosen environment (pingdotgg#30625)
Co-authored-by: UtkarshUsername <[email protected]>
* feat(web): opt into environment dictation on this device (pingdotgg#30623)
Co-authored-by: UtkarshUsername <[email protected]>
* feat(desktop): dictate into browser annotations with the same consent (pingdotgg#30624)
* feat(mobile): opt in to dictation on a paired environment (pingdotgg#31059)
* fix(web): keep the folder path caret in place while editing (pingdotgg#31642)
Co-authored-by: shivam <[email protected]>
* perf(mobile): call the highlights lexer through Nitro, up to 10x faster calls on Android (pingdotgg#31188)
* fix(claude): turns use the downloaded model catalog (pingdotgg#31717)
* fix(gitlab): bot authors are flagged as bots (pingdotgg#30383)
Co-authored-by: maria-rcks <[email protected]>
* fix(gitlab): merge requests can edit their labels (pingdotgg#30483)
Co-authored-by: maria-rcks <[email protected]>
* perf(mobile): faster thread sync, connects, and reconnects on bad wifi (pingdotgg#28487)
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
* fix(mobile): iPad composer drops when the keyboard floats or minimizes (pingdotgg#31251)
* perf(mobile): stop iOS syntax highlighting from looking up a thread-local on every lexer call (pingdotgg#31187)
* fix(gitlab): edited comments wake PR watchers (pingdotgg#30403)
Co-authored-by: Julius Marminge <[email protected]>
* fix(gitlab): merge requests can delete their source branch (pingdotgg#30453)
Co-authored-by: Julius Marminge <[email protected]>
* fix(gitlab): comments link to their note on GitLab (pingdotgg#30411)
Co-authored-by: Julius Marminge <[email protected]>
* fix(mobile): iOS terminal accepts Chinese, Japanese and Korean input (pingdotgg#30546)
* fix(mobile): Android app no longer stays offline after reopening (pingdotgg#28625)
* fix(mobile): show one Android notification per thread completion (pingdotgg#27699)
Co-authored-by: PR Batch Tester <[email protected]>
* fix(mobile): stop Android composer flicker at the wrap boundary (pingdotgg#27682)
Co-authored-by: PR Batch Tester <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
* fix(mobile): Android dictation works with regional preferences set (pingdotgg#31030)
* fix(mobile): iOS compose button no longer grows while a tab is pressed (pingdotgg#28955)
* fix(mobile): Android terminal Backspace deletes on the first press (pingdotgg#24983)
Co-authored-by: maria-rcks <[email protected]>
* fix(mobile): Android secret requests no longer offer password manager logins (pingdotgg#29825)
* fix(mobile): iOS composer text no longer turns invisible mid-draft (pingdotgg#30135)
* fix(mobile): iOS 26 scroll edge effect no longer hides composer text (pingdotgg#30138)
* fix(mobile): typing after in-app dictation reaches the draft again on iOS (pingdotgg#30139)
Co-authored-by: maria-rcks <[email protected]>
* perf(mobile): skip obsolete queued iOS diff row decodes (pingdotgg#25287)
Co-authored-by: SAPHID <[email protected]>
* fix(gitlab): the checks and review list filters work (pingdotgg#30433)
Co-authored-by: Julius Marminge <[email protected]>
* fix(mobile): keep Android tablet cold launches in landscape (pingdotgg#28825)
* fix(pr): GitCafe attachments render in pull request bodies (pingdotgg#31741)
* fix(gitlab): unresolved overview threads count as review findings (pingdotgg#30397)
Co-authored-by: Julius Marminge <[email protected]>
* fix(mobile): Android alerts and the live card show the same status bar icon (pingdotgg#29738)
* fix(mobile): keyboard state follows Android's nonanimated IME show (pingdotgg#25847)
Co-authored-by: Tejas Rahane <[email protected]>
* fix(mobile): Android composer no longer accepts autofill (pingdotgg#27489)
* perf(mobile): skip obsolete queued full token decodes (pingdotgg#25320)
Co-authored-by: SAPHID <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
* fix(gitlab): threads on changed code show as outdated (pingdotgg#30423)
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
* fix(gitlab): the checks panel lists each pipeline job (pingdotgg#28728)
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
* perf(mobile): avoid code row scans while dragging file paths (pingdotgg#25484)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: SAPHID <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
* fix(chat): show one usage-limit recovery notice (pingdotgg#29292)
* fix(web): adding to the composer no longer drops earlier findings and selections (pingdotgg#24990)
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
* feat(pull-requests): PR composers complete @user mentions (pingdotgg#30747)
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
* feat(web): add pull request comments to the chat (pingdotgg#30579)
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
* feat(gitlab): link issue, merge request, commit and user references (pingdotgg#30524)
* fix(mobile): sending on iOS no longer leaves an autocorrected draft behind (pingdotgg#26452)
Co-authored-by: SAPHID <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
* feat(gitlab): reviews can request changes (pingdotgg#30549)
Co-authored-by: Julius Marminge <[email protected]>
* feat(pull-requests): PR composers complete #123 and GitLab !123 references (pingdotgg#30857)
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
* feat(gitlab): merge requests from forks can toggle maintainer edits (pingdotgg#30518)
Co-authored-by: Julius Marminge <[email protected]>
* fix(prs): reviewer menu searches past the first page and keeps GitLab's requested reviewers (pingdotgg#22489)
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
* fix(ui): snooze menu times match the menu's typography (pingdotgg#30596)
* feat(web): a Labs setting hides tool calls so threads read like a chat (pingdotgg#30000)
Co-authored-by: maria-rcks <[email protected]>
* feat(scheduled-tasks): tasks link to their thread (pingdotgg#31764)
* fix(shared): recognize numeric bare-repository config (pingdotgg#27500)
Co-authored-by: maria-rcks <[email protected]>
* fix(server): a command id reused for two threads at once no longer succeeds for both (pingdotgg#18385)
Co-authored-by: SAPHID <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
* fix(server): coalesce tool output before it fills the live buffer (pingdotgg#16317)
Co-authored-by: maria-rcks <[email protected]>
* perf(server): Windows git reads no longer start a console host (pingdotgg#19288)
* fix(server): a publish whose first push fails still shows the new remote (pingdotgg#29688)
Co-authored-by: maria-rcks <[email protected]>
* fix(server): reverting files removes what a new .gitignore from the turn was hiding (pingdotgg#29795)
Co-authored-by: maria-rcks <[email protected]>
* fix(server): Codex titles no longer fail on ChatGPT accounts without gpt-6-luna (pingdotgg#30078)
* fix(desktop): quit no longer orphans a backend that is slow to stop (pingdotgg#22572)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: SAPHID <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
* perf(server): GitHub activity reads skip PR-wide fields on later review-thread pages (8.9 s → 6.8 s median) (pingdotgg#30294)
Co-authored-by: maria-rcks <[email protected]>
* perf(server): the headless browser closes after five idle minutes (517 MiB → 1.6 MiB median) (pingdotgg#30306)
* fix(provider-acp-registry): surface agent error message on sign-in failure (pingdotgg#30295)
* perf(server): a slow host no longer delays other watched PRs' wakes (935 ms → 65 ms median) (pingdotgg#30291)
* perf(server): PR cache invalidation no longer waits on other projects' reads (1,163 ms → 0.12 ms median) (pingdotgg#30293)
* fix(opencode): tools stopped mid-run show as interrupted, not failed (pingdotgg#29762)
Co-authored-by: maria-rcks <[email protected]>
* fix(client-runtime): pull request bodies with CRLF line endings keep their code blocks whole (pingdotgg#30352)
Co-authored-by: maria-rcks <[email protected]>
* fix(shared): long assistant quote chips no longer end in a broken character (pingdotgg#30367)
* fix(cli): t3 connect unlink no longer warns about a server that is gone (pingdotgg#30324)
* fix(server): ACP agents get T3CODE_THREAD_ID like Claude and Codex sessions (pingdotgg#30361)
* fix(server): accept a case-insensitive DPoP authorization scheme (pingdotgg#30337)
Co-authored-by: maria-rcks <[email protected]>
* fix(server): usage-limit auto-resume no longer arms subagents of archived or deleted parents (pingdotgg#30363)
* fix(provider-core): background work notices no longer end in a broken character (pingdotgg#30369)
* fix(client-runtime): subagent previews no longer end in a broken character (pingdotgg#30391)
* fix(server): explain fake-IP DNS failures in HTML previews (pingdotgg#30318)
* perf(resource-monitor): Linux terminal process checks use a third of the CPU (pingdotgg#30381)
* fix(server): failed Claude text generation shows Claude's error instead of raw JSON (pingdotgg#30331)
* fix(server): pull request tools point a bare thread uuid at its mcp: thread (pingdotgg#30375)
* fix(server): message search keeps results when a short non-Latin word differs in case (pingdotgg#30332)
* fix(web): preview annotation chip labels no longer end in a broken character (pingdotgg#30345)
* fix(server): thread titles no longer fail when the text generation provider can't run (pingdotgg#29607)
Co-authored-by: medric-z <[email protected]>
* fix(web): refresh resource timeline while diagnostics is open (pingdotgg#30528)
* fix(usage): a CLIProxy hub saved as its management.html panel URL shows accounts again (pingdotgg#25579)
Co-authored-by: maria-rcks <[email protected]>
* fix(shared): command output keeps text after an unterminated OSC (pingdotgg#30479)
* fix(cli): t3 up's retry and restart hints keep --base-dir (pingdotgg#30480)
* fix(server): a branch tracking another local branch no longer shows that branch's PR (pingdotgg#30563)
* fix(web): terminal links keep route and pnpm paths in one piece (pingdotgg#30603)
* fix(shared): CSV and TSV attachments keep their table under generic file types (pingdotgg#30601)
* fix(server): report Claude settings compaction threshold (pingdotgg#29220)
Co-authored-by: maria-rcks <[email protected]>
* fix(cli): t3 project remove finds a deleted project by a relative or trailing-slash path (pingdotgg#30562)
* fix(server): an invalid regex in project search still finds its text when Match case is off (pingdotgg#30569)
* fix(server): agents see why a project update was refused instead of a generic failure (pingdotgg#30564)
* perf(client-runtime): stop tracing streamed thread batches (pingdotgg#30679)
* fix(server): rewound Codex threads import their history from before the rewind (pingdotgg#30652)
* fix(server): keep writes moving with a larger WAL limit (pingdotgg#31804)
* fix(opencode): edits that delete text keep their empty replacement (pingdotgg#30643)
Co-authored-by: johan vaz <[email protected]>
* fix(forgejo): read author assignees once (pingdotgg#30686)
* fix(cli): t3 pair's no-running-server hint keeps --base-dir (pingdotgg#30689)
* perf(server): stop tracing routine port polling helpers (pingdotgg#30678)
* fix(server): ACP MCP bridge no longer splits messages on U+2028/U+2029 (pingdotgg#30719)
Co-authored-by: Geezy <[email protected]>
* fix(cli): expand home-relative thread project paths (pingdotgg#30721)
* perf(ci): boot the built web client in Build and Typecheck, not Test Web (about 22 s off the longest job) (pingdotgg#30752)
* fix(shared): ignore unfinished quoted Git config continuations (pingdotgg#30743)
* fix(review-guide): preserve excerpt line terminators (pingdotgg#30717)
* feat(pi): show extension status in existing controls (pingdotgg#23901)
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Yash Singh <[email protected]>
* fix(fx): preserve literal unicode escape text in clipped replies (pingdotgg#30701)
* perf(dev): knip:check runs its two passes side by side (34 s → 26 s median on 4 CPUs) (pingdotgg#30737)
* fix(shared): command output no longer prints the final byte of escape sequences with intermediates (pingdotgg#30724)
Co-authored-by: Geezy <[email protected]>
* fix(web): restore folder breadcrumb trails when reopening tabs (pingdotgg#30706)
* fix(client-runtime): sanitized error stacks keep line and column for URLs with a query (pingdotgg#30726)
Co-authored-by: Geezy <[email protected]>
* fix(shared): shortened agent paths like /tmp/... no longer become broken file chips (pingdotgg#30762)
* fix(server): MCP auth spans no longer include the tool call (pingdotgg#30834)
* fix(server): preview browser picks up Chrome 157 security fixes (pingdotgg#30820)
* fix(server): agents read RTF paragraphs that end with a backslash (pingdotgg#30848)
Co-authored-by: Geezy <[email protected]>
* fix(server): a late checkpoint keeps the stopped run's baselines (pingdotgg#30830)
* fix(shared): preserve IPv6 hosts when switching clone protocols (pingdotgg#30798)
Co-authored-by: Simone <[email protected]>
* docs: explain Linux desktop installation (pingdotgg#30819)
* perf(server): each live event is projected once for all subscribers (pingdotgg#30860)
* fix(server): request_secret asks for one value per card (pingdotgg#30805)
Co-authored-by: maria-rcks <[email protected]>
* fix(ssh): host discovery skips hidden Include matches (pingdotgg#30910)
Co-authored-by: Simone <[email protected]>
* docs: clarify diagnostic exports and their separate controls (pingdotgg#30942)
* docs: fix worktree cleanup path in FAQ (pingdotgg#31000)
* fix(server): a policy that manages observability endpoints is refused instead of ignored (pingdotgg#30973)
* fix(client-runtime): untitled subagent titles no longer end in a broken character (pingdotgg#30390)
Co-authored-by: maria-rcks <[email protected]>
* fix(shared): underline styles and colours no longer scramble command output colours (pingdotgg#21542)
* perf(server): batch queued provider writes without waiting (pingdotgg#31656)
* fix(server): prepare restart continuations faster on shutdown (pingdotgg#31807)
* fix(web): keep change totals aligned beside the label (pingdotgg#31814)
* fix(web): rank usage provider summaries by the selected metric (pingdotgg#15632)
Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Yash Singh <[email protected]>
* fix(server): wait for automatic follow-ups before settling threads (pingdotgg#31815)
Keep deferred settlement requests through automatic follow-up turns and retry from persisted run events, including replayed rejected commands. Preserve failed follow-ups and new user input, and guard settlement against newer runs.
Validated with 173 focused tests through check:changed, all CI checks on e1a41f6, and resolved agentic reviews.
Model: GPT 6.1 Sol. Harness: Codex in T3 Code.
* fix(web): settings descriptions use the full row and stay two lines (pingdotgg#31826)
* fix(voice): insert Unicode word boundaries for dictation (pingdotgg#31799)
* fix(mobile): use preferred languages for on-device iPhone dictation (pingdotgg#31800)
* fix(mobile): keep the opening words of local iPhone dictation (pingdotgg#31801)
* fix(server): keep PR generation focused on the change (pingdotgg#31819)
* chore(desktop): trace shutdown phases (pingdotgg#31850)
* perf(server): batch shutdown recovery commits (pingdotgg#31854)
* perf(server): batch projection recovery reads into one query (pingdotgg#31842)
Combine the ten runtime recovery collections into one SQLite statement, leaving the initial thread lookup separate. Preserve collection filters, ordering, decoding and ordered reconciliation after prior commits.
Extend startup/shutdown idempotency coverage and guard against full message and run history scans. Synthetic stress measurements show fewer database requests; overall desktop quit latency remains unmeasured.
Implemented with GPT 6.1 Sol through the Codex harness in T3 Code.
* fix(desktop): let the window shrink to 400x360 so it fits half-screen tiles (pingdotgg#28223)
Co-authored-by: Priyansh4444 <[email protected]>
Co-authored-by: Tanner Polley <[email protected]>
Co-authored-by: Maria <[email protected]>
* fix(web): improve Changes row text and spacing (pingdotgg#31858)
* feat(server): stop opted-in project actions when threads settle (pingdotgg#31857)
* fix(build): skip Koffi source builds during cross-packaging (pingdotgg#31864)
* fix(server): Antigravity installs on Intel Macs (pingdotgg#30189)
Co-authored-by: Alessio Fano <[email protected]>
* fix(desktop): arm64 macOS builds no longer ship x64-only objc-js binary (pingdotgg#31285)
* fix(web): keep task updates static in the timeline (pingdotgg#31888)
* fix(devices): keep devices listed when simulator discovery fails (pingdotgg#25971)
Co-authored-by: PR Batch Tester <[email protected]>
* fix(web): dragging a sidebar thread no longer scrolls the list to the bottom (pingdotgg#27691)
* fix(web): tagging a thread by drag no longer scrolls the sidebar (pingdotgg#31924)
* ci: stacked PRs stop evicting the shared pnpm cache (pingdotgg#31937)
A PR based on a branch other than the default saved a ~1 GB pnpm store
that only its own reruns can read, which evicted shared entries. These
PRs still restore and install; pushes, releases, and default-base PRs
save as before.
* fix(web): remote subagents no longer split from the lineage list (pingdotgg#29285)
* perf(ci): release uploads stop recompressing installers and CLI archives (pingdotgg#31942)
* feat(antigravity): identify as T3 Code to agy acp 1.5.1+ (pingdotgg#31158)
Co-authored-by: Theo Browne <[email protected]>
* ci(release): JS bundle jobs stop building an unused Linux helper (pingdotgg#31941)
Release and macOS preview bundle jobs can check out a ref from before
build:desktop:bundle existed. Those refs now install libsecret and run
build:desktop as before.
* feat(marketing): help search engines tell t3.codes apart from copycat sites (pingdotgg#31142)
Give crawlers a consistent download URL, a sitemap, and links to the official repository and app listings. Publish the monitored security contact in the site and repository policies.
Takeover by Claude Opus 5.5 in Claude Code. Follow-up by GPT-6.1 Terra [1m] in Codex.
Co-authored-by: Victor Valentine Romo <[email protected]>
* perf(server): background service launcher uses 75% less memory (pingdotgg#29284)
* fix(azure-devops): a fork's same-named branch no longer hides the branch's own pull request (pingdotgg#29817)
* perf(server): provider-thread reads start from owned rows, not every node of the thread (pingdotgg#31012)
* perf(server): stop tracing the per-event background-work probe (pingdotgg#31584)
* perf(server): stop tracing each transcript file in usage scans (pingdotgg#31586)
* perf(cursor): stop tracing the per-event account usage hash (pingdotgg#31017)
* fix(muse): recover from unavailable session views (pingdotgg#32154)
* feat(web): sort and filter transcription models (pingdotgg#32045)
* fix(azure-devops): existing pull requests are found for branches containing # (pingdotgg#31928)
Co-authored-by: Adam Otradovec <[email protected]>
Co-authored-by: Yash Singh <[email protected]>
* perf(server): background PR discovery no longer delays git status after a restart (pingdotgg#32162)
* fix(web): the citation comment box opens at the quote instead of sliding in from the corner (pingdotgg#32141)
* fix(clients): dictating a citation comment or preview annotation uses the full width (pingdotgg#32142)
* fix(web): PR bodies keep before/after video tables intact (pingdotgg#25988)
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
* perf(release): fetch the nightly Android APK in a background step (pingdotgg#31949)
* perf(release): macOS CLI notarization no longer blocks the desktop build (pingdotgg#31945)
* ci(release): npm publish no longer checks out and installs the workspace (pingdotgg#31936)
* ci(release): macOS arm64 stops compressing a pnpm store it cannot save (pingdotgg#31955)
* fix(web): relay-connected microphone destinations authorize speech requests (pingdotgg#31778)
* fix(server): a usage-limit auto-resume survives a server restart (pingdotgg#31292)
* fix(mobile): review diff no longer goes blank after switching sections (pingdotgg#27960)
* fix(mobile): iOS filter menus close back into their pill without clipping or garbling (pingdotgg#31168)
* fix(mobile): Android composer renders DM Sans (pingdotgg#30230)
* fix(desktop): open Teams web in the preview browser (pingdotgg#31489)
* fix(web): popovers over the desktop header respond to the pointer (pingdotgg#31794)
* fix(web): add installable icons for Firefox on Android (pingdotgg#30420)
* fix: show latest reply age in active thread rows (pingdotgg#31825)
* fix(mobile): keep settled status pills readable (pingdotgg#31635)
Co-authored-by: maria-rcks <[email protected]>
* fix(mobile): preserve line breaks in Markdown table cells (pingdotgg#29355)
Co-authored-by: PR Batch Tester <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
* fix(mobile): stop the work-row shimmer from updating every frame (pingdotgg#28530)
Co-authored-by: PR Batch Tester <[email protected]>
* fix(server): t3 service install no longer moves a --base-dir service onto an empty ~/.t3 (pingdotgg#23878)
* feat(voice): opt into cloud dictation with OpenAI, Grok, or OpenRouter (pingdotgg#31769)
Co-authored-by: Aditya Vardhan Sharma <[email protected]>
* fix(web): make first-run dictation setup discoverable (pingdotgg#32197)
Co-authored-by: Lakshmi Tanmay <[email protected]>
* fix(web): first-run voice setup offers a model for the user's language (pingdotgg#32035)
* feat: auto-settle inactive threads after 7 days by default (pingdotgg#32325)
* docs(updates): say when Update all leaves a provider out (pingdotgg#32269)
* test(server): three more tests stop assuming a POSIX host (pingdotgg#32263)
* fix(server): git failures are read in English when macOS git follows the system language (pingdotgg#32252)
* fix(marketing): balance fork and download heading text (pingdotgg#32194)
* perf(shared): scan usage-limit support once per provider catalog (pingdotgg#32179)
* fix(pi): the T3 MCP extension file is written atomically (pingdotgg#32231)
Co-authored-by: maria-rcks <[email protected]>
* fix(web): the main sidebar stays collapsed after relaunch (pingdotgg#24202)
Co-authored-by: PR Batch Tester <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
* fix(codex): explain speed limits on managed connections (pingdotgg#30322)
* fix(web): isolate scrollbar styles from iframe owners (pingdotgg#32398)
* fix(azure-devops): default-branch lookup no longer fails for missing --repository (pingdotgg#29586)
* perf(server): avoid lsof polling when Linux proc is usable (pingdotgg#30011)
* fix(providers): remove incomplete ChatGPT connections (pingdotgg#29280)
* fix(acp): retain streamed child tool output (pingdotgg#32411)
* fix(web): recover ACP settings when projects change (pingdotgg#32409)
* fix(shared): inline code like `allocator.cc:217` becomes a file chip (pingdotgg#32403)
* fix(server): theme files saved with a UTF-8 BOM are published instead of rejected (pingdotgg#32405)
* fix(grok): long command titles no longer end in a broken character (pingdotgg#32408)
* fix(github): keep review-required until required reviewers approve (pingdotgg#32395)
* feat(web): delete archived threads from the archive page (pingdotgg#22160)
* fix(provider-acp): preserve UTF-8 across interleaved terminal streams (pingdotgg#32391)
* fix(pi): preserve explicit thinking when switching models (pingdotgg#32389)
* fix(acp): bound unread raw notification retention (pingdotgg#19585)
Co-authored-by: maria-rcks <[email protected]>
* fix(web): keep Pi thinking controls visible before selection (pingdotgg#27397)
Co-authored-by: maria-rcks <[email protected]>
* fix(desktop): published themes reach the app when it uses this machine's service (pingdotgg#26324)
Co-authored-by: notcompromised <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Yash Singh <[email protected]>
* fix(antigravity): check account access after installation (pingdotgg#32446)
* fix(acp): preserve native form questions and typed answers (pingdotgg#19659)
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Yash Singh <[email protected]>
Co-authored-by: Honey Paptan <[email protected]>
* fix(antigravity): explain missing SOCKS dependency during refresh (pingdotgg#19660)
Co-authored-by: Yash Singh <[email protected]>
* fix(cursor): use the SDK account for usage data (pingdotgg#32448)
Remove Cursor CLI credential and macOS Keychain fallbacks for account usage and limits, including their settings and web/mobile prompts. Preserve usage through the Cursor SDK sign-in, CURSOR_API_KEY exchange, and explicit auth tokens for limits.
Verified focused Cursor tests and full CI on the final head. The scope and intended loss of usage for CLI-only environments were explicitly approved by the maintainer.
Model: GPT 6.1 Sol. Harness: Codex through T3 Code.
* fix(web): agent sign-in defaults to Auto access (pingdotgg#32186)
* fix(gitlab): `glab mr accept` counts as a shell merge (pingdotgg#32400)
* fix(forgejo): tea's `pull` and `m` aliases count as shell merges (pingdotgg#32401)
* fix: side chats start with the parent's permission mode and reasoning level (pingdotgg#32315)
* fix(mobile): center the Choose project empty-state buttons (pingdotgg#27450)
* fix(mobile): Android terminal sends hardware-keyboard arrows, Tab, and Escape to the PTY (pingdotgg#32666)
* fix(mobile): group settled PR threads in the continue menu (pingdotgg#27941)
Co-authored-by: Orin <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
* fix(mobile): shorten the model picker save action (pingdotgg#32551)
* fix(mobile): center Android header confirmation buttons (pingdotgg#32239)
* fix(muse): a declined /compact reports its reason and no longer wedges the thread (pingdotgg#28454)
* fix(web): restore bold weight in rendered Markdown (pingdotgg#25694)
* fix(web): device tool update buttons fit their popovers (pingdotgg#27030)
* fix(web): mobile sidebar keeps its width when shelves expand (pingdotgg#27541)
* fix(web): lineage phase headers truncate instead of overflowing the details card (pingdotgg#27582)
* fix(server): storage report lists project worktrees nested inside plain folders (pingdotgg#25883)
* fix(scripts): report:renders starts on Windows without a vp shim (pingdotgg#32777)
* perf(server): skip oversized history during handoff selection (pingdotgg#23821)
* feat(antigravity): support agy CLI as custom binaryPath (pingdotgg#32503)
* fix(mobile): share PDFs from the Android attachment viewer (pingdotgg#32266)
* fix(server): saved preview screenshots keep full resolution (pingdotgg#28255)
* fix(server): refresh linking tools in existing agent sessions (pingdotgg#26737)
Co-authored-by: PR Batch Tester <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
* feat(server): html tools take a file path, so agents stop retyping pages (pingdotgg#32833)
Agents can pass `path` to an absolute .html file instead of retyping the
page as inline `html`. The server reads the file only for full-access
threads, with the existing disk-read guards, and snapshots it at publish.
ACP render recovery matches path calls by path. The mcp-tool-use eval
grades pages passed by path.
Takes over pingdotgg#32817.
Co-authored-by: Stoli Geyer <[email protected]>
* fix(search): keep whole-word title matches above busy prefixes (pingdotgg#32242)
* fix(connect): show why relay unlink failed (pingdotgg#25198)
Co-authored-by: PR Batch Tester <[email protected]>
* fix(mobile): keep scheduled task prompts clear of microphone (pingdotgg#32498)
* feat(web,mobile): move a scheduled task to another thread (pingdotgg#31379)
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: shivam <[email protected]>
* perf(server): Codex tool calls no longer wait on reasoning summaries (pingdotgg#31149)
* fix(web): fill combobox search fields (pingdotgg#32926)
Co-authored-by: Bryan Tobing <[email protected]>
* fix(server): mise-installed providers update through mise instead of their own updater (pingdotgg#21524)
Mise-owned providers requested as latest now update with mise upgrade <tool>; pinned tools, version paths and mise x scripts stay manual.
Co-authored-by: Ryan Hughes <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
* fix(mobile): 保留 ZIP 动态中文提示并规范预览格式
* fix(sync): 修复状态处理和多端回归问题
恢复 PR 合并确认与运行时清理门禁,补齐配置导出和 Claude 只读工具许可。
修正手机基础分支过滤,并更新多端测试夹具以保留 fork 默认行为。
* fix(mobile): 修复原生高亮模块的冻结安装失败
显式声明锁文件已包含的可选类型 peer,使本地原生模块清单与冻结安装校验保持一致。
* fix(settings): 补齐多端中文与配置导入导出兼容
补齐 Web 和手机端新增语音、定时任务、主题、连接诊断及线程状态的简体中文。
支持公共偏好和项目 Issue 来源配置迁移,排除设备麦克风标识。修复手机从系统文件选择器返回后重连丢失导入状态,以及项目配置导入覆盖其他项目并发更新的问题。
验证:增量检查全部通过,37 个包类型检查、48 个测试文件共 347 项用例,以及关联检查通过;Web 与 Android 完成双向配置导入导出及逐字段回读验收。
---------
Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: UtkarshUsername <[email protected]>
Co-authored-by: shivam <[email protected]>
Co-authored-by: Cameron Chisholm <[email protected]>
Co-authored-by: Antony <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Bilal Bakr <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Kalle Ahlström <[email protected]>
Co-authored-by: PR Batch Tester <[email protected]>
Co-authored-by: Md Ehsanul Haque <[email protected]>
Co-authored-by: Jeremy Meidinger <[email protected]>
Co-authored-by: Victor <[email protected]>
Co-authored-by: voida6 <[email protected]>
Co-authored-by: wojas <[email protected]>
Co-authored-by: Alex Southwell <[email protected]>
Co-authored-by: SAPHID <[email protected]>
Co-authored-by: Valerii Kuznietsov <[email protected]>
Co-authored-by: Tejas Rahane <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Ishaan Kothari <[email protected]>
Co-authored-by: oliver <[email protected]>
Co-authored-by: Theo Browne <[email protected]>
Co-authored-by: maco <[email protected]>
Co-authored-by: Alyx Buckmann <[email protected]>
Co-authored-by: Kayzel <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Muzammil Hussain <[email protected]>
Co-authored-by: Andrei <[email protected]>
Co-authored-by: Nico <[email protected]>
Co-authored-by: MarcoDotIO <[email protected]>
Co-authored-by: spoukyii <[email protected]>
Co-authored-by: Frank Hommers <[email protected]>
Co-authored-by: Jai Khurana <[email protected]>
Co-authored-by: medric <[email protected]>
Co-authored-by: medric-z <[email protected]>
Co-authored-by: Shaun Hawk <[email protected]>
Co-authored-by: Jolymmiles <[email protected]>
Co-authored-by: tiliakoos <[email protected]>
Co-authored-by: Lakshmi Tanmay <[email protected]>
Co-authored-by: Elliot Drel <[email protected]>
Co-authored-by: Yash Singh <[email protected]>
Co-authored-by: Johan Vaz <[email protected]>
Co-authored-by: johan vaz <[email protected]>
Co-authored-by: TheGuyWithHAT <[email protected]>
Co-authored-by: Geezy <[email protected]>
Co-authored-by: Pyseph <[email protected]>
Co-authored-by: Harjot Singh <[email protected]>
Co-authored-by: Wout Stiens <[email protected]>
Co-authored-by: Navid Nadali <[email protected]>
Co-authored-by: Solomon Botchway <[email protected]>
Co-authored-by: Simone <[email protected]>
Co-authored-by: Simone <[email protected]>
Co-authored-by: Roger V <[email protected]>
Co-authored-by: hari <[email protected]>
Co-authored-by: jacobcorbett <[email protected]>
Co-authored-by: Dharmesh <[email protected]>
Co-authored-by: Priyansh4444 <[email protected]>
Co-authored-by: Tanner Polley <[email protected]>
Co-authored-by: Maria <[email protected]>
Co-authored-by: Ale 🐶 <[email protected]>
Co-authored-by: Alessio Fano <[email protected]>
Co-authored-by: Josh Rossi <[email protected]>
Co-authored-by: Patrick C. Toulme <[email protected]>
Co-authored-by: Theo Browne <[email protected]>
Co-authored-by: Victor Valentine Romo <[email protected]>
Co-authored-by: Sudharsan <[email protected]>
Co-authored-by: Adam Otradovec <[email protected]>
Co-authored-by: Adam Otradovec <[email protected]>
Co-authored-by: Bartłomiej Błoniarz <[email protected]>
Co-authored-by: Aditya Vardhan Sharma <[email protected]>
Co-authored-by: Djordje Stojanovic <[email protected]>
Co-authored-by: Mika Hertler <[email protected]>
Co-authored-by: Jui-Chen Chien <[email protected]>
Co-authored-by: Exotic <[email protected]>
Co-authored-by: luke <[email protected]>
Co-authored-by: Rishabh_t106 <[email protected]>
Co-authored-by: Felix Laga <[email protected]>
Co-authored-by: William Sedlacek <[email protected]>
Co-authored-by: Peyton Lamb <[email protected]>
Co-authored-by: notcompromised <[email protected]>
Co-authored-by: Honey Paptan <[email protected]>
Co-authored-by: Abdullah Al Zawad <[email protected]>
Co-authored-by: Arif Ali <[email protected]>
Co-authored-by: Orin <[email protected]>
Co-authored-by: Alex <[email protected]>
Co-authored-by: Akshar Patel <[email protected]>
Co-authored-by: Georgi Todorov <[email protected]>
Co-authored-by: Stoli Geyer <[email protected]>
Co-authored-by: ABDUL RAHMAN JAMSHID NASSER AL RASHDI <[email protected]>
Co-authored-by: Bryan Tobing <[email protected]>
Co-authored-by: Ryan Hughes <[email protected]>
rwasayc
added a commit
to rwasayc/t3code
that referenced
this pull request
Nov 13, 2026
…files (#1)
* fix(mobile): show one Android notification per thread completion (pingdotgg#27699)
Co-authored-by: PR Batch Tester <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(mobile): stop Android composer flicker at the wrap boundary (pingdotgg#27682)
Co-authored-by: PR Batch Tester <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
* fix(mobile): Android dictation works with regional preferences set (pingdotgg#31030)
* fix(mobile): iOS compose button no longer grows while a tab is pressed (pingdotgg#28955)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(mobile): Android terminal Backspace deletes on the first press (pingdotgg#24983)
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
* fix(mobile): Android secret requests no longer offer password manager logins (pingdotgg#29825)
Co-authored-by: Claude Sonnet 5.5 <[email protected]>
* fix(mobile): iOS composer text no longer turns invisible mid-draft (pingdotgg#30135)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(mobile): iOS 26 scroll edge effect no longer hides composer text (pingdotgg#30138)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(mobile): typing after in-app dictation reaches the draft again on iOS (pingdotgg#30139)
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
* perf(mobile): skip obsolete queued iOS diff row decodes (pingdotgg#25287)
Co-authored-by: SAPHID <[email protected]>
* fix(gitlab): the checks and review list filters work (pingdotgg#30433)
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
* fix(mobile): keep Android tablet cold launches in landscape (pingdotgg#28825)
* fix(pr): GitCafe attachments render in pull request bodies (pingdotgg#31741)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(gitlab): unresolved overview threads count as review findings (pingdotgg#30397)
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
* fix(mobile): Android alerts and the live card show the same status bar icon (pingdotgg#29738)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(mobile): keyboard state follows Android's nonanimated IME show (pingdotgg#25847)
Co-authored-by: Tejas Rahane <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(mobile): Android composer no longer accepts autofill (pingdotgg#27489)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* perf(mobile): skip obsolete queued full token decodes (pingdotgg#25320)
Co-authored-by: SAPHID <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
* fix(gitlab): threads on changed code show as outdated (pingdotgg#30423)
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
* fix(gitlab): the checks panel lists each pipeline job (pingdotgg#28728)
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
* perf(mobile): avoid code row scans while dragging file paths (pingdotgg#25484)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: SAPHID <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
* fix(chat): show one usage-limit recovery notice (pingdotgg#29292)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(web): adding to the composer no longer drops earlier findings and selections (pingdotgg#24990)
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
* feat(pull-requests): PR composers complete @user mentions (pingdotgg#30747)
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
* feat(web): add pull request comments to the chat (pingdotgg#30579)
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
* feat(gitlab): link issue, merge request, commit and user references (pingdotgg#30524)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(mobile): sending on iOS no longer leaves an autocorrected draft behind (pingdotgg#26452)
Co-authored-by: SAPHID <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
* feat(gitlab): reviews can request changes (pingdotgg#30549)
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
* feat(pull-requests): PR composers complete pingdotgg#123 and GitLab !123 references (pingdotgg#30857)
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
* feat(gitlab): merge requests from forks can toggle maintainer edits (pingdotgg#30518)
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
* fix(prs): reviewer menu searches past the first page and keeps GitLab's requested reviewers (pingdotgg#22489)
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
* fix(ui): snooze menu times match the menu's typography (pingdotgg#30596)
* feat(web): a Labs setting hides tool calls so threads read like a chat (pingdotgg#30000)
Co-authored-by: maria-rcks <[email protected]>
* feat(scheduled-tasks): tasks link to their thread (pingdotgg#31764)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(shared): recognize numeric bare-repository config (pingdotgg#27500)
Co-authored-by: maria-rcks <[email protected]>
* fix(server): a command id reused for two threads at once no longer succeeds for both (pingdotgg#18385)
Co-authored-by: SAPHID <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
* fix(server): coalesce tool output before it fills the live buffer (pingdotgg#16317)
Co-authored-by: maria-rcks <[email protected]>
* perf(server): Windows git reads no longer start a console host (pingdotgg#19288)
* fix(server): a publish whose first push fails still shows the new remote (pingdotgg#29688)
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
* fix(server): reverting files removes what a new .gitignore from the turn was hiding (pingdotgg#29795)
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
* fix(server): Codex titles no longer fail on ChatGPT accounts without gpt-6-luna (pingdotgg#30078)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(desktop): quit no longer orphans a backend that is slow to stop (pingdotgg#22572)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: SAPHID <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
* perf(server): GitHub activity reads skip PR-wide fields on later review-thread pages (8.9 s → 6.8 s median) (pingdotgg#30294)
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
* perf(server): the headless browser closes after five idle minutes (517 MiB → 1.6 MiB median) (pingdotgg#30306)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(provider-acp-registry): surface agent error message on sign-in failure (pingdotgg#30295)
* perf(server): a slow host no longer delays other watched PRs' wakes (935 ms → 65 ms median) (pingdotgg#30291)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* perf(server): PR cache invalidation no longer waits on other projects' reads (1,163 ms → 0.12 ms median) (pingdotgg#30293)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(opencode): tools stopped mid-run show as interrupted, not failed (pingdotgg#29762)
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
* fix(client-runtime): pull request bodies with CRLF line endings keep their code blocks whole (pingdotgg#30352)
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
* fix(shared): long assistant quote chips no longer end in a broken character (pingdotgg#30367)
* fix(cli): t3 connect unlink no longer warns about a server that is gone (pingdotgg#30324)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(server): ACP agents get T3CODE_THREAD_ID like Claude and Codex sessions (pingdotgg#30361)
* fix(server): accept a case-insensitive DPoP authorization scheme (pingdotgg#30337)
Co-authored-by: maria-rcks <[email protected]>
* fix(server): usage-limit auto-resume no longer arms subagents of archived or deleted parents (pingdotgg#30363)
* fix(provider-core): background work notices no longer end in a broken character (pingdotgg#30369)
* fix(client-runtime): subagent previews no longer end in a broken character (pingdotgg#30391)
* fix(server): explain fake-IP DNS failures in HTML previews (pingdotgg#30318)
* perf(resource-monitor): Linux terminal process checks use a third of the CPU (pingdotgg#30381)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(server): failed Claude text generation shows Claude's error instead of raw JSON (pingdotgg#30331)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(server): pull request tools point a bare thread uuid at its mcp: thread (pingdotgg#30375)
* fix(server): message search keeps results when a short non-Latin word differs in case (pingdotgg#30332)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(web): preview annotation chip labels no longer end in a broken character (pingdotgg#30345)
* fix(server): thread titles no longer fail when the text generation provider can't run (pingdotgg#29607)
Co-authored-by: medric-z <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(web): refresh resource timeline while diagnostics is open (pingdotgg#30528)
* fix(usage): a CLIProxy hub saved as its management.html panel URL shows accounts again (pingdotgg#25579)
Co-authored-by: maria-rcks <[email protected]>
* fix(shared): command output keeps text after an unterminated OSC (pingdotgg#30479)
* fix(cli): t3 up's retry and restart hints keep --base-dir (pingdotgg#30480)
* fix(server): a branch tracking another local branch no longer shows that branch's PR (pingdotgg#30563)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(web): terminal links keep route and pnpm paths in one piece (pingdotgg#30603)
* fix(shared): CSV and TSV attachments keep their table under generic file types (pingdotgg#30601)
* fix(server): report Claude settings compaction threshold (pingdotgg#29220)
Co-authored-by: maria-rcks <[email protected]>
* fix(cli): t3 project remove finds a deleted project by a relative or trailing-slash path (pingdotgg#30562)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(server): an invalid regex in project search still finds its text when Match case is off (pingdotgg#30569)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(server): agents see why a project update was refused instead of a generic failure (pingdotgg#30564)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* perf(client-runtime): stop tracing streamed thread batches (pingdotgg#30679)
* fix(server): rewound Codex threads import their history from before the rewind (pingdotgg#30652)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(server): keep writes moving with a larger WAL limit (pingdotgg#31804)
* fix(opencode): edits that delete text keep their empty replacement (pingdotgg#30643)
Co-authored-by: johan vaz <[email protected]>
Co-authored-by: GPT-6.1 Sol (Codex) <[email protected]>
* fix(forgejo): read author assignees once (pingdotgg#30686)
* fix(cli): t3 pair's no-running-server hint keeps --base-dir (pingdotgg#30689)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* perf(server): stop tracing routine port polling helpers (pingdotgg#30678)
* fix(server): ACP MCP bridge no longer splits messages on U+2028/U+2029 (pingdotgg#30719)
Co-authored-by: Geezy <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(cli): expand home-relative thread project paths (pingdotgg#30721)
* perf(ci): boot the built web client in Build and Typecheck, not Test Web (about 22 s off the longest job) (pingdotgg#30752)
* fix(shared): ignore unfinished quoted Git config continuations (pingdotgg#30743)
* fix(review-guide): preserve excerpt line terminators (pingdotgg#30717)
* feat(pi): show extension status in existing controls (pingdotgg#23901)
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Yash Singh <[email protected]>
* fix(fx): preserve literal unicode escape text in clipped replies (pingdotgg#30701)
* perf(dev): knip:check runs its two passes side by side (34 s → 26 s median on 4 CPUs) (pingdotgg#30737)
* fix(shared): command output no longer prints the final byte of escape sequences with intermediates (pingdotgg#30724)
Co-authored-by: Geezy <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(web): restore folder breadcrumb trails when reopening tabs (pingdotgg#30706)
* fix(client-runtime): sanitized error stacks keep line and column for URLs with a query (pingdotgg#30726)
Co-authored-by: Geezy <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(shared): shortened agent paths like /tmp/... no longer become broken file chips (pingdotgg#30762)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(server): MCP auth spans no longer include the tool call (pingdotgg#30834)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(server): preview browser picks up Chrome 157 security fixes (pingdotgg#30820)
* fix(server): agents read RTF paragraphs that end with a backslash (pingdotgg#30848)
Co-authored-by: Geezy <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(server): a late checkpoint keeps the stopped run's baselines (pingdotgg#30830)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(shared): preserve IPv6 hosts when switching clone protocols (pingdotgg#30798)
Co-authored-by: Simone <[email protected]>
* docs: explain Linux desktop installation (pingdotgg#30819)
* perf(server): each live event is projected once for all subscribers (pingdotgg#30860)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(server): request_secret asks for one value per card (pingdotgg#30805)
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
* fix(ssh): host discovery skips hidden Include matches (pingdotgg#30910)
Co-authored-by: Simone <[email protected]>
* docs: clarify diagnostic exports and their separate controls (pingdotgg#30942)
* docs: fix worktree cleanup path in FAQ (pingdotgg#31000)
* fix(server): a policy that manages observability endpoints is refused instead of ignored (pingdotgg#30973)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(client-runtime): untitled subagent titles no longer end in a broken character (pingdotgg#30390)
Co-authored-by: maria-rcks <[email protected]>
* fix(shared): underline styles and colours no longer scramble command output colours (pingdotgg#21542)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* perf(server): batch queued provider writes without waiting (pingdotgg#31656)
* fix(server): prepare restart continuations faster on shutdown (pingdotgg#31807)
* fix(web): keep change totals aligned beside the label (pingdotgg#31814)
* fix(web): rank usage provider summaries by the selected metric (pingdotgg#15632)
Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Yash Singh <[email protected]>
* fix(server): wait for automatic follow-ups before settling threads (pingdotgg#31815)
Keep deferred settlement requests through automatic follow-up turns and retry from persisted run events, including replayed rejected commands. Preserve failed follow-ups and new user input, and guard settlement against newer runs.
Validated with 173 focused tests through check:changed, all CI checks on e1a41f6, and resolved agentic reviews.
Model: GPT 6.1 Sol. Harness: Codex in T3 Code.
* fix(web): settings descriptions use the full row and stay two lines (pingdotgg#31826)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(voice): insert Unicode word boundaries for dictation (pingdotgg#31799)
Co-authored-by: Claude Fable 5.1 <[email protected]>
* fix(mobile): use preferred languages for on-device iPhone dictation (pingdotgg#31800)
Co-authored-by: Claude Fable 5.1 <[email protected]>
* fix(mobile): keep the opening words of local iPhone dictation (pingdotgg#31801)
Co-authored-by: Claude Fable 5.1 <[email protected]>
* fix(server): keep PR generation focused on the change (pingdotgg#31819)
* chore(desktop): trace shutdown phases (pingdotgg#31850)
* perf(server): batch shutdown recovery commits (pingdotgg#31854)
* perf(server): batch projection recovery reads into one query (pingdotgg#31842)
Combine the ten runtime recovery collections into one SQLite statement, leaving the initial thread lookup separate. Preserve collection filters, ordering, decoding and ordered reconciliation after prior commits.
Extend startup/shutdown idempotency coverage and guard against full message and run history scans. Synthetic stress measurements show fewer database requests; overall desktop quit latency remains unmeasured.
Implemented with GPT 6.1 Sol through the Codex harness in T3 Code.
* fix(desktop): let the window shrink to 400x360 so it fits half-screen tiles (pingdotgg#28223)
Co-authored-by: Priyansh4444 <[email protected]>
Co-authored-by: Tanner Polley <[email protected]>
Co-authored-by: Maria <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
* fix(web): improve Changes row text and spacing (pingdotgg#31858)
* feat(server): stop opted-in project actions when threads settle (pingdotgg#31857)
* fix(build): skip Koffi source builds during cross-packaging (pingdotgg#31864)
* fix(server): Antigravity installs on Intel Macs (pingdotgg#30189)
Co-authored-by: Alessio Fano <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(desktop): arm64 macOS builds no longer ship x64-only objc-js binary (pingdotgg#31285)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(web): keep task updates static in the timeline (pingdotgg#31888)
* fix(devices): keep devices listed when simulator discovery fails (pingdotgg#25971)
Co-authored-by: PR Batch Tester <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(web): dragging a sidebar thread no longer scrolls the list to the bottom (pingdotgg#27691)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(web): tagging a thread by drag no longer scrolls the sidebar (pingdotgg#31924)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* ci: stacked PRs stop evicting the shared pnpm cache (pingdotgg#31937)
A PR based on a branch other than the default saved a ~1 GB pnpm store
that only its own reruns can read, which evicted shared entries. These
PRs still restore and install; pushes, releases, and default-base PRs
save as before.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
* fix(web): remote subagents no longer split from the lineage list (pingdotgg#29285)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* perf(ci): release uploads stop recompressing installers and CLI archives (pingdotgg#31942)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
* feat(antigravity): identify as T3 Code to agy acp 1.5.1+ (pingdotgg#31158)
Co-authored-by: Theo Browne <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
* ci(release): JS bundle jobs stop building an unused Linux helper (pingdotgg#31941)
Release and macOS preview bundle jobs can check out a ref from before
build:desktop:bundle existed. Those refs now install libsecret and run
build:desktop as before.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
* feat(marketing): help search engines tell t3.codes apart from copycat sites (pingdotgg#31142)
Give crawlers a consistent download URL, a sitemap, and links to the official repository and app listings. Publish the monitored security contact in the site and repository policies.
Takeover by Claude Opus 5.5 in Claude Code. Follow-up by GPT-6.1 Terra [1m] in Codex.
Co-authored-by: Victor Valentine Romo <[email protected]>
* perf(server): background service launcher uses 75% less memory (pingdotgg#29284)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(azure-devops): a fork's same-named branch no longer hides the branch's own pull request (pingdotgg#29817)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* perf(server): provider-thread reads start from owned rows, not every node of the thread (pingdotgg#31012)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* perf(server): stop tracing the per-event background-work probe (pingdotgg#31584)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* perf(server): stop tracing each transcript file in usage scans (pingdotgg#31586)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* perf(cursor): stop tracing the per-event account usage hash (pingdotgg#31017)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(muse): recover from unavailable session views (pingdotgg#32154)
* feat(web): sort and filter transcription models (pingdotgg#32045)
* fix(azure-devops): existing pull requests are found for branches containing # (pingdotgg#31928)
Co-authored-by: Adam Otradovec <[email protected]>
Co-authored-by: Yash Singh <[email protected]>
* perf(server): background PR discovery no longer delays git status after a restart (pingdotgg#32162)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(web): the citation comment box opens at the quote instead of sliding in from the corner (pingdotgg#32141)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(clients): dictating a citation comment or preview annotation uses the full width (pingdotgg#32142)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(web): PR bodies keep before/after video tables intact (pingdotgg#25988)
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
* perf(release): fetch the nightly Android APK in a background step (pingdotgg#31949)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* perf(release): macOS CLI notarization no longer blocks the desktop build (pingdotgg#31945)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* ci(release): npm publish no longer checks out and installs the workspace (pingdotgg#31936)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* ci(release): macOS arm64 stops compressing a pnpm store it cannot save (pingdotgg#31955)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(web): relay-connected microphone destinations authorize speech requests (pingdotgg#31778)
* fix(server): a usage-limit auto-resume survives a server restart (pingdotgg#31292)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(mobile): review diff no longer goes blank after switching sections (pingdotgg#27960)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(mobile): iOS filter menus close back into their pill without clipping or garbling (pingdotgg#31168)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(mobile): Android composer renders DM Sans (pingdotgg#30230)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(desktop): open Teams web in the preview browser (pingdotgg#31489)
* fix(web): popovers over the desktop header respond to the pointer (pingdotgg#31794)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(web): add installable icons for Firefox on Android (pingdotgg#30420)
* fix: show latest reply age in active thread rows (pingdotgg#31825)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(mobile): keep settled status pills readable (pingdotgg#31635)
Co-authored-by: maria-rcks <[email protected]>
* fix(mobile): preserve line breaks in Markdown table cells (pingdotgg#29355)
Co-authored-by: PR Batch Tester <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: GPT-6.1 Sol <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
* fix(mobile): stop the work-row shimmer from updating every frame (pingdotgg#28530)
Co-authored-by: PR Batch Tester <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(server): t3 service install no longer moves a --base-dir service onto an empty ~/.t3 (pingdotgg#23878)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* feat(voice): opt into cloud dictation with OpenAI, Grok, or OpenRouter (pingdotgg#31769)
Co-authored-by: Aditya Vardhan Sharma <[email protected]>
* fix(web): make first-run dictation setup discoverable (pingdotgg#32197)
Co-authored-by: Lakshmi Tanmay <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(web): first-run voice setup offers a model for the user's language (pingdotgg#32035)
Co-authored-by: Claude Fable 5.1 <[email protected]>
* feat: auto-settle inactive threads after 7 days by default (pingdotgg#32325)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* docs(updates): say when Update all leaves a provider out (pingdotgg#32269)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* test(server): three more tests stop assuming a POSIX host (pingdotgg#32263)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(server): git failures are read in English when macOS git follows the system language (pingdotgg#32252)
* fix(marketing): balance fork and download heading text (pingdotgg#32194)
* perf(shared): scan usage-limit support once per provider catalog (pingdotgg#32179)
* fix(pi): the T3 MCP extension file is written atomically (pingdotgg#32231)
Co-authored-by: maria-rcks <[email protected]>
* fix(web): the main sidebar stays collapsed after relaunch (pingdotgg#24202)
Co-authored-by: PR Batch Tester <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
* fix(codex): explain speed limits on managed connections (pingdotgg#30322)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(web): isolate scrollbar styles from iframe owners (pingdotgg#32398)
* fix(azure-devops): default-branch lookup no longer fails for missing --repository (pingdotgg#29586)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* perf(server): avoid lsof polling when Linux proc is usable (pingdotgg#30011)
* fix(providers): remove incomplete ChatGPT connections (pingdotgg#29280)
* fix(acp): retain streamed child tool output (pingdotgg#32411)
Co-authored-by: GPT 6.1 Sol <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(web): recover ACP settings when projects change (pingdotgg#32409)
Co-authored-by: GPT 6.1 Sol <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(shared): inline code like `allocator.cc:217` becomes a file chip (pingdotgg#32403)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(server): theme files saved with a UTF-8 BOM are published instead of rejected (pingdotgg#32405)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(grok): long command titles no longer end in a broken character (pingdotgg#32408)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(github): keep review-required until required reviewers approve (pingdotgg#32395)
Co-authored-by: Cursor <[email protected]>
* feat(web): delete archived threads from the archive page (pingdotgg#22160)
* fix(provider-acp): preserve UTF-8 across interleaved terminal streams (pingdotgg#32391)
Co-authored-by: GPT 6.1 Sol <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(pi): preserve explicit thinking when switching models (pingdotgg#32389)
Co-authored-by: GPT 6.1 Sol <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(acp): bound unread raw notification retention (pingdotgg#19585)
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
* fix(web): keep Pi thinking controls visible before selection (pingdotgg#27397)
Co-authored-by: maria-rcks <[email protected]>
* fix(desktop): published themes reach the app when it uses this machine's service (pingdotgg#26324)
Co-authored-by: notcompromised <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Yash Singh <[email protected]>
* fix(antigravity): check account access after installation (pingdotgg#32446)
* fix(acp): preserve native form questions and typed answers (pingdotgg#19659)
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Yash Singh <[email protected]>
Co-authored-by: Honey Paptan <[email protected]>
* fix(antigravity): explain missing SOCKS dependency during refresh (pingdotgg#19660)
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: Yash Singh <[email protected]>
* fix(cursor): use the SDK account for usage data (pingdotgg#32448)
Remove Cursor CLI credential and macOS Keychain fallbacks for account usage and limits, including their settings and web/mobile prompts. Preserve usage through the Cursor SDK sign-in, CURSOR_API_KEY exchange, and explicit auth tokens for limits.
Verified focused Cursor tests and full CI on the final head. The scope and intended loss of usage for CLI-only environments were explicitly approved by the maintainer.
Model: GPT 6.1 Sol. Harness: Codex through T3 Code.
* fix(web): agent sign-in defaults to Auto access (pingdotgg#32186)
* fix(gitlab): `glab mr accept` counts as a shell merge (pingdotgg#32400)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(forgejo): tea's `pull` and `m` aliases count as shell merges (pingdotgg#32401)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix: side chats start with the parent's permission mode and reasoning level (pingdotgg#32315)
* fix(mobile): center the Choose project empty-state buttons (pingdotgg#27450)
* fix(mobile): Android terminal sends hardware-keyboard arrows, Tab, and Escape to the PTY (pingdotgg#32666)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(mobile): group settled PR threads in the continue menu (pingdotgg#27941)
Co-authored-by: Orin <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
* fix(mobile): shorten the model picker save action (pingdotgg#32551)
* fix(mobile): center Android header confirmation buttons (pingdotgg#32239)
* fix(muse): a declined /compact reports its reason and no longer wedges the thread (pingdotgg#28454)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(web): restore bold weight in rendered Markdown (pingdotgg#25694)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(web): device tool update buttons fit their popovers (pingdotgg#27030)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(web): mobile sidebar keeps its width when shelves expand (pingdotgg#27541)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(web): lineage phase headers truncate instead of overflowing the details card (pingdotgg#27582)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(server): storage report lists project worktrees nested inside plain folders (pingdotgg#25883)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(scripts): report:renders starts on Windows without a vp shim (pingdotgg#32777)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* perf(server): skip oversized history during handoff selection (pingdotgg#23821)
* feat(antigravity): support agy CLI as custom binaryPath (pingdotgg#32503)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(mobile): share PDFs from the Android attachment viewer (pingdotgg#32266)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(server): saved preview screenshots keep full resolution (pingdotgg#28255)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(server): refresh linking tools in existing agent sessions (pingdotgg#26737)
Co-authored-by: PR Batch Tester <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
* feat(server): html tools take a file path, so agents stop retyping pages (pingdotgg#32833)
Agents can pass `path` to an absolute .html file instead of retyping the
page as inline `html`. The server reads the file only for full-access
threads, with the existing disk-read guards, and snapshots it at publish.
ACP render recovery matches path calls by path. The mcp-tool-use eval
grades pages passed by path.
Takes over pingdotgg#32817.
Co-authored-by: Stoli Geyer <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
* fix(search): keep whole-word title matches above busy prefixes (pingdotgg#32242)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(connect): show why relay unlink failed (pingdotgg#25198)
Co-authored-by: PR Batch Tester <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(mobile): keep scheduled task prompts clear of microphone (pingdotgg#32498)
* feat(web,mobile): move a scheduled task to another thread (pingdotgg#31379)
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: shivam <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
* perf(server): Codex tool calls no longer wait on reasoning summaries (pingdotgg#31149)
Co-authored-by: Claude Opus 5.5 <[email protected]>
* fix(web): fill combobox search fields (pingdotgg#32926)
Co-authored-by: Bryan Tobing <[email protected]>
* fix(server): mise-installed providers update through mise instead of their own updater (pingdotgg#21524)
Mise-owned providers requested as latest now update with mise upgrade <tool>; pinned tools, version paths and mise x scripts stay manual.
Co-authored-by: Ryan Hughes <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
* feat(web): add project control modal with unavailable host
* feat(server): bind read-only Harbor MCP to individual threads
* test: register mixed test profiles and complete script CI
* docs: record verified project-testing skill installation
* ci: add hosted core checks for the Android fork delivery branch
* fix(ci): align checkout and context baseline with the owned fork
* fix(ci): register inherited reference gitlinks without initialization
* fix(ci): bound fork diff inspection and size-label buffers
* ci: measure the fork agent context budget with its real registration tests
* fix(deps): restore the vendored control UI frozen lock entries
* ci: allow explicit ref verification through workflow dispatch
* style(testing): format policy tables and profile arrays
* fix(provider): keep unconfigured Harbor outside normal sessions
* fix(release): copy the local UI package into smoke workspace
* test(mobile): isolate translation hooks in permission fixtures
* style(mobile): wrap notification and navigation Kotlin
* style(mobile): brace multiline notification and navigation branches
* refactor(mobile): separate rail toggle accessibility description
* ci(web): shard the full test suite across two hosted runners
* fix(licenses): record the authorized Lab Control UI MIT notice
* ci(web): pass shard options directly to the test runner
---------
Co-authored-by: shivam <[email protected]>
Co-authored-by: PR Batch Tester <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Md Ehsanul Haque <[email protected]>
Co-authored-by: Jeremy Meidinger <[email protected]>
Co-authored-by: Victor <[email protected]>
Co-authored-by: voida6 <[email protected]>
Co-authored-by: wojas <[email protected]>
Co-authored-by: Alex Southwell <[email protected]>
Co-authored-by: SAPHID <[email protected]>
Co-authored-by: Antony <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Valerii Kuznietsov <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Tejas Rahane <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Ishaan Kothari <[email protected]>
Co-authored-by: oliver <[email protected]>
Co-authored-by: Theo Browne <[email protected]>
Co-authored-by: maco <[email protected]>
Co-authored-by: Alyx Buckmann <[email protected]>
Co-authored-by: Kayzel <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Muzammil Hussain <[email protected]>
Co-authored-by: Andrei <[email protected]>
Co-authored-by: Nico <[email protected]>
Co-authored-by: MarcoDotIO <[email protected]>
Co-authored-by: spoukyii <[email protected]>
Co-authored-by: Frank Hommers <[email protected]>
Co-authored-by: Jai Khurana <[email protected]>
Co-authored-by: medric <[email protected]>
Co-authored-by: medric-z <[email protected]>
Co-authored-by: Shaun Hawk <[email protected]>
Co-authored-by: Jolymmiles <[email protected]>
Co-authored-by: tiliakoos <[email protected]>
Co-authored-by: Lakshmi Tanmay <[email protected]>
Co-authored-by: Elliot Drel <[email protected]>
Co-authored-by: Yash Singh <[email protected]>
Co-authored-by: Johan Vaz <[email protected]>
Co-authored-by: johan vaz <[email protected]>
Co-authored-by: GPT-6.1 Sol (Codex) <[email protected]>
Co-authored-by: TheGuyWithHAT <[email protected]>
Co-authored-by: Geezy <[email protected]>
Co-authored-by: Pyseph <[email protected]>
Co-authored-by: Harjot Singh <[email protected]>
Co-authored-by: Wout Stiens <[email protected]>
Co-authored-by: Navid Nadali <[email protected]>
Co-authored-by: Solomon Botchway <[email protected]>
Co-authored-by: Simone <[email protected]>
Co-authored-by: Simone <[email protected]>
Co-authored-by: Roger V <[email protected]>
Co-authored-by: hari <[email protected]>
Co-authored-by: jacobcorbett <[email protected]>
Co-authored-by: Dharmesh <[email protected]>
Co-authored-by: Priyansh4444 <[email protected]>
Co-authored-by: Tanner Polley <[email protected]>
Co-authored-by: Maria <[email protected]>
Co-authored-by: Ale 🐶 <[email protected]>
Co-authored-by: Alessio Fano <[email protected]>
Co-authored-by: Josh Rossi <[email protected]>
Co-authored-by: Patrick C. Toulme <[email protected]>
Co-authored-by: Theo Browne <[email protected]>
Co-authored-by: Victor Valentine Romo <[email protected]>
Co-authored-by: Sudharsan <[email protected]>
Co-authored-by: Adam Otradovec <[email protected]>
Co-authored-by: Adam Otradovec <[email protected]>
Co-authored-by: Bartłomiej Błoniarz <[email protected]>
Co-authored-by: Aditya Vardhan Sharma <[email protected]>
Co-authored-by: Djordje Stojanovic <[email protected]>
Co-authored-by: Mika Hertler <[email protected]>
Co-authored-by: Jui-Chen Chien <[email protected]>
Co-authored-by: Exotic <[email protected]>
Co-authored-by: luke <[email protected]>
Co-authored-by: Rishabh_t106 <[email protected]>
Co-authored-by: GPT 6.1 Sol <[email protected]>
Co-authored-by: Felix Laga <[email protected]>
Co-authored-by: William Sedlacek <[email protected]>
Co-authored-by: Cursor <[email protected]>
Co-authored-by: Peyton Lamb <[email protected]>
Co-authored-by: notcompromised <[email protected]>
Co-authored-by: Honey Paptan <[email protected]>
Co-authored-by: Abdullah Al Zawad <[email protected]>
Co-authored-by: Arif Ali <[email protected]>
Co-authored-by: Orin <[email protected]>
Co-authored-by: Alex <[email protected]>
Co-authored-by: Akshar Patel <[email protected]>
Co-authored-by: Georgi Todorov <[email protected]>
Co-authored-by: Stoli Geyer <[email protected]>
Co-authored-by: ABDUL RAHMAN JAMSHID NASSER AL RASHDI <[email protected]>
Co-authored-by: Bryan Tobing <[email protected]>
Co-authored-by: Ryan Hughes <[email protected]>
Co-authored-by: 陈焕翔 <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
size:L100-499 changed lines (additions + deletions).vouch:unvouchedAuthor is not yet trusted in the VOUCHED list.
1 participant
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
html_previewandhtml_renderonly took the page as inlinehtml, so every preview and render made the agent retype the whole page as output tokens. #23303 has measurements: about 30K tokens and four minutes per copy for a 40K-character page.I wanted these to work like artifacts: write the page to a file once, edit it, and pass the path. Both tools now take
pathto an .html file, listed beforehtml, and a call passes exactly one. To keep the tool list within main's context budget, I moved the shared "self-contained" wording into the page rules, shortened the field descriptions, and dropped the browser-installing sentence, which its error already says. The visuals instruction also gets shorter: "pass the path to an HTML file, or inline HTML tohtml_preview, thenhtml_render."For the read, I held it to the same bar as the other places T3 reads from disk instead of inventing a new sandbox. It uses
isNetworkPath, a resolved.html/.htmname,makeIsServerInternalPath, andopenMediaFile(no-follow, non-blocking, path recheck) asAssetAccessdoes. The file must start with<!doctype html>or<html>, the way image inlining checks image bytes. It must also be a regular file with one hard link, at most 25 MiB. I didn't limit it to the worktree, since agents keep scratch pages in their harness's own temp directory. Render recovery for ACP providers matches path calls by path.Checked with
vp run check:changed.HtmlRender.test.tscovers publishing by path (the saved page doesn't change when the file does), recovery by path, and each refused file.evals/mcp-tool-use/run.test.tscovers the grader reading a file passed by path.Discussion: #23303.