Skip to content

fix(web): toggling tools and thinking at the bottom keeps you at the bottom - #17954

Merged
t3dotgg merged 2 commits into
mainfrom
fix/worklog-toggle-scroll
Oct 11, 2026
Merged

t3dotgg merged 2 commits into
mainfrom
fix/worklog-toggle-scroll

Conversation

@t3dotgg

@t3dotgg t3dotgg commented Oct 11, 2026

Copy link
Copy Markdown
Member

When you were at the bottom of a thread and opened a tool group, a tool row, or the thinking/turn fold, the new content opened below and you were no longer at the bottom. Closing one at the bottom left you about 8px above the bottom.

Every disclosure toggle turned off "stick to bottom" and held the toggled row in place, even when you were at the end. Now, if you are at the end when you toggle, the list stays pinned to the bottom while the rows re-measure. Tool output that renders a few frames late is pinned before it paints. If you are scrolled up, nothing changes: the toggled row holds its place.

Before After
before after
📹 screen recording 📹 screen recording

The badge shows the distance from the bottom. Before: 192px, 96px, and 8px after toggles. After: 0px.

Verified in the web app with real thread data. A sampler read the distance from the bottom right before each paint. On main, expanding left 282 to 1065px gaps. With this change it was 0px on every frame across 16 toggles (turn fold, tool groups, single tool rows, open and close). It also stays at the bottom during a running turn. Not at the bottom, the toggled row stays at the same spot.

Reviewed with sol-loop: 2 rounds with GPT-6.1-Sol on high.

Created with Claude Opus 5.5 in Claude Code.

@github-actions github-actions Bot added vouch:trusted Author is trusted by repo permissions or the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels Oct 11, 2026
@juliusmarminge juliusmarminge added the macroscope-review Opt PRs made by unvouched contributors in for Macroscope review. Vouched contributors auto-reviews label Oct 11, 2026
@macroscopeapp

macroscopeapp Bot commented Oct 11, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at 93e8412

Macroscope's review found this PR approvable — This is a contained web bug fix that keeps the conversation timeline pinned only when a disclosure toggle starts at the end, while preserving the existing position for users who are scrolled up. The added tests cover both positioning modes and delayed row resizing.

You can add or adjust custom eligibility rules. Learn more.

@github-actions

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 5.0 KiB 5.0 KiB 0 B (0.0%) 6.8 KiB ✅
Codex Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Codex Live turn WebSocket wire 1.2 KiB 1.2 KiB 0 B (0.0%) 2.0 KiB ✅
Codex Live turn WebSocket decoded 20.9 KiB 20.9 KiB 0 B (0.0%) 29.3 KiB ✅
Codex Live turn messages 2 2 0 (0.0%) 8 ✅
Claude Total thread wire 5.0 KiB 5.0 KiB 0 B (0.0%) 6.8 KiB ✅
Claude Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Claude Live turn WebSocket wire 1.2 KiB 1.2 KiB 0 B (0.0%) 2.0 KiB ✅
Claude Live turn WebSocket decoded 21.2 KiB 21.2 KiB 0 B (0.0%) 29.3 KiB ✅
Claude Live turn messages 2 2 0 (0.0%) 8 ✅

Baseline: 4772822 · PR result: 93e8412 · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 108.5 KiB
  • Claude decoded thread snapshot: 108.8 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@coderabbitai

coderabbitai Bot commented Oct 11, 2026

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Path: .coderabbit.config.ts
  • Review profile: CHILL
  • Plan: Team
  • Run ID: 6b9d13ca-9256-46a4-b67e-a2765dab4565

📥 Commits

Reviewing files that changed from the base of the PR and between 4772822 and 93e8412.


📒 Files selected for processing (2)
  • apps/web/src/components/chat/MessagesTimeline.test.tsx
  • apps/web/src/components/chat/MessagesTimeline.tsx

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 7 remain after this review.



📝 Walkthrough

Walkthrough

Tool-output disclosure toggles now pin the timeline to the end when the toggle begins there. Row-size changes reschedule settling. Tests cover scroll behavior at and away from the end.

Changes

Disclosure scroll behavior

Layer / File(s) Summary
Disclosure settling and row-size updates
apps/web/src/components/chat/MessagesTimeline.tsx, apps/web/src/components/chat/MessagesTimeline.test.tsx
Disclosure settling pins the timeline to the end when a toggle begins there. Elsewhere, visible-content restoration remains enabled except for the disclosure anchor row. Row-size changes reschedule settling and continue to report content overflow. Tests verify scroll position after expansion and collapse at and away from the end.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Suggested reviewers: juliusmarminge


Merge Risk: ⚪ Minimal · up to 93e84

The disclosure scroll change is mergeable after normal checks; no blocking behavior was established.

Pre-merge checks | Passed 4
✅ Passed checks (4 passed)
Check name Status Explanation
Title check Passed The title clearly and concisely describes the main change: keeping the timeline pinned to the bottom when tools or thinking are toggled at the end.
Description check Passed The description clearly explains the problem, implementation, verification results, screenshots, recordings, and agent usage. It does not include an explicit Scope and approval section or explain why …
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.

✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR

🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

@t3dotgg
t3dotgg merged commit 1cfd1c1 into main Oct 11, 2026
33 checks passed
@t3dotgg
t3dotgg deleted the fix/worklog-toggle-scroll branch October 11, 2026 00:59
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Oct 11, 2026
## What's Changed
* fix(pi): preserve tool images and structured results by @StiensWout in pingdotgg/t3code#17851
* fix(server): Claude 5 task lists reach the tasks drawer by @Mnigos in pingdotgg/t3code#14964
* fix(web): find bar and thread details panel stop covering each other by @MatthewFeroz in pingdotgg/t3code#17858
* fix(web): use server metadata for file chip icons by @Yash-Singh1 in pingdotgg/t3code#17923
* fix(desktop): copy images from HTML previews by @Bil0000 in pingdotgg/t3code#17555
* docs(pi): update installation and remote login guidance by @StiensWout in pingdotgg/t3code#17836
* fix(pi): preserve native abort outcomes by @StiensWout in pingdotgg/t3code#17853
* fix(pi): keep thinking defaults specific to each model by @StiensWout in pingdotgg/t3code#17835
* fix(pi): preserve shell command exit codes by @StiensWout in pingdotgg/t3code#17834
* fix(pi): expire and cancel extension approvals by @StiensWout in pingdotgg/t3code#17840
* feat(pi): include native sessions in usage reports by @StiensWout in pingdotgg/t3code#17848
* fix(server): route Copilot ACP subagent output into subagent threads by @maria-rcks in pingdotgg/t3code#17714
* fix(web): composer banner titles truncate beside their icon instead of wrapping by @maria-rcks in pingdotgg/t3code#17699
* fix(server): Muse turns no longer fail on Windows by @ntindle in pingdotgg/t3code#17163
* fix(pi): allow known read-only T3 tools without approval by @StiensWout in pingdotgg/t3code#17852
* fix: worktree threads keep their worktree when the agent starts, and messages sent during setup queue by @maria-rcks in pingdotgg/t3code#17654
* fix(server): keep Claude workflows alive while they report progress by @maria-rcks in pingdotgg/t3code#17715
* fix(web): media preview centers its content and pins the close button by @maria-rcks in pingdotgg/t3code#17951
* fix(server): threads without a project no longer need Git installed by @t3dotgg in pingdotgg/t3code#17959
* fix(web): toggling tools and thinking at the bottom keeps you at the bottom by @t3dotgg in pingdotgg/t3code#17954
* fix(web): Compact chip follows Claude's real prompt cache TTL by @t3dotgg in pingdotgg/t3code#17945
* fix(usage): bound OpenCode history reads to prevent backend OOM by @Yash-Singh1 in pingdotgg/t3code#17961
* refactor: format diff line counts through one shared helper by @maria-rcks in pingdotgg/t3code#17948
* fix: new projects start their first thread in the project folder, not a worktree by @t3dotgg in pingdotgg/t3code#17371

## New Contributors
* @ntindle made their first contribution in pingdotgg/t3code#17163

**Full Changelog**: pingdotgg/t3code@v0.0.46-nightly.20261010.2948...v0.0.46-nightly.20261011.2955

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.46-nightly.20261011.2955
github-actions Bot added a commit to davidvanderklay/t3code-flake that referenced this pull request Oct 11, 2026
## What's Changed
* fix(pi): preserve tool images and structured results by @StiensWout in pingdotgg/t3code#17851
* fix(server): Claude 5 task lists reach the tasks drawer by @Mnigos in pingdotgg/t3code#14964
* fix(web): find bar and thread details panel stop covering each other by @MatthewFeroz in pingdotgg/t3code#17858
* fix(web): use server metadata for file chip icons by @Yash-Singh1 in pingdotgg/t3code#17923
* fix(desktop): copy images from HTML previews by @Bil0000 in pingdotgg/t3code#17555
* docs(pi): update installation and remote login guidance by @StiensWout in pingdotgg/t3code#17836
* fix(pi): preserve native abort outcomes by @StiensWout in pingdotgg/t3code#17853
* fix(pi): keep thinking defaults specific to each model by @StiensWout in pingdotgg/t3code#17835
* fix(pi): preserve shell command exit codes by @StiensWout in pingdotgg/t3code#17834
* fix(pi): expire and cancel extension approvals by @StiensWout in pingdotgg/t3code#17840
* feat(pi): include native sessions in usage reports by @StiensWout in pingdotgg/t3code#17848
* fix(server): route Copilot ACP subagent output into subagent threads by @maria-rcks in pingdotgg/t3code#17714
* fix(web): composer banner titles truncate beside their icon instead of wrapping by @maria-rcks in pingdotgg/t3code#17699
* fix(server): Muse turns no longer fail on Windows by @ntindle in pingdotgg/t3code#17163
* fix(pi): allow known read-only T3 tools without approval by @StiensWout in pingdotgg/t3code#17852
* fix: worktree threads keep their worktree when the agent starts, and messages sent during setup queue by @maria-rcks in pingdotgg/t3code#17654
* fix(server): keep Claude workflows alive while they report progress by @maria-rcks in pingdotgg/t3code#17715
* fix(web): media preview centers its content and pins the close button by @maria-rcks in pingdotgg/t3code#17951
* fix(server): threads without a project no longer need Git installed by @t3dotgg in pingdotgg/t3code#17959
* fix(web): toggling tools and thinking at the bottom keeps you at the bottom by @t3dotgg in pingdotgg/t3code#17954
* fix(web): Compact chip follows Claude's real prompt cache TTL by @t3dotgg in pingdotgg/t3code#17945
* fix(usage): bound OpenCode history reads to prevent backend OOM by @Yash-Singh1 in pingdotgg/t3code#17961
* refactor: format diff line counts through one shared helper by @maria-rcks in pingdotgg/t3code#17948
* fix: new projects start their first thread in the project folder, not a worktree by @t3dotgg in pingdotgg/t3code#17371

## New Contributors
* @ntindle made their first contribution in pingdotgg/t3code#17163

**Full Changelog**: pingdotgg/t3code@v0.0.46-nightly.20261010.2948...v0.0.46-nightly.20261011.2955

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.46-nightly.20261011.2955
LadyBluenotes added a commit to LadyBluenotes/grandtheftrepo that referenced this pull request Oct 12, 2026
* feat(source-control): GitCafe lives in @t3tools/source-control-gitcafe (pingdotgg#17681)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): add provider wizard no longer shifts sideways while it grows (pingdotgg#17292)

* fix(web): PR search keeps the caret where you type (pingdotgg#17675)

* fix(server): thread PR badges catch up when another environment reads the PR (pingdotgg#17729)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(server): refuse editor paths with line breaks or quotes when the editor is a Windows command shim (pingdotgg#17749)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): align compact button touch targets (pingdotgg#17748)

* fix(server): t3_thread_launch refuses a new worktree whose base ref has no commit (pingdotgg#17791)

* fix(web): omit underlines on markdown image links (pingdotgg#17728)

* fix(server): restore auto resume for wrapped Claude gateway rate limits (pingdotgg#17778)

* fix(opencode): name OpenCode 2 sessions after their thread (pingdotgg#17414)

* fix(web): find update settings from the command palette (pingdotgg#17396)

Co-authored-by: Claude <[email protected]>

* fix(provider-opencode): tell OpenCode Zen and Go models apart (pingdotgg#17424)

* fix(server): a pull that fast-forwards no longer fails on large Git output (pingdotgg#17376)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): cancel question auto-advance after navigation (pingdotgg#17364)

* fix(server): a bare repository name resolves to the signed-in account again (pingdotgg#17379)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): a maximized right panel stays maximized when you return to its thread (pingdotgg#17327)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): allow starting a task with only an image (pingdotgg#17409)

* fix(server): PR watch no longer reports passed while a second run of a check is still going (pingdotgg#17344)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(server): say why a thread can't be settled (pingdotgg#17258)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(server): prevent busy terminals from starving history persistence (pingdotgg#17181)

* feat(server): use macOS .icns app icons as project icons (pingdotgg#17149)

* fix(mobile): usage reset icon lines up with its row (pingdotgg#17175)

* fix(web): paths pasted after @ keep their underscores (pingdotgg#16619)

Co-authored-by: Yash Singh <[email protected]>

* fix(server): settle every OpenCode subagent call one report answers (pingdotgg#17134)

* perf(web): switching project keeps Diagnostics and Providers mounted (pingdotgg#17122)

* perf(web): Open Source Licenses downloads its manifest once per session (pingdotgg#17119)

* fix(server): restore OpenCode adapter test typecheck (pingdotgg#17810)

* fix(server): Claude subagents show the reasoning effort they run at (pingdotgg#17496)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(server): stop Claude subagents without stopping their owner (pingdotgg#17826)

* fix(server): stopped native subagents no longer read as Running (pingdotgg#17223)

Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: Yash Singh <[email protected]>

* perf(server): t3_thread_list reads only the listed project's threads (pingdotgg#17843)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(server): show diffs for projects outside the server cwd (pingdotgg#17724)

Co-authored-by: maria-rcks <[email protected]>

* fix(server): check the specific scope for scripts, preview input, and full-access MCP grants (pingdotgg#17772)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(source-control): stop Forgejo status refresh from scanning every pull request (pingdotgg#12223)

Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
Signed-off-by: Loïs Postula <[email protected]>

* refactor(contracts): source control provider kind is an open branded slug (pingdotgg#17739)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(source-control): each host package ships a client definition (pingdotgg#17746)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(client-runtime): add project clone sources come from host definitions (pingdotgg#17756)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(web): host presentation and behavior come from client definitions (pingdotgg#17757)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(source-control): reference parsing and project matching are host resolvers (pingdotgg#17770)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(pull-requests): quick actions follow each host's capabilities, not GitHub (pingdotgg#17774)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(projects): new projects can be published to any ready host (pingdotgg#17860)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(server): send Claude MCP servers over the control channel (pingdotgg#17898)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): a finished reply replaced by a steer is no longer labeled partial (pingdotgg#17761)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(client-runtime): queued runs that start after a steer show up in the thread (pingdotgg#17764)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(mobile): choose the microphone order for voice input (pingdotgg#17896)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(source-control): host settings live on each host's definition, with a GitCafe token (pingdotgg#17901)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(pi): preserve tool images and structured results (pingdotgg#17851)

* fix(server): Claude 5 task lists reach the tasks drawer (pingdotgg#14964)

* fix(web): find bar and thread details panel stop covering each other (pingdotgg#17858)

Co-authored-by: Yash Singh <[email protected]>

* fix(web): use server metadata for file chip icons (pingdotgg#17923)

* fix(desktop): copy images from HTML previews (pingdotgg#17555)

* docs(pi): update installation and remote login guidance (pingdotgg#17836)

* fix(pi): preserve native abort outcomes (pingdotgg#17853)

* fix(pi): keep thinking defaults specific to each model (pingdotgg#17835)

* fix(pi): preserve shell command exit codes (pingdotgg#17834)

* fix(pi): expire and cancel extension approvals (pingdotgg#17840)

* feat(pi): include native sessions in usage reports (pingdotgg#17848)

* fix(server): route Copilot ACP subagent output into subagent threads (pingdotgg#17714)

Co-authored-by: maria-rcks <[email protected]>

* fix(web): composer banner titles truncate beside their icon instead of wrapping (pingdotgg#17699)

Co-authored-by: maria-rcks <[email protected]>

* fix(server): Muse turns no longer fail on Windows (pingdotgg#17163)

Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: Theo Browne <[email protected]>

* fix(pi): allow known read-only T3 tools without approval (pingdotgg#17852)

Co-authored-by: Yash Singh <[email protected]>

* fix: worktree threads keep their worktree when the agent starts, and messages sent during setup queue (pingdotgg#17654)

* fix(server): keep Claude workflows alive while they report progress (pingdotgg#17715)

* fix(web): media preview centers its content and pins the close button (pingdotgg#17951)

* fix(server): threads without a project no longer need Git installed (pingdotgg#17959)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): toggling tools and thinking at the bottom keeps you at the bottom (pingdotgg#17954)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): Compact chip follows Claude's real prompt cache TTL (pingdotgg#17945)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(usage): bound OpenCode history reads to prevent backend OOM (pingdotgg#17961)

* refactor: format diff line counts through one shared helper (pingdotgg#17948)

* fix: new projects start their first thread in the project folder, not a worktree (pingdotgg#17371)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* perf(server): drive shell last-error lookup from thread bindings (pingdotgg#17842)

Co-authored-by: Victor Vogel <[email protected]>
Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* perf(server): skip parsing plain terminal history output (pingdotgg#17179)

* perf(server): batch terminal history writes every 250 ms (pingdotgg#17183)

* perf(server): storage cleanup no longer runs a full status or size walk for worktrees it keeps (pingdotgg#17911)

* perf(usage): usage scans skip OpenCode legacy messages older than the window (pingdotgg#17254)

* perf(usage): OpenCode legacy walk stats entries before checking for symlinks (pingdotgg#17638)

Co-authored-by: Theo Browne <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): MCP app permission prompts no longer overflow the screen (pingdotgg#17962)

* feat(provider-antigravity): support subscription quota and usage limits (pingdotgg#17530)

* fix(desktop): keep generated annotation styles in sync (pingdotgg#17838)

Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Mike Olson <[email protected]>

* fix(web): Resume continues on the model picked in the composer (pingdotgg#17867)

* fix(devices): bump agent-device to 0.21.24 for native Windows hosts (pingdotgg#17706)

* fix(web): keybinding group headings no longer touch the group above (pingdotgg#17766)

* feat(web): configure OpenTelemetry exports in diagnostics (pingdotgg#12538)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* docs: update user count to 500k (pingdotgg#17783)

* fix(mobile): working pill no longer bulges on its right end (pingdotgg#16143)

Signed-off-by: id0sch <[email protected]>
Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* perf(opencode): stop retaining every message of a loaded OpenCode thread (pingdotgg#17784)

* fix(web): switch thumbs stay in their track while scrolling (pingdotgg#15240)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(keybindings): thread jumps no longer overlap model picker jumps (pingdotgg#14475)

* fix(mobile): restore QR scanning in iPad pairing sheet (pingdotgg#16019)

* fix(server): delegated Muse tasks no longer ask approval for every command (pingdotgg#18065)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(codex): prevent unsupported agent history in ChatGPT sharing (pingdotgg#17499)

Co-authored-by: connorwalker <[email protected]>

* fix(server): disabled providers stop checking for CLI updates (pingdotgg#16772)

Signed-off-by: Yordis Prieto <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>

* fix(mobile): round Android queued message sheet corners (pingdotgg#14934)

* fix(ssh): record the archive lock owner's real PID (pingdotgg#14598)

* fix(desktop): keep annotation comment direction independent of host page (pingdotgg#11005)

Co-authored-by: Claude Sonnet 5 <[email protected]>

* fix(ssh): qualify runner script builders in tunnel test (pingdotgg#18078)

* fix(web): keep thread links open until the shell is live (pingdotgg#14697)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(web): scope PR title collapse to tab scrollers (pingdotgg#14644)

* fix(server): detect fork PRs for branches without upstreams (pingdotgg#13894)

Co-authored-by: maria-rcks <[email protected]>

* fix(search): find threads by their branch PR number (pingdotgg#14658)

Co-authored-by: maria-rcks <[email protected]>

* feat(web): show Claude workflow phases and members in Lineage (pingdotgg#12598)

Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: GPT-6.1-Sol (Codex) <[email protected]>
Co-authored-by: maria-rcks <[email protected]>

* fix(mobile): round Android Agents sheet corners (pingdotgg#14925)

* fix(web): the Usage page sends a signed-out browser to pairing (pingdotgg#17938)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(server): OpenCode 2 continuations end after a reconnect took a Stop's end (pingdotgg#14744)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(server): OpenCode 2 continuations replay only their own background reply (pingdotgg#14752)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(server): ACP reapplies a model after a switch away from it failed partway (pingdotgg#14723)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(web): focus settings search with command-f (pingdotgg#17859)

* fix(mobile): keep Android project paths on one line (pingdotgg#14178)

* fix(web): unpin preview dragging on narrow chat canvases (pingdotgg#15556)

* fix(web): thread details toggle no longer covers the thread title on Windows desktop (pingdotgg#16869)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>
Co-authored-by: Yash Singh <[email protected]>

* fix(server): a directory no longer resolves as the resource monitor binary (pingdotgg#16838)

Co-authored-by: Yash Singh <[email protected]>

* fix(server): a Claude usage limit no longer resets the context meter to 0% (pingdotgg#16394)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>
Co-authored-by: Yash Singh <[email protected]>

* fix(server): GitLab merge requests can expand unchanged lines (pingdotgg#17528)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(provider-cursor): a skill tree deeper than the scan limit no longer hides every skill (pingdotgg#17389)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): pass hex theme colors to HTML renders (pingdotgg#16325)

* fix(web): align the API estimate info icon (pingdotgg#15655)

* test(server): ACP teardown tests pass on Windows hosts (pingdotgg#17080)

Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: Yash Singh <[email protected]>

* fix(server): sync device tool license versions with installer pins (pingdotgg#18121)

* fix: sync model favorites and visibility across clients (pingdotgg#16816)

Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>

* chore(deps-dev): bump compression from 1.8.1 to 1.8.2 in the npm_and_yarn group across 1 directory (pingdotgg#16309)

Signed-off-by: dependabot[bot] <[email protected]>

* fix(server): update fff to stop runaway watcher rescans (pingdotgg#14543)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>
Co-authored-by: Yash Singh <[email protected]>

* fix(mobile): license generation works with filtered installs (pingdotgg#18127)

* fix(mobile): image-only messages ask the agent to respond, like desktop (pingdotgg#16480)

Co-authored-by: Yash Singh <[email protected]>

* feat(pull-requests): guided reviews, a beta tour of a pull request (pingdotgg#18124)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(mcp): agents can write and read pull request review guides (pingdotgg#18143)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(server): Sol Ultrafast stops vanishing from the Codex model picker (pingdotgg#18200)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(usage): say resets momentarily in the final minute (pingdotgg#17869)

* fix(server): preserve ambient Cursor MCP servers (pingdotgg#15875)

Co-authored-by: Julius Marminge <[email protected]>

* fix(server): skip Windows cleanup for exited child processes (pingdotgg#16007)

* feat(settings): providers can be turned on or off per project (pingdotgg#17879)

Signed-off-by: Yordis Prieto <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>

* perf(github): resolve credentials once per GraphQL request (pingdotgg#18289)

* fix(server): refresh linked PRs without a checkout (pingdotgg#17167)

* fix(mobile): add compose to the single-column iPad list (pingdotgg#18157)

* fix(mobile): let sheet lists scroll before dismissal (pingdotgg#17177)

* fix(mobile): restore compact iPad trackpad scrolling (pingdotgg#13665)

* fix(mobile): preserve filters across layout changes (pingdotgg#13085)

* fix(mobile): separate unfolded thread list from header (pingdotgg#13088)

* fix(android): Match thread fallback layouts to the loaded pane (pingdotgg#14669)

* fix(mobile): size inline MCP apps to their content (pingdotgg#17040)

* fix(mobile): preserve iPad search chrome across layout changes (pingdotgg#13667)

* fix(client): apply host color scheme to saved MCP apps (pingdotgg#17026)

* fix(android): Use MD3 loading spinners (pingdotgg#14282)

* fix(client): merge No project filters across environments (pingdotgg#17050)

Co-authored-by: Julius Marminge <[email protected]>

* fix(client): tolerate blocked cookies in MCP app sandboxes (pingdotgg#17027)

Co-authored-by: Julius Marminge <[email protected]>

* feat(mobile): browse and review pull requests natively (pingdotgg#18126)

* feat(mobile): guided reviews for pull requests (pingdotgg#18267)

* fix(devices): refresh backlogged iOS video and require input admission (pingdotgg#18326)

* feat(mobile): keep pull requests available offline (pingdotgg#18351)

* fix(mobile): keep bot badges out of PR attachments (pingdotgg#18347)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(desktop): tooltips no longer open under the Windows and Linux window controls (pingdotgg#17672)

* fix(web): revert trailing toast icons (pingdotgg#18356)

Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: maria-rcks <[email protected]>

* fix(web): even 4px inset around rows in the PR badge tooltip (pingdotgg#18352)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* ci(mobile): publish nightly Android APKs to a GitHub prerelease (pingdotgg#16271)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>

---------

Signed-off-by: Loïs Postula <[email protected]>
Signed-off-by: id0sch <[email protected]>
Signed-off-by: Yordis Prieto <[email protected]>
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: oliver <[email protected]>
Co-authored-by: Yash Singh <[email protected]>
Co-authored-by: Tristan Knight <[email protected]>
Co-authored-by: Saikrishna Ambeti <[email protected]>
Co-authored-by: Zach <[email protected]>
Co-authored-by: Nikita Koynov <[email protected]>
Co-authored-by: Sergiy Dybskiy <[email protected]>
Co-authored-by: Claude <[email protected]>
Co-authored-by: Karan Sharma <[email protected]>
Co-authored-by: Scott Norteman <[email protected]>
Co-authored-by: Maxwell Young <[email protected]>
Co-authored-by: James Villarrubia <[email protected]>
Co-authored-by: Claudesaul <[email protected]>
Co-authored-by: Dylan Corso <[email protected]>
Co-authored-by: Wout Stiens <[email protected]>
Co-authored-by: Prathmesh Vhatkar <[email protected]>
Co-authored-by: Afonso Ferreira <[email protected]>
Co-authored-by: Derek Trimm <[email protected]>
Co-authored-by: Rakshith Bhat <[email protected]>
Co-authored-by: Krishna Vijay <[email protected]>
Co-authored-by: only21mil <[email protected]>
Co-authored-by: maria <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Loïs Postula <[email protected]>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Igor Makowski <[email protected]>
Co-authored-by: Matthew Feroz <[email protected]>
Co-authored-by: Bilal Bakr <[email protected]>
Co-authored-by: Nicholas Tindle <[email protected]>
Co-authored-by: Theo Browne <[email protected]>
Co-authored-by: Victor Vogel <[email protected]>
Co-authored-by: Maciek Geneja <[email protected]>
Co-authored-by: Mike Olson <[email protected]>
Co-authored-by: Akbar Danial Akma <[email protected]>
Co-authored-by: TanJeeSchuan <[email protected]>
Co-authored-by: fixfon <[email protected]>
Co-authored-by: kamkm <[email protected]>
Co-authored-by: id0Sch <[email protected]>
Co-authored-by: raphaelpra <[email protected]>
Co-authored-by: Fluffy-Bunny-23 <[email protected]>
Co-authored-by: Arham Mahajan <[email protected]>
Co-authored-by: Connor Walker <[email protected]>
Co-authored-by: connorwalker <[email protected]>
Co-authored-by: Yordis Prieto <[email protected]>
Co-authored-by: Alex <[email protected]>
Co-authored-by: Guillermo Casanova <[email protected]>
Co-authored-by: Abdelrhman Ehab <[email protected]>
Co-authored-by: Alex Southwell <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Adamulek123 <[email protected]>
Co-authored-by: GPT-6.1-Sol (Codex) <[email protected]>
Co-authored-by: AdEx-Partners-DE <[email protected]>
Co-authored-by: Exotic <[email protected]>
Co-authored-by: wellorbetter <[email protected]>
Co-authored-by: freddy-d <[email protected]>
Co-authored-by: Furox <[email protected]>
Co-authored-by: Vantrongs <[email protected]>
Co-authored-by: Cameron Varley <[email protected]>
Co-authored-by: Sheehan Munim <[email protected]>
Co-authored-by: Jake Leventhal <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Hasan Shoaib <[email protected]>
Co-authored-by: Ali Younes <[email protected]>
Co-authored-by: Arav Jain <[email protected]>
Co-authored-by: Alb11747 <[email protected]>
Co-authored-by: Dara Adedeji <[email protected]>
Co-authored-by: copilot-swe-agent[bot] <[email protected]>
LadyBluenotes added a commit to LadyBluenotes/grandtheftrepo that referenced this pull request Oct 12, 2026
* feat(source-control): GitCafe lives in @t3tools/source-control-gitcafe (pingdotgg#17681)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): add provider wizard no longer shifts sideways while it grows (pingdotgg#17292)

* fix(web): PR search keeps the caret where you type (pingdotgg#17675)

* fix(server): thread PR badges catch up when another environment reads the PR (pingdotgg#17729)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(server): refuse editor paths with line breaks or quotes when the editor is a Windows command shim (pingdotgg#17749)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): align compact button touch targets (pingdotgg#17748)

* fix(server): t3_thread_launch refuses a new worktree whose base ref has no commit (pingdotgg#17791)

* fix(web): omit underlines on markdown image links (pingdotgg#17728)

* fix(server): restore auto resume for wrapped Claude gateway rate limits (pingdotgg#17778)

* fix(opencode): name OpenCode 2 sessions after their thread (pingdotgg#17414)

* fix(web): find update settings from the command palette (pingdotgg#17396)

Co-authored-by: Claude <[email protected]>

* fix(provider-opencode): tell OpenCode Zen and Go models apart (pingdotgg#17424)

* fix(server): a pull that fast-forwards no longer fails on large Git output (pingdotgg#17376)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): cancel question auto-advance after navigation (pingdotgg#17364)

* fix(server): a bare repository name resolves to the signed-in account again (pingdotgg#17379)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): a maximized right panel stays maximized when you return to its thread (pingdotgg#17327)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): allow starting a task with only an image (pingdotgg#17409)

* fix(server): PR watch no longer reports passed while a second run of a check is still going (pingdotgg#17344)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(server): say why a thread can't be settled (pingdotgg#17258)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(server): prevent busy terminals from starving history persistence (pingdotgg#17181)

* feat(server): use macOS .icns app icons as project icons (pingdotgg#17149)

* fix(mobile): usage reset icon lines up with its row (pingdotgg#17175)

* fix(web): paths pasted after @ keep their underscores (pingdotgg#16619)

Co-authored-by: Yash Singh <[email protected]>

* fix(server): settle every OpenCode subagent call one report answers (pingdotgg#17134)

* perf(web): switching project keeps Diagnostics and Providers mounted (pingdotgg#17122)

* perf(web): Open Source Licenses downloads its manifest once per session (pingdotgg#17119)

* fix(server): restore OpenCode adapter test typecheck (pingdotgg#17810)

* fix(server): Claude subagents show the reasoning effort they run at (pingdotgg#17496)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(server): stop Claude subagents without stopping their owner (pingdotgg#17826)

* fix(server): stopped native subagents no longer read as Running (pingdotgg#17223)

Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: Yash Singh <[email protected]>

* perf(server): t3_thread_list reads only the listed project's threads (pingdotgg#17843)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(server): show diffs for projects outside the server cwd (pingdotgg#17724)

Co-authored-by: maria-rcks <[email protected]>

* fix(server): check the specific scope for scripts, preview input, and full-access MCP grants (pingdotgg#17772)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(source-control): stop Forgejo status refresh from scanning every pull request (pingdotgg#12223)

Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
Signed-off-by: Loïs Postula <[email protected]>

* refactor(contracts): source control provider kind is an open branded slug (pingdotgg#17739)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(source-control): each host package ships a client definition (pingdotgg#17746)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(client-runtime): add project clone sources come from host definitions (pingdotgg#17756)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(web): host presentation and behavior come from client definitions (pingdotgg#17757)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(source-control): reference parsing and project matching are host resolvers (pingdotgg#17770)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(pull-requests): quick actions follow each host's capabilities, not GitHub (pingdotgg#17774)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(projects): new projects can be published to any ready host (pingdotgg#17860)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(server): send Claude MCP servers over the control channel (pingdotgg#17898)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): a finished reply replaced by a steer is no longer labeled partial (pingdotgg#17761)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(client-runtime): queued runs that start after a steer show up in the thread (pingdotgg#17764)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(mobile): choose the microphone order for voice input (pingdotgg#17896)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(source-control): host settings live on each host's definition, with a GitCafe token (pingdotgg#17901)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(pi): preserve tool images and structured results (pingdotgg#17851)

* fix(server): Claude 5 task lists reach the tasks drawer (pingdotgg#14964)

* fix(web): find bar and thread details panel stop covering each other (pingdotgg#17858)

Co-authored-by: Yash Singh <[email protected]>

* fix(web): use server metadata for file chip icons (pingdotgg#17923)

* fix(desktop): copy images from HTML previews (pingdotgg#17555)

* docs(pi): update installation and remote login guidance (pingdotgg#17836)

* fix(pi): preserve native abort outcomes (pingdotgg#17853)

* fix(pi): keep thinking defaults specific to each model (pingdotgg#17835)

* fix(pi): preserve shell command exit codes (pingdotgg#17834)

* fix(pi): expire and cancel extension approvals (pingdotgg#17840)

* feat(pi): include native sessions in usage reports (pingdotgg#17848)

* fix(server): route Copilot ACP subagent output into subagent threads (pingdotgg#17714)

Co-authored-by: maria-rcks <[email protected]>

* fix(web): composer banner titles truncate beside their icon instead of wrapping (pingdotgg#17699)

Co-authored-by: maria-rcks <[email protected]>

* fix(server): Muse turns no longer fail on Windows (pingdotgg#17163)

Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: Theo Browne <[email protected]>

* fix(pi): allow known read-only T3 tools without approval (pingdotgg#17852)

Co-authored-by: Yash Singh <[email protected]>

* fix: worktree threads keep their worktree when the agent starts, and messages sent during setup queue (pingdotgg#17654)

* fix(server): keep Claude workflows alive while they report progress (pingdotgg#17715)

* fix(web): media preview centers its content and pins the close button (pingdotgg#17951)

* fix(server): threads without a project no longer need Git installed (pingdotgg#17959)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): toggling tools and thinking at the bottom keeps you at the bottom (pingdotgg#17954)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): Compact chip follows Claude's real prompt cache TTL (pingdotgg#17945)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(usage): bound OpenCode history reads to prevent backend OOM (pingdotgg#17961)

* refactor: format diff line counts through one shared helper (pingdotgg#17948)

* fix: new projects start their first thread in the project folder, not a worktree (pingdotgg#17371)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* perf(server): drive shell last-error lookup from thread bindings (pingdotgg#17842)

Co-authored-by: Victor Vogel <[email protected]>
Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* perf(server): skip parsing plain terminal history output (pingdotgg#17179)

* perf(server): batch terminal history writes every 250 ms (pingdotgg#17183)

* perf(server): storage cleanup no longer runs a full status or size walk for worktrees it keeps (pingdotgg#17911)

* perf(usage): usage scans skip OpenCode legacy messages older than the window (pingdotgg#17254)

* perf(usage): OpenCode legacy walk stats entries before checking for symlinks (pingdotgg#17638)

Co-authored-by: Theo Browne <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): MCP app permission prompts no longer overflow the screen (pingdotgg#17962)

* feat(provider-antigravity): support subscription quota and usage limits (pingdotgg#17530)

* fix(desktop): keep generated annotation styles in sync (pingdotgg#17838)

Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Mike Olson <[email protected]>

* fix(web): Resume continues on the model picked in the composer (pingdotgg#17867)

* fix(devices): bump agent-device to 0.21.24 for native Windows hosts (pingdotgg#17706)

* fix(web): keybinding group headings no longer touch the group above (pingdotgg#17766)

* feat(web): configure OpenTelemetry exports in diagnostics (pingdotgg#12538)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* docs: update user count to 500k (pingdotgg#17783)

* fix(mobile): working pill no longer bulges on its right end (pingdotgg#16143)

Signed-off-by: id0sch <[email protected]>
Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* perf(opencode): stop retaining every message of a loaded OpenCode thread (pingdotgg#17784)

* fix(web): switch thumbs stay in their track while scrolling (pingdotgg#15240)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(keybindings): thread jumps no longer overlap model picker jumps (pingdotgg#14475)

* fix(mobile): restore QR scanning in iPad pairing sheet (pingdotgg#16019)

* fix(server): delegated Muse tasks no longer ask approval for every command (pingdotgg#18065)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(codex): prevent unsupported agent history in ChatGPT sharing (pingdotgg#17499)

Co-authored-by: connorwalker <[email protected]>

* fix(server): disabled providers stop checking for CLI updates (pingdotgg#16772)

Signed-off-by: Yordis Prieto <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>

* fix(mobile): round Android queued message sheet corners (pingdotgg#14934)

* fix(ssh): record the archive lock owner's real PID (pingdotgg#14598)

* fix(desktop): keep annotation comment direction independent of host page (pingdotgg#11005)

Co-authored-by: Claude Sonnet 5 <[email protected]>

* fix(ssh): qualify runner script builders in tunnel test (pingdotgg#18078)

* fix(web): keep thread links open until the shell is live (pingdotgg#14697)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(web): scope PR title collapse to tab scrollers (pingdotgg#14644)

* fix(server): detect fork PRs for branches without upstreams (pingdotgg#13894)

Co-authored-by: maria-rcks <[email protected]>

* fix(search): find threads by their branch PR number (pingdotgg#14658)

Co-authored-by: maria-rcks <[email protected]>

* feat(web): show Claude workflow phases and members in Lineage (pingdotgg#12598)

Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: GPT-6.1-Sol (Codex) <[email protected]>
Co-authored-by: maria-rcks <[email protected]>

* fix(mobile): round Android Agents sheet corners (pingdotgg#14925)

* fix(web): the Usage page sends a signed-out browser to pairing (pingdotgg#17938)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(server): OpenCode 2 continuations end after a reconnect took a Stop's end (pingdotgg#14744)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(server): OpenCode 2 continuations replay only their own background reply (pingdotgg#14752)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(server): ACP reapplies a model after a switch away from it failed partway (pingdotgg#14723)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(web): focus settings search with command-f (pingdotgg#17859)

* fix(mobile): keep Android project paths on one line (pingdotgg#14178)

* fix(web): unpin preview dragging on narrow chat canvases (pingdotgg#15556)

* fix(web): thread details toggle no longer covers the thread title on Windows desktop (pingdotgg#16869)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>
Co-authored-by: Yash Singh <[email protected]>

* fix(server): a directory no longer resolves as the resource monitor binary (pingdotgg#16838)

Co-authored-by: Yash Singh <[email protected]>

* fix(server): a Claude usage limit no longer resets the context meter to 0% (pingdotgg#16394)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>
Co-authored-by: Yash Singh <[email protected]>

* fix(server): GitLab merge requests can expand unchanged lines (pingdotgg#17528)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(provider-cursor): a skill tree deeper than the scan limit no longer hides every skill (pingdotgg#17389)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): pass hex theme colors to HTML renders (pingdotgg#16325)

* fix(web): align the API estimate info icon (pingdotgg#15655)

* test(server): ACP teardown tests pass on Windows hosts (pingdotgg#17080)

Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: Yash Singh <[email protected]>

* fix(server): sync device tool license versions with installer pins (pingdotgg#18121)

* fix: sync model favorites and visibility across clients (pingdotgg#16816)

Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>

* chore(deps-dev): bump compression from 1.8.1 to 1.8.2 in the npm_and_yarn group across 1 directory (pingdotgg#16309)

Signed-off-by: dependabot[bot] <[email protected]>

* fix(server): update fff to stop runaway watcher rescans (pingdotgg#14543)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>
Co-authored-by: Yash Singh <[email protected]>

* fix(mobile): license generation works with filtered installs (pingdotgg#18127)

* fix(mobile): image-only messages ask the agent to respond, like desktop (pingdotgg#16480)

Co-authored-by: Yash Singh <[email protected]>

* feat(pull-requests): guided reviews, a beta tour of a pull request (pingdotgg#18124)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(mcp): agents can write and read pull request review guides (pingdotgg#18143)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(server): Sol Ultrafast stops vanishing from the Codex model picker (pingdotgg#18200)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(usage): say resets momentarily in the final minute (pingdotgg#17869)

* fix(server): preserve ambient Cursor MCP servers (pingdotgg#15875)

Co-authored-by: Julius Marminge <[email protected]>

* fix(server): skip Windows cleanup for exited child processes (pingdotgg#16007)

* feat(settings): providers can be turned on or off per project (pingdotgg#17879)

Signed-off-by: Yordis Prieto <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>

* perf(github): resolve credentials once per GraphQL request (pingdotgg#18289)

* fix(server): refresh linked PRs without a checkout (pingdotgg#17167)

* fix(mobile): add compose to the single-column iPad list (pingdotgg#18157)

* fix(mobile): let sheet lists scroll before dismissal (pingdotgg#17177)

* fix(mobile): restore compact iPad trackpad scrolling (pingdotgg#13665)

* fix(mobile): preserve filters across layout changes (pingdotgg#13085)

* fix(mobile): separate unfolded thread list from header (pingdotgg#13088)

* fix(android): Match thread fallback layouts to the loaded pane (pingdotgg#14669)

* fix(mobile): size inline MCP apps to their content (pingdotgg#17040)

* fix(mobile): preserve iPad search chrome across layout changes (pingdotgg#13667)

* fix(client): apply host color scheme to saved MCP apps (pingdotgg#17026)

* fix(android): Use MD3 loading spinners (pingdotgg#14282)

* fix(client): merge No project filters across environments (pingdotgg#17050)

Co-authored-by: Julius Marminge <[email protected]>

* fix(client): tolerate blocked cookies in MCP app sandboxes (pingdotgg#17027)

Co-authored-by: Julius Marminge <[email protected]>

* feat(mobile): browse and review pull requests natively (pingdotgg#18126)

* feat(mobile): guided reviews for pull requests (pingdotgg#18267)

* fix(devices): refresh backlogged iOS video and require input admission (pingdotgg#18326)

* feat(mobile): keep pull requests available offline (pingdotgg#18351)

* fix(mobile): keep bot badges out of PR attachments (pingdotgg#18347)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(desktop): tooltips no longer open under the Windows and Linux window controls (pingdotgg#17672)

* fix(web): revert trailing toast icons (pingdotgg#18356)

Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: maria-rcks <[email protected]>

* fix(web): even 4px inset around rows in the PR badge tooltip (pingdotgg#18352)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* ci(mobile): publish nightly Android APKs to a GitHub prerelease (pingdotgg#16271)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>

* fix(server): Claude 5.1+ text before a tool call shows as assistant text (pingdotgg#18364)

* feat(provider-muse): native subagents open in their own child threads (pingdotgg#18353)

Co-authored-by: Theo Browne <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(desktop): tooltips no longer open under the macOS traffic lights (pingdotgg#17726)

* fix(web): Cite button stays anchored to the selected text (pingdotgg#17650)

* fix(web): terminal selection drags scroll at the window edge (pingdotgg#17653)

* fix(web): scrolling over the thread minimap scrolls the chat (pingdotgg#17652)

* perf(web): panel toggles no longer re-render the timeline and composer (pingdotgg#18077)

* fix(web): composer keeps its border while resting and expanding (pingdotgg#18333)

* fix(web): center the empty-thread placeholder above the composer (pingdotgg#18331)

* fix(web): PR badge tooltip opens after a thread gains a second PR (pingdotgg#18368)

* fix(web): timeline keeps live-following after returning from Settings (pingdotgg#17348)

* fix(web): update toast download badge no longer hides behind the provider logo (pingdotgg#18401)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(shared): preserve generated branch namespaces (pingdotgg#15615)

* fix(provider-muse): run on Muse 1.4.6, with linked web search hits and workflow results (pingdotgg#18409)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(mobile): replace custom Markdown rendering with Enriched (pingdotgg#16979)

* chore(mobile): sync Screens fork with upstream v5 fixes (pingdotgg#18396)

* docs(mobile): point fork links to pingdotgg (pingdotgg#18433)

* perf(web): reuse the collator when sorting diff files (pingdotgg#18420)

Co-authored-by: SAPHID <[email protected]>
Co-authored-by: GPT-6.1 Sol <[email protected]>

* perf(web): avoid quadratic markdown link scans (pingdotgg#18387)

Co-authored-by: SAPHID <[email protected]>
Co-authored-by: GPT-6.1 Sol <[email protected]>

* perf(server): expired PR diffs no longer stay in memory until restart (pingdotgg#17786)

* perf(usage): the first usage scan skips decoding transcript lines that carry no usage (pingdotgg#17255)

* fix(mobile): preserve browser prompt replies across control updates (pingdotgg#18419)

Co-authored-by: SAPHID <[email protected]>
Co-authored-by: GPT-6.1 Sol <[email protected]>

* fix(web): closed popovers no longer stay on screen and click-through (pingdotgg#18341)

* fix(web): keybinding settings label Focus URL with a capitalized acronym (pingdotgg#18279)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): long commands no longer overflow the Add Action dialog (pingdotgg#18207)

Co-authored-by: Claude Sonnet 5.5 <[email protected]>

* fix(web): provider Runtime controls follow the settings row layout (pingdotgg#18190)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* perf(web): Thinking shimmer steps instead of drawing every frame (pingdotgg#18191)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* chore(typecheck): typecheck with tsc-rs (pingdotgg#16704)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* test(server): finish workflow reads before changing transcripts (pingdotgg#18192)

* test(server): Claude sign-in message test passes on Windows hosts (pingdotgg#18183)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): context menus no longer scroll when they fit the window (pingdotgg#16776)

* fix(server): checkpoint restore keeps a nested workspace on Windows (pingdotgg#14874)

* Reject unknown params in t3_thread_read (pingdotgg#17823)

* fix(desktop): Option-click on a chat link opens the system browser (pingdotgg#18238)

* fix(mobile): new thread draft names its repo and says it is a new thread (pingdotgg#17611)

Signed-off-by: Tiger Kaovilai <[email protected]>
Co-authored-by: Claude Sonnet 5.5 <[email protected]>

* fix(web): keep queued threads subscribed (pingdotgg#15293)

Co-authored-by: maria <[email protected]>

* test(server): Claude reset tests are skipped on Windows hosts, where their mock CLI cannot run (pingdotgg#18184)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): hide stash menu behind maximized panel (pingdotgg#18115)

Co-authored-by: maria <[email protected]>

* fix(web): sidebar toggle no longer sits under the macOS window buttons (pingdotgg#18193)

Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: maria-rcks <[email protected]>

* fix(server): missing agent binaries report launch failure

Return exit 125 when the Linux cgroup wrapper target is missing, including when /bin/sh is Bash. Preserve arguments and child exit codes.

* feat(android): add Pull Requests tab (pingdotgg#18372)

* fix(mobile): Forgejo change requests ask for the summary they require (pingdotgg#18455)

* fix(server): cap automatic thread continuations and turn them on by default (pingdotgg#18461)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(mobile): stock tab bar, glass filter pills, and saved list filters (pingdotgg#18476)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): keep PR surfaces and Android tab selection visible across themes (pingdotgg#18479)

* fix(mobile): keep preview count badges inside the working pill (pingdotgg#18449)

* fix(mobile): show rounded pull request selection in the sidebar (pingdotgg#18480)

* feat(web): model options for source control writer and review guide models (pingdotgg#18488)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* ci(mobile): cut a store build when the native fingerprint has no build (pingdotgg#18496)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): terminal colors no longer look washed out (pingdotgg#17168)

* refactor(settings): centralize schema-declared secrets and inputs (pingdotgg#18505)

* fix(mobile): restore native scroll-edge effects on forms and PRs (pingdotgg#18507)

* feat(mobile): native-sized pull request action bar (pingdotgg#18527)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): preserve theme contrast across surfaces and actions (pingdotgg#18506)

* refactor(mobile): share themed list rows and sections (pingdotgg#18510)

* refactor(mobile): share themed toggle rows in settings (pingdotgg#18511)

* refactor(mobile): share themed choice rows in settings (pingdotgg#18516)

* fix(server): consolidate browser credential handling (pingdotgg#18509)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat: open T3 Code from a link with a prompt ready to send (pingdotgg#18454)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(release): drop placeholder allowBuilds entry that broke nightly builds (pingdotgg#18560)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* ci: fail PRs on invalid allowBuilds entries in pnpm-workspace.yaml (pingdotgg#18564)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): menu dismiss taps no longer press the view underneath (pingdotgg#18565)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(web): one sidebar click updates every machine and provider (pingdotgg#18053)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(release): avoid PowerShell crashes on Windows ARM (pingdotgg#18573)

* fix(server): Forgejo pull requests report their head commit (pingdotgg#18463)

* test(provider-acp): terminal kill test passes on Windows hosts (pingdotgg#18450)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): context meter no longer reads 1000k just under a million tokens (pingdotgg#17539)

* fix(desktop): avoid Hyprland 0.48–0.50 Wayland color-manager startup crashes (pingdotgg#18566)

Disable WaylandWpColorManagerV1 before Electron is ready only on native Wayland Hyprland sessions running a stock 0.48.0-0.50.1 release, which advertise FEATURE_SET_PRIMARIES but reject set_primaries (hyprwm/Hyprland#9444; fixed in 0.51.0 by hyprwm/Hyprland#11499). Any probe failure or explicit feature override keeps the default.

Co-authored-by: Claude Opus 5.5 <[email protected]>

---------

Signed-off-by: Loïs Postula <[email protected]>
Signed-off-by: id0sch <[email protected]>
Signed-off-by: Yordis Prieto <[email protected]>
Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Tiger Kaovilai <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: oliver <[email protected]>
Co-authored-by: Yash Singh <[email protected]>
Co-authored-by: Tristan Knight <[email protected]>
Co-authored-by: Saikrishna Ambeti <[email protected]>
Co-authored-by: Zach <[email protected]>
Co-authored-by: Nikita Koynov <[email protected]>
Co-authored-by: Sergiy Dybskiy <[email protected]>
Co-authored-by: Claude <[email protected]>
Co-authored-by: Karan Sharma <[email protected]>
Co-authored-by: Scott Norteman <[email protected]>
Co-authored-by: Maxwell Young <[email protected]>
Co-authored-by: James Villarrubia <[email protected]>
Co-authored-by: Claudesaul <[email protected]>
Co-authored-by: Dylan Corso <[email protected]>
Co-authored-by: Wout Stiens <[email protected]>
Co-authored-by: Prathmesh Vhatkar <[email protected]>
Co-authored-by: Afonso Ferreira <[email protected]>
Co-authored-by: Derek Trimm <[email protected]>
Co-authored-by: Rakshith Bhat <[email protected]>
Co-authored-by: Krishna Vijay <[email protected]>
Co-authored-by: only21mil <[email protected]>
Co-authored-by: maria <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: Loïs Postula <[email protected]>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Igor Makowski <[email protected]>
Co-authored-by: Matthew Feroz <[email protected]>
Co-authored-by: Bilal Bakr <[email protected]>
Co-authored-by: Nicholas Tindle <[email protected]>
Co-authored-by: Theo Browne <[email protected]>
Co-authored-by: Victor Vogel <[email protected]>
Co-authored-by: Maciek Geneja <[email protected]>
Co-authored-by: Mike Olson <[email protected]>
Co-authored-by: Akbar Danial Akma <[email protected]>
Co-authored-by: TanJeeSchuan <[email protected]>
Co-authored-by: fixfon <[email protected]>
Co-authored-by: kamkm <[email protected]>
Co-authored-by: id0Sch <[email protected]>
Co-authored-by: raphaelpra <[email protected]>
Co-authored-by: Fluffy-Bunny-23 <[email protected]>
Co-authored-by: Arham Mahajan <[email protected]>
Co-authored-by: Connor Walker <[email protected]>
Co-authored-by: connorwalker <[email protected]>
Co-authored-by: Yordis Prieto <[email protected]>
Co-authored-by: Alex <[email protected]>
Co-authored-by: Guillermo Casanova <[email protected]>
Co-authored-by: Abdelrhman Ehab <[email protected]>
Co-authored-by: Alex Southwell <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Adamulek123 <[email protected]>
Co-authored-by: GPT-6.1-Sol (Codex) <[email protected]>
Co-authored-by: AdEx-Partners-DE <[email protected]>
Co-authored-by: Exotic <[email protected]>
Co-authored-by: wellorbetter <[email protected]>
Co-authored-by: freddy-d <[email protected]>
Co-authored-by: Furox <[email protected]>
Co-authored-by: Vantrongs <[email protected]>
Co-authored-by: Cameron Varley <[email protected]>
Co-authored-by: Sheehan Munim <[email protected]>
Co-authored-by: Jake Leventhal <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Hasan Shoaib <[email protected]>
Co-authored-by: Ali Younes <[email protected]>
Co-authored-by: Arav Jain <[email protected]>
Co-authored-by: Alb11747 <[email protected]>
Co-authored-by: Dara Adedeji <[email protected]>
Co-authored-by: Ben Davis <[email protected]>
Co-authored-by: SAPHID <[email protected]>
Co-authored-by: Michael Johnston <[email protected]>
Co-authored-by: Gaya KACI <[email protected]>
Co-authored-by: Jonas B. <[email protected]>
Co-authored-by: Miklós Fazekas <[email protected]>
Co-authored-by: Tiger Kaovilai <[email protected]>
Co-authored-by: ANSH SINGH <[email protected]>
Co-authored-by: Jérôme Poskin <[email protected]>
Co-authored-by: Ryan <[email protected]>
Co-authored-by: luke <[email protected]>
Co-authored-by: kronk0s <[email protected]>
Co-authored-by: copilot-swe-agent[bot] <[email protected]>
joaoheusi added a commit to joaoheusi/t3code that referenced this pull request Oct 12, 2026
* fix(web): timeline divider focus ring stays inside the pill (pingdotgg#17702)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* perf(desktop): reuse the prepared shell environment in the local backend (pingdotgg#17384)

Co-authored-by: Claude Sonnet 5.5 <[email protected]>

* fix(web): align settings page widths (pingdotgg#12158)

Co-authored-by: maria <[email protected]>

* test(server): resolve the temp dir before matching the symlinked entrypoint (pingdotgg#9400)

* fix(web): keep inline code pills intact when they wrap (pingdotgg#12038)

* Revert "chore(ci): use GPT 6.1 Sol Max for check agents" (pingdotgg#17698)

* fix(web): show the correct new thread shortcut in command palette (pingdotgg#8513)

* fix(desktop): declare macOS local network usage (pingdotgg#11922)

* docs: add Scoop as Windows installation method (pingdotgg#10509)

Co-authored-by: Mostafa Ben <[email protected]>

* fix(server): agents run in their own systemd scopes so an OOM kill spares the server (pingdotgg#17662)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): welcome wizard says where imported projects come from (pingdotgg#14584)

Co-authored-by: maria <[email protected]>

* fix(web): cite works on responses that end before a tool call (pingdotgg#17713)

* fix(desktop): sign Windows native addons (pingdotgg#8206)

Co-authored-by: maria-rcks <[email protected]>

* fix(server): track resumed subagent follow-ups as separate tasks (pingdotgg#17696)

* fix(web): nested corners follow their container's radius (pingdotgg#17695)

Co-authored-by: maria-rcks <[email protected]>

* feat(web): pr panel actions confirm in place (pingdotgg#17710)

* feat(web): reorder right panel tabs by dragging (pingdotgg#17730)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(azure-devops): list pull requests with token sign-in and check out into worktrees (pingdotgg#17725)

Co-authored-by: maria-rcks <[email protected]>

* fix(usage): keep one email in two workspaces as two accounts (pingdotgg#17711)

* feat(pull-requests): hosts can report edit and resolve permissions per item (pingdotgg#17667)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* perf(server): run Git for Windows' real git.exe, not its launcher (pingdotgg#17707)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(clients): restart continuations show as a T3 Code notice, not another agent's message (pingdotgg#17723)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): browser picture in picture opens from the header button (pingdotgg#17731)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(source-control): GitCafe lives in @t3tools/source-control-gitcafe (pingdotgg#17681)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): add provider wizard no longer shifts sideways while it grows (pingdotgg#17292)

* fix(web): PR search keeps the caret where you type (pingdotgg#17675)

* fix(server): thread PR badges catch up when another environment reads the PR (pingdotgg#17729)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(server): refuse editor paths with line breaks or quotes when the editor is a Windows command shim (pingdotgg#17749)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): align compact button touch targets (pingdotgg#17748)

* fix(server): t3_thread_launch refuses a new worktree whose base ref has no commit (pingdotgg#17791)

* fix(web): omit underlines on markdown image links (pingdotgg#17728)

* fix(server): restore auto resume for wrapped Claude gateway rate limits (pingdotgg#17778)

* fix(opencode): name OpenCode 2 sessions after their thread (pingdotgg#17414)

* fix(web): find update settings from the command palette (pingdotgg#17396)

Co-authored-by: Claude <[email protected]>

* fix(provider-opencode): tell OpenCode Zen and Go models apart (pingdotgg#17424)

* fix(server): a pull that fast-forwards no longer fails on large Git output (pingdotgg#17376)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): cancel question auto-advance after navigation (pingdotgg#17364)

* fix(server): a bare repository name resolves to the signed-in account again (pingdotgg#17379)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): a maximized right panel stays maximized when you return to its thread (pingdotgg#17327)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): allow starting a task with only an image (pingdotgg#17409)

* fix(server): PR watch no longer reports passed while a second run of a check is still going (pingdotgg#17344)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(server): say why a thread can't be settled (pingdotgg#17258)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(server): prevent busy terminals from starving history persistence (pingdotgg#17181)

* feat(server): use macOS .icns app icons as project icons (pingdotgg#17149)

* fix(mobile): usage reset icon lines up with its row (pingdotgg#17175)

* fix(web): paths pasted after @ keep their underscores (pingdotgg#16619)

Co-authored-by: Yash Singh <[email protected]>

* fix(server): settle every OpenCode subagent call one report answers (pingdotgg#17134)

* perf(web): switching project keeps Diagnostics and Providers mounted (pingdotgg#17122)

* perf(web): Open Source Licenses downloads its manifest once per session (pingdotgg#17119)

* fix(server): restore OpenCode adapter test typecheck (pingdotgg#17810)

* fix(server): Claude subagents show the reasoning effort they run at (pingdotgg#17496)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(server): stop Claude subagents without stopping their owner (pingdotgg#17826)

* fix(server): stopped native subagents no longer read as Running (pingdotgg#17223)

Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: Yash Singh <[email protected]>

* perf(server): t3_thread_list reads only the listed project's threads (pingdotgg#17843)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(server): show diffs for projects outside the server cwd (pingdotgg#17724)

Co-authored-by: maria-rcks <[email protected]>

* fix(server): check the specific scope for scripts, preview input, and full-access MCP grants (pingdotgg#17772)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(source-control): stop Forgejo status refresh from scanning every pull request (pingdotgg#12223)

Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
Signed-off-by: Loïs Postula <[email protected]>

* refactor(contracts): source control provider kind is an open branded slug (pingdotgg#17739)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(source-control): each host package ships a client definition (pingdotgg#17746)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(client-runtime): add project clone sources come from host definitions (pingdotgg#17756)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(web): host presentation and behavior come from client definitions (pingdotgg#17757)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* refactor(source-control): reference parsing and project matching are host resolvers (pingdotgg#17770)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(pull-requests): quick actions follow each host's capabilities, not GitHub (pingdotgg#17774)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(projects): new projects can be published to any ready host (pingdotgg#17860)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(server): send Claude MCP servers over the control channel (pingdotgg#17898)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): a finished reply replaced by a steer is no longer labeled partial (pingdotgg#17761)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(client-runtime): queued runs that start after a steer show up in the thread (pingdotgg#17764)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(mobile): choose the microphone order for voice input (pingdotgg#17896)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(source-control): host settings live on each host's definition, with a GitCafe token (pingdotgg#17901)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(pi): preserve tool images and structured results (pingdotgg#17851)

* fix(server): Claude 5 task lists reach the tasks drawer (pingdotgg#14964)

* fix(web): find bar and thread details panel stop covering each other (pingdotgg#17858)

Co-authored-by: Yash Singh <[email protected]>

* fix(web): use server metadata for file chip icons (pingdotgg#17923)

* fix(desktop): copy images from HTML previews (pingdotgg#17555)

* docs(pi): update installation and remote login guidance (pingdotgg#17836)

* fix(pi): preserve native abort outcomes (pingdotgg#17853)

* fix(pi): keep thinking defaults specific to each model (pingdotgg#17835)

* fix(pi): preserve shell command exit codes (pingdotgg#17834)

* fix(pi): expire and cancel extension approvals (pingdotgg#17840)

* feat(pi): include native sessions in usage reports (pingdotgg#17848)

* fix(server): route Copilot ACP subagent output into subagent threads (pingdotgg#17714)

Co-authored-by: maria-rcks <[email protected]>

* fix(web): composer banner titles truncate beside their icon instead of wrapping (pingdotgg#17699)

Co-authored-by: maria-rcks <[email protected]>

* fix(server): Muse turns no longer fail on Windows (pingdotgg#17163)

Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: Theo Browne <[email protected]>

* fix(pi): allow known read-only T3 tools without approval (pingdotgg#17852)

Co-authored-by: Yash Singh <[email protected]>

* fix: worktree threads keep their worktree when the agent starts, and messages sent during setup queue (pingdotgg#17654)

* fix(server): keep Claude workflows alive while they report progress (pingdotgg#17715)

* fix(web): media preview centers its content and pins the close button (pingdotgg#17951)

* fix(server): threads without a project no longer need Git installed (pingdotgg#17959)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): toggling tools and thinking at the bottom keeps you at the bottom (pingdotgg#17954)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): Compact chip follows Claude's real prompt cache TTL (pingdotgg#17945)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(usage): bound OpenCode history reads to prevent backend OOM (pingdotgg#17961)

* refactor: format diff line counts through one shared helper (pingdotgg#17948)

* fix: new projects start their first thread in the project folder, not a worktree (pingdotgg#17371)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* perf(server): drive shell last-error lookup from thread bindings (pingdotgg#17842)

Co-authored-by: Victor Vogel <[email protected]>
Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* perf(server): skip parsing plain terminal history output (pingdotgg#17179)

* perf(server): batch terminal history writes every 250 ms (pingdotgg#17183)

* perf(server): storage cleanup no longer runs a full status or size walk for worktrees it keeps (pingdotgg#17911)

* perf(usage): usage scans skip OpenCode legacy messages older than the window (pingdotgg#17254)

* perf(usage): OpenCode legacy walk stats entries before checking for symlinks (pingdotgg#17638)

Co-authored-by: Theo Browne <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): MCP app permission prompts no longer overflow the screen (pingdotgg#17962)

* feat(provider-antigravity): support subscription quota and usage limits (pingdotgg#17530)

* fix(desktop): keep generated annotation styles in sync (pingdotgg#17838)

Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Mike Olson <[email protected]>

* fix(web): Resume continues on the model picked in the composer (pingdotgg#17867)

* fix(devices): bump agent-device to 0.21.24 for native Windows hosts (pingdotgg#17706)

* fix(web): keybinding group headings no longer touch the group above (pingdotgg#17766)

* feat(web): configure OpenTelemetry exports in diagnostics (pingdotgg#12538)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* docs: update user count to 500k (pingdotgg#17783)

* fix(mobile): working pill no longer bulges on its right end (pingdotgg#16143)

Signed-off-by: id0sch <[email protected]>
Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* perf(opencode): stop retaining every message of a loaded OpenCode thread (pingdotgg#17784)

* fix(web): switch thumbs stay in their track while scrolling (pingdotgg#15240)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(keybindings): thread jumps no longer overlap model picker jumps (pingdotgg#14475)

* fix(mobile): restore QR scanning in iPad pairing sheet (pingdotgg#16019)

* fix(server): delegated Muse tasks no longer ask approval for every command (pingdotgg#18065)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(codex): prevent unsupported agent history in ChatGPT sharing (pingdotgg#17499)

Co-authored-by: connorwalker <[email protected]>

* fix(server): disabled providers stop checking for CLI updates (pingdotgg#16772)

Signed-off-by: Yordis Prieto <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>

* fix(mobile): round Android queued message sheet corners (pingdotgg#14934)

* fix(ssh): record the archive lock owner's real PID (pingdotgg#14598)

* fix(desktop): keep annotation comment direction independent of host page (pingdotgg#11005)

Co-authored-by: Claude Sonnet 5 <[email protected]>

* fix(ssh): qualify runner script builders in tunnel test (pingdotgg#18078)

* fix(web): keep thread links open until the shell is live (pingdotgg#14697)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(web): scope PR title collapse to tab scrollers (pingdotgg#14644)

* fix(server): detect fork PRs for branches without upstreams (pingdotgg#13894)

Co-authored-by: maria-rcks <[email protected]>

* fix(search): find threads by their branch PR number (pingdotgg#14658)

Co-authored-by: maria-rcks <[email protected]>

* feat(web): show Claude workflow phases and members in Lineage (pingdotgg#12598)

Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: GPT-6.1-Sol (Codex) <[email protected]>
Co-authored-by: maria-rcks <[email protected]>

* fix(mobile): round Android Agents sheet corners (pingdotgg#14925)

* fix(web): the Usage page sends a signed-out browser to pairing (pingdotgg#17938)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(server): OpenCode 2 continuations end after a reconnect took a Stop's end (pingdotgg#14744)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(server): OpenCode 2 continuations replay only their own background reply (pingdotgg#14752)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(server): ACP reapplies a model after a switch away from it failed partway (pingdotgg#14723)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(web): focus settings search with command-f (pingdotgg#17859)

* fix(mobile): keep Android project paths on one line (pingdotgg#14178)

* fix(web): unpin preview dragging on narrow chat canvases (pingdotgg#15556)

* fix(web): thread details toggle no longer covers the thread title on Windows desktop (pingdotgg#16869)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>
Co-authored-by: Yash Singh <[email protected]>

* fix(server): a directory no longer resolves as the resource monitor binary (pingdotgg#16838)

Co-authored-by: Yash Singh <[email protected]>

* fix(server): a Claude usage limit no longer resets the context meter to 0% (pingdotgg#16394)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>
Co-authored-by: Yash Singh <[email protected]>

* fix(server): GitLab merge requests can expand unchanged lines (pingdotgg#17528)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(provider-cursor): a skill tree deeper than the scan limit no longer hides every skill (pingdotgg#17389)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): pass hex theme colors to HTML renders (pingdotgg#16325)

* fix(web): align the API estimate info icon (pingdotgg#15655)

* test(server): ACP teardown tests pass on Windows hosts (pingdotgg#17080)

Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: Yash Singh <[email protected]>

* fix(server): sync device tool license versions with installer pins (pingdotgg#18121)

* fix: sync model favorites and visibility across clients (pingdotgg#16816)

Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>

* chore(deps-dev): bump compression from 1.8.1 to 1.8.2 in the npm_and_yarn group across 1 directory (pingdotgg#16309)

Signed-off-by: dependabot[bot] <[email protected]>

* fix(server): update fff to stop runaway watcher rescans (pingdotgg#14543)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>
Co-authored-by: Yash Singh <[email protected]>

* fix(mobile): license generation works with filtered installs (pingdotgg#18127)

* fix(mobile): image-only messages ask the agent to respond, like desktop (pingdotgg#16480)

Co-authored-by: Yash Singh <[email protected]>

* feat(pull-requests): guided reviews, a beta tour of a pull request (pingdotgg#18124)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(mcp): agents can write and read pull request review guides (pingdotgg#18143)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(server): Sol Ultrafast stops vanishing from the Codex model picker (pingdotgg#18200)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(usage): say resets momentarily in the final minute (pingdotgg#17869)

* fix(server): preserve ambient Cursor MCP servers (pingdotgg#15875)

Co-authored-by: Julius Marminge <[email protected]>

* fix(server): skip Windows cleanup for exited child processes (pingdotgg#16007)

* feat(settings): providers can be turned on or off per project (pingdotgg#17879)

Signed-off-by: Yordis Prieto <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>

* perf(github): resolve credentials once per GraphQL request (pingdotgg#18289)

* fix(server): refresh linked PRs without a checkout (pingdotgg#17167)

* fix(mobile): add compose to the single-column iPad list (pingdotgg#18157)

* fix(mobile): let sheet lists scroll before dismissal (pingdotgg#17177)

* fix(mobile): restore compact iPad trackpad scrolling (pingdotgg#13665)

* fix(mobile): preserve filters across layout changes (pingdotgg#13085)

* fix(mobile): separate unfolded thread list from header (pingdotgg#13088)

* fix(android): Match thread fallback layouts to the loaded pane (pingdotgg#14669)

* fix(mobile): size inline MCP apps to their content (pingdotgg#17040)

* fix(mobile): preserve iPad search chrome across layout changes (pingdotgg#13667)

* fix(client): apply host color scheme to saved MCP apps (pingdotgg#17026)

* fix(android): Use MD3 loading spinners (pingdotgg#14282)

* fix(client): merge No project filters across environments (pingdotgg#17050)

Co-authored-by: Julius Marminge <[email protected]>

* fix(client): tolerate blocked cookies in MCP app sandboxes (pingdotgg#17027)

Co-authored-by: Julius Marminge <[email protected]>

* feat(mobile): browse and review pull requests natively (pingdotgg#18126)

* feat(mobile): guided reviews for pull requests (pingdotgg#18267)

* fix(devices): refresh backlogged iOS video and require input admission (pingdotgg#18326)

* feat(mobile): keep pull requests available offline (pingdotgg#18351)

* fix(mobile): keep bot badges out of PR attachments (pingdotgg#18347)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(desktop): tooltips no longer open under the Windows and Linux window controls (pingdotgg#17672)

* fix(web): revert trailing toast icons (pingdotgg#18356)

Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: maria-rcks <[email protected]>

* fix(web): even 4px inset around rows in the PR badge tooltip (pingdotgg#18352)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* ci(mobile): publish nightly Android APKs to a GitHub prerelease (pingdotgg#16271)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>

* fix(server): Claude 5.1+ text before a tool call shows as assistant text (pingdotgg#18364)

* feat(provider-muse): native subagents open in their own child threads (pingdotgg#18353)

Co-authored-by: Theo Browne <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(desktop): tooltips no longer open under the macOS traffic lights (pingdotgg#17726)

* fix(web): Cite button stays anchored to the selected text (pingdotgg#17650)

* fix(web): terminal selection drags scroll at the window edge (pingdotgg#17653)

* fix(web): scrolling over the thread minimap scrolls the chat (pingdotgg#17652)

* perf(web): panel toggles no longer re-render the timeline and composer (pingdotgg#18077)

* fix(web): composer keeps its border while resting and expanding (pingdotgg#18333)

* fix(web): center the empty-thread placeholder above the composer (pingdotgg#18331)

* fix(web): PR badge tooltip opens after a thread gains a second PR (pingdotgg#18368)

* fix(web): timeline keeps live-following after returning from Settings (pingdotgg#17348)

* fix(web): update toast download badge no longer hides behind the provider logo (pingdotgg#18401)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(shared): preserve generated branch namespaces (pingdotgg#15615)

* fix(provider-muse): run on Muse 1.4.6, with linked web search hits and workflow results (pingdotgg#18409)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(mobile): replace custom Markdown rendering with Enriched (pingdotgg#16979)

* chore(mobile): sync Screens fork with upstream v5 fixes (pingdotgg#18396)

* docs(mobile): point fork links to pingdotgg (pingdotgg#18433)

* perf(web): reuse the collator when sorting diff files (pingdotgg#18420)

Co-authored-by: SAPHID <[email protected]>
Co-authored-by: GPT-6.1 Sol <[email protected]>

* perf(web): avoid quadratic markdown link scans (pingdotgg#18387)

Co-authored-by: SAPHID <[email protected]>
Co-authored-by: GPT-6.1 Sol <[email protected]>

* perf(server): expired PR diffs no longer stay in memory until restart (pingdotgg#17786)

* perf(usage): the first usage scan skips decoding transcript lines that carry no usage (pingdotgg#17255)

* fix(mobile): preserve browser prompt replies across control updates (pingdotgg#18419)

Co-authored-by: SAPHID <[email protected]>
Co-authored-by: GPT-6.1 Sol <[email protected]>

* fix(web): closed popovers no longer stay on screen and click-through (pingdotgg#18341)

* fix(web): keybinding settings label Focus URL with a capitalized acronym (pingdotgg#18279)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): long commands no longer overflow the Add Action dialog (pingdotgg#18207)

Co-authored-by: Claude Sonnet 5.5 <[email protected]>

* fix(web): provider Runtime controls follow the settings row layout (pingdotgg#18190)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* perf(web): Thinking shimmer steps instead of drawing every frame (pingdotgg#18191)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* chore(typecheck): typecheck with tsc-rs (pingdotgg#16704)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* test(server): finish workflow reads before changing transcripts (pingdotgg#18192)

* test(server): Claude sign-in message test passes on Windows hosts (pingdotgg#18183)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): context menus no longer scroll when they fit the window (pingdotgg#16776)

* fix(server): checkpoint restore keeps a nested workspace on Windows (pingdotgg#14874)

* Reject unknown params in t3_thread_read (pingdotgg#17823)

* fix(desktop): Option-click on a chat link opens the system browser (pingdotgg#18238)

* fix(mobile): new thread draft names its repo and says it is a new thread (pingdotgg#17611)

Signed-off-by: Tiger Kaovilai <[email protected]>
Co-authored-by: Claude Sonnet 5.5 <[email protected]>

* fix(web): keep queued threads subscribed (pingdotgg#15293)

Co-authored-by: maria <[email protected]>

* test(server): Claude reset tests are skipped on Windows hosts, where their mock CLI cannot run (pingdotgg#18184)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): hide stash menu behind maximized panel (pingdotgg#18115)

Co-authored-by: maria <[email protected]>

* fix(web): sidebar toggle no longer sits under the macOS window buttons (pingdotgg#18193)

Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: maria-rcks <[email protected]>

* fix(server): missing agent binaries report launch failure

Return exit 125 when the Linux cgroup wrapper target is missing, including when /bin/sh is Bash. Preserve arguments and child exit codes.

* feat(android): add Pull Requests tab (pingdotgg#18372)

* fix(mobile): Forgejo change requests ask for the summary they require (pingdotgg#18455)

* fix(server): cap automatic thread continuations and turn them on by default (pingdotgg#18461)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(mobile): stock tab bar, glass filter pills, and saved list filters (pingdotgg#18476)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): keep PR surfaces and Android tab selection visible across themes (pingdotgg#18479)

* fix(mobile): keep preview count badges inside the working pill (pingdotgg#18449)

* fix(mobile): show rounded pull request selection in the sidebar (pingdotgg#18480)

* feat(web): model options for source control writer and review guide models (pingdotgg#18488)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* ci(mobile): cut a store build when the native fingerprint has no build (pingdotgg#18496)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): terminal colors no longer look washed out (pingdotgg#17168)

* refactor(settings): centralize schema-declared secrets and inputs (pingdotgg#18505)

* fix(mobile): restore native scroll-edge effects on forms and PRs (pingdotgg#18507)

* feat(mobile): native-sized pull request action bar (pingdotgg#18527)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): preserve theme contrast across surfaces and actions (pingdotgg#18506)

* refactor(mobile): share themed list rows and sections (pingdotgg#18510)

* refactor(mobile): share themed toggle rows in settings (pingdotgg#18511)

* refactor(mobile): share themed choice rows in settings (pingdotgg#18516)

* fix(server): consolidate browser credential handling (pingdotgg#18509)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat: open T3 Code from a link with a prompt ready to send (pingdotgg#18454)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(release): drop placeholder allowBuilds entry that broke nightly builds (pingdotgg#18560)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* ci: fail PRs on invalid allowBuilds entries in pnpm-workspace.yaml (pingdotgg#18564)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): menu dismiss taps no longer press the view underneath (pingdotgg#18565)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* feat(web): one sidebar click updates every machine and provider (pingdotgg#18053)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(release): avoid PowerShell crashes on Windows ARM (pingdotgg#18573)

* fix(server): Forgejo pull requests report their head commit (pingdotgg#18463)

* test(provider-acp): terminal kill test passes on Windows hosts (pingdotgg#18450)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): context meter no longer reads 1000k just under a million tokens (pingdotgg#17539)

* fix(desktop): avoid Hyprland 0.48–0.50 Wayland color-manager startup crashes (pingdotgg#18566)

Disable WaylandWpColorManagerV1 before Electron is ready only on native Wayland Hyprland sessions running a stock 0.48.0-0.50.1 release, which advertise FEATURE_SET_PRIMARIES but reject set_primaries (hyprwm/Hyprland#9444; fixed in 0.51.0 by hyprwm/Hyprland#11499). Any probe failure or explicit feature override keeps the default.

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): iPhones on iOS 27.2 beta no longer open to a black screen (pingdotgg#18654)

Co-authored-by: T3 Code Test <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(mobile): installs skip the Enriched math download again (pingdotgg#18679)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(web): setup wizards follow custom themes (pingdotgg#18725)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(server): resolve configured PR bases to branch names (pingdotgg#18754)

* fix: expose running terminals and prevent setup install stalls (pingdotgg#18740)

---------

Signed-off-by: Loïs Postula <[email protected]>
Signed-off-by: id0sch <[email protected]>
Signed-off-by: Yordis Prieto <[email protected]>
Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Tiger Kaovilai <[email protected]>
Co-authored-by: Theo Browne <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: Yash Singh <[email protected]>
Co-authored-by: Diego Rincón <[email protected]>
Co-authored-by: maria <[email protected]>
Co-authored-by: Doksanbir <[email protected]>
Co-authored-by: Satyal Yadav <[email protected]>
Co-authored-by: Vaishnav Sreekanth Menon <[email protected]>
Co-authored-by: Josh Silets <[email protected]>
Co-authored-by: Mostafa Ben <[email protected]>
Co-authored-by: Mostafa Ben <[email protected]>
Co-authored-by: Uzair Sajid <[email protected]>
Co-authored-by: Diego Lumbreras <[email protected]>
Co-authored-by: maria-rcks <[email protected]>
Co-authored-by: eimexdev <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Dara Adedeji <[email protected]>
Co-authored-by: oliver <[email protected]>
Co-authored-by: Tristan Knight <[email protected]>
Co-authored-by: Saikrishna Ambeti <[email protected]>
Co-authored-by: Zach <[email protected]>
Co-authored-by: Nikita Koynov <[email protected]>
Co-authored-by: Sergiy Dybskiy <[email protected]>
Co-authored-by: Claude <[email protected]>
Co-authored-by: Karan Sharma <[email protected]>
Co-authored-by: Scott Norteman <[email protected]>
Co-authored-by: Maxwell Young <[email protected]>
Co-authored-by: James Villarrubia <[email protected]>
Co-authored-by: Claudesaul <[email protected]>
Co-authored-by: Dylan Corso <[email protected]>
Co-authored-by: Wout Stiens <[email protected]>
Co-authored-by: Prathmesh Vhatkar <[email protected]>
Co-authored-by: Afonso Ferreira <[email protected]>
Co-authored-by: Derek Trimm <[email protected]>
Co-authored-by: Rakshith Bhat <[email protected]>
Co-authored-by: Krishna Vijay <[email protected]>
Co-authored-by: only21mil <[email protected]>
Co-authored-by: Loïs Postula <[email protected]>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Igor Makowski <[email protected]>
Co-authored-by: Matthew Feroz <[email protected]>
Co-authored-by: Bilal Bakr <[email protected]>
Co-authored-by: Nicholas Tindle <[email protected]>
Co-authored-by: Victor Vogel <[email protected]>
Co-authored-by: Maciek Geneja <[email protected]>
Co-authored-by: Mike Olson <[email protected]>
Co-authored-by: Akbar Danial Akma <[email protected]>
Co-authored-by: TanJeeSchuan <[email protected]>
Co-authored-by: fixfon <[email protected]>
Co-authored-by: kamkm <[email protected]>
Co-authored-by: id0Sch <[email protected]>
Co-authored-by: raphaelpra <[email protected]>
Co-authored-by: Fluffy-Bunny-23 <[email protected]>
Co-authored-by: Arham Mahajan <[email protected]>
Co-authored-by: Connor Walker <[email protected]>
Co-authored-by: connorwalker <[email protected]>
Co-authored-by: Yordis Prieto <[email protected]>
Co-authored-by: Alex <[email protected]>
Co-authored-by: Guillermo Casanova <[email protected]>
Co-authored-by: Abdelrhman Ehab <[email protected]>
Co-authored-by: Alex Southwell <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Adamulek123 <[email protected]>
Co-authored-by: GPT-6.1-Sol (Codex) <[email protected]>
Co-authored-by: AdEx-Partners-DE <[email protected]>
Co-authored-by: Exotic <[email protected]>
Co-authored-by: wellorbetter <[email protected]>
Co-authored-by: freddy-d <[email protected]>
Co-authored-by: Furox <[email protected]>
Co-authored-by: Vantrongs <[email protected]>
Co-authored-by: Cameron Varley <[email protected]>
Co-authored-by: Sheehan Munim <[email protected]>
Co-authored-by: Jake Leventhal <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Hasan Shoaib <[email protected]>
Co-authored-by: Ali Younes <[email protected]>
Co-authored-by: Arav Jain <[email protected]>
Co-authored-by: Alb11747 <[email protected]>
Co-authored-by: Ben Davis <[email protected]>
Co-authored-by: SAPHID <[email protected]>
Co-authored-by: Michael Johnston <[email protected]>
Co-authored-by: Gaya KACI <[email protected]>
Co-authored-by: Jonas B. <[email protected]>
Co-authored-by: Miklós Fazekas <[email protected]>
Co-authored-by: Tiger Kaovilai <[email protected]>
Co-authored-by: ANSH SINGH <[email protected]>
Co-authored-by: Jérôme Poskin <[email protected]>
Co-authored-by: Ryan <[email protected]>
Co-authored-by: luke <[email protected]>
Co-authored-by: kronk0s <[email protected]>
Co-authored-by: shivam <[email protected]>
Co-authored-by: T3 Code Test <[email protected]>
Rylaa pushed a commit to Rylaa/t3code that referenced this pull request Oct 12, 2026
incognitojam pushed a commit to incognitojam/styal that referenced this pull request Oct 20, 2026
…bottom (pingdotgg#17954)

Co-authored-by: Claude Opus 5.5 <[email protected]>
(cherry picked from commit 1cfd1c1)
Upstream-PR: 17954
incognitojam pushed a commit to incognitojam/styal that referenced this pull request Oct 20, 2026
…bottom (pingdotgg#17954)

Co-authored-by: Claude Opus 5.5 <[email protected]>
(cherry picked from commit 1cfd1c1)
Upstream-PR: 17954
incognitojam pushed a commit to incognitojam/styal that referenced this pull request Oct 20, 2026
…bottom (pingdotgg#17954)

Co-authored-by: Claude Opus 5.5 <[email protected]>
(cherry picked from commit 1cfd1c1)
Upstream-PR: 17954
incognitojam pushed a commit to incognitojam/styal that referenced this pull request Oct 20, 2026
…bottom (pingdotgg#17954)

Co-authored-by: Claude Opus 5.5 <[email protected]>
(cherry picked from commit 1cfd1c1)
Upstream-PR: 17954
felippeoka pushed a commit to felippeoka/f5 that referenced this pull request Oct 23, 2026
Opening a command, work group, file diff or directory tree at the bottom
of a thread kept the toggled row in place, so its new content opened
below the viewport (365px in the new test). A toggle made at the end now
pins the list to the end while rows re-measure, including output that
renders a frame or two late. Scrolled up, the toggled row still holds
its place.

Port of pingdotgg/t3code#17954.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
devswha added a commit to devswha/ovis that referenced this pull request Oct 25, 2026
…ough its rewrites (#1937)

## What it does for the user

While a GJC turn streams tool calls into Chat, a tool you opened now
stays open and stays where it is on screen:

- **Opening is reading.** Opening a tool row, a folded work block or a
tool's whole output stops following the end, just as scrolling up does.
New records arrive below without moving what you are reading. Jump to
latest (or New messages) brings you back to the end, and following
resumes from there. A reader who opens nothing keeps following exactly
as before.
- **GJC rewrites that keep the turns no longer reset the chat.** gjc
writes its whole session file again and renames it over the old one: on
its first save, and when it trims old tool outputs (it does the same
when it compacts). The server reads the new file as another history
(`history_id` is the file's identity), so the chat started over: every
opened detail folded, a reader's place was lost, and at phone width the
end was no longer followed. Now a new history ID whose newest page still
opens with every turn already shown, in the same places, keeps the rows,
what was opened and where you read. Each shown turn's role and start
time, each part's kind, and each tool's call id and input must be
unchanged (gjc's tool parts now carry their `toolCall` id as `call_id`
for this); what a tool answered may be trimmed. Anything else still
starts over as before: a compaction that dropped turns or moved where
the newest page starts, a new session, a cleared context, a rewind (even
one that keeps a turn's tools' names), a moved branch, or a reader
holding older pages.
- **A todo update you opened stays open.** Since #1846, contiguous todo
updates fold into one Plan row. An update you had opened turned into a
closed Plan row as soon as the next update arrived, so what you were
reading folded away. The Plan row now opens when you had opened one of
its updates, with that update still open inside it. A Plan row nobody
opened still starts closed.

## Why

#1388: "the viewport alternates between the user message and the bottom"
and "tool details that the reader expanded collapse when new records
arrive". Two causes, both reproduced on current main with GJC-shaped
records:

1. `ChatTimeline` remembered a click on a disclosure only until the next
rows change (`manualLayout` cleared on every `rows` update). Then
ChatView's layout effect and the list's size callback followed the end
again, dragging an opened running tool's header up 383–455 px on every
record.
2. gjc 0.18's session manager rewrites its file through a temp file +
rename (`rewriteEntries` after compaction eviction and tool-output
pruning; I read this from the installed gjc 0.18.12 binary). A rename is
a new inode, so `transcriptStream` gives a new `history_id` and
ChatView's read dropped the row slots, the row memories and the reader's
intent.

Since #1831, a message sent from this browser's box follows the chat
back to the end unless the reader navigated after it went out. Opening a
tool now counts as that navigation too, as scrolling up does, so a send
on its way no longer pulls the reader off a tool they opened. A gjc
rewrite that continues the chat is not navigation (the reader's place is
kept); any other new history still is.

Design: T3 Code took the other side for a reader at the very bottom
(pingdotgg/t3code#17954 keeps a reader who toggles a tool there pinned
to the bottom). Here the issue asks for the opened row to stay put while
a turn streams, and Ovis already treats scrolling up as "stop following
until I come back". Opening a detail joins that rule instead of adding a
new one, so nothing new is drawn: the existing Jump to latest and New
messages controls carry it. DESIGN.md's chat follow paragraph says so.

The server's history identity is unchanged. **HTTP contract:** `GET
/api/pane/conversation` now gives a gjc tool part its own `call_id`, the
optional field `shared/protocol.ts` already declares for Claude and
Codex; omp and pi still carry none (`server/api.contract.test.ts`).
CodeRabbit is rate-limited here, so a code-review agent's review stands
in, and this needs a real review before merging. A byte-prefix check on
the server would miss gjc's rewrites, because pruning changes earlier
records. The continuity check runs only in the chat that already holds
the turns.

## How it was verified

- New `scripts/chat-gjc-streaming-browser-qa.ts` (added to the browser
lane). It feeds GJC-shaped `message`/`toolCall`/`toolResult` records one
at a time through the real `transcriptPage("gjc-transcript")` parser and
the real ChatView → ChatTimeline → LegendList path in Chromium, at 1440
and 390 px. Three readers are covered: one who opened a running tool,
one following the end, and one scrolled up. Each runs with plain appends
and with a gjc-style temp+rename rewrite. It samples every frame from
each refresh until the view settles:
- the opened tool's header and the scrolled reader's row stay within 1
px in every frame
  - the opened tool stays `aria-expanded="true"`
  - a follower ends at the end after every record
  - Jump to latest resumes following
- On main (d3eefef, before this branch was rebased) it fails 62
assertions:
  - header displacement −383 to −455 px per record
  - `aria-expanded="false"` after a rewrite
  - the scrolled reader's row lost after a rewrite
  - the 390 px follower 179–205 px short of the end
- in a chat that still fit the screen when the tool was opened, the
opened tool dragged up to 1502 px once later records overflow it
- On this branch every scenario holds at 0 px (20 scenarios, rebased on
ddee8be). Current main (ddee8be) still fails 62 assertions.
- Its `todo` scenario (added with the rebase) opens a gjc `todo_write`
update and appends the next one, plainly and through a rewrite: the Plan
row's head stays where the opened update's head was in every frame, it
is open, and the update read stays open in it. Run against the commit
before that fix, the script fails only those 16 todo assertions.
- `server/conversation.test.ts` runs a gjc rewrite through the real
parser: the same calls written again continue, and a rewind that reads
the same file again under another call id, later, does not.
- `src/lib/chatRows.test.ts` covers `continuesHistory`: continuation, a
dropped/moved/retimed turn, a page that starts later (dropped first
turns), a rewind that puts another call of the same tool in a shown
place (other input or call id), another source, scrollback, empty and
untimed pages.
- Its `jump` scenario opens a tool and takes Jump to latest at once;
closes and reopens it and jumps again; closes it while following,
scrolls away and jumps back; and does that again but scrolls back to the
end by hand. After each Jump the last row grows with no record between,
and the end is followed. The script counts an answer as served only once
the chat has read its body and React has committed after it.
- `scripts/chat-virtual-browser-qa.ts` passes at 1440 and 390 px, dark
and light (paging, pagination, virtualization, selection and disclosure
restoration). The other chat browser scripts run in this PR's browser
lane.
- `scripts/todo-snapshots-demo-regression.ts` passes, and so do
`chat-local-send-follow-demo-regression.ts` (#1831),
`chat-browser-qa.ts` and `chat-tool-paths-demo-regression.ts` on the
rebased branch.
- `bun run check fast` passes: typecheck, build, generated files,
workflow syntax, 6772 unit tests.
- Reviewed by a code-review agent (no HIGH; its one real gap, a chat too
short to scroll re-arming follow, is fixed in the second commit) and by
Codex Sol 6.1 (no HIGH; three MEDIUM findings on the history
continuation are fixed in the third commit: it applies to gjc only and
needs each shown part's kind and tool to match, an older-page read in
flight is dropped, and the kept reading place moves to the new history
ID). A Codex re-review of that commit found no remaining HIGH or MEDIUM
issue.
- After the rebase onto current main, Codex Sol reviewed the rebase
delta. The two conflict resolutions with #1831 were clean. It found one
MEDIUM, the #1846 todo row folding an update the reader had opened,
which the last commit fixes. Its re-review found one more MEDIUM (a
remounted Plan row lost the openness it had inherited), fixed in the
same commit; its 13-case repro passes.

Not covered: native iOS/Safari, a gjc compaction that drops turns (it
starts over, as before), real gjc runs (the records are synthetic and
the rewrite is simulated as gjc does it), and a reader who has loaded
older pages when gjc rewrites. That reader still starts over, because
those pages were read from the old file.

Fixes #1388

---------

Co-authored-by: mp <mp@local>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

macroscope-review Opt PRs made by unvouched contributors in for Macroscope review. Vouched contributors auto-reviews size:M 30-99 changed lines (additions + deletions). vouch:trusted Author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants