Skip to content

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

Merged
juliusmarminge merged 4 commits into
pingdotgg:mainfrom
PixPMusic:pixpmusic/fix-no-project-filter
Oct 11, 2026
Merged

juliusmarminge merged 4 commits into
pingdotgg:mainfrom
PixPMusic:pixpmusic/fix-no-project-filter

Conversation

@PixPMusic

@PixPMusic PixPMusic commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Problem

Connecting multiple environments produces multiple “No project” entries in the thread filter because each scratch workspace has a different project ID and path. Selecting one hides scratch threads from the other environments. This reproduces in web and Android; the report includes desktop.

Closes #17049.

Change

Identify scratch projects from each environment’s configured scratch root and combine them into one “No project” group for thread filters in the shared client runtime. Keep every environment-scoped project reference so the filter includes all matching threads. Ordinary projects, including a project merely named “No project”, retain their existing grouping behavior. Scratch merging is enabled by thread-filter callers; other consumers keep their existing groups. Settings shortcuts from the merged filter or a thread open the corresponding project’s existing settings scope.

Preserve a selected scratch filter when environment config arrives after projects. Web migrates saved physical or repository filter keys and waits for enabled environments’ configs before clearing a missing selection. Both mobile filter owners save the migrated logical key so it survives removal of the original host. Existing ordinary repository scopes take precedence over scratch aliases.

Scope and approval

This is a focused fix for the obvious duplicate-entry bug tracked in #17049 and aligns the filter with the existing single “No project” picker choice. It changes client grouping and selection handling, with no new setting or server contract. The issue is newly filed; no prior maintainer approval is claimed.

Verification

  • 65 tests passed across projectEntities.test.ts, projectGrouping.test.ts, environmentGrouping.test.ts, homeThreadList.test.ts, and ProjectSettingsPanel.test.tsx. Coverage includes late config arrival, stable project identity, all grouping modes, duplicate project references, same-title ordinary projects, saved filter migration in all grouping modes, disabled-environment readiness, host removal after migration, environment-scoped thread filtering, and host-specific settings ownership and shortcuts.
  • Scoped typechecks passed for client-runtime, web, and mobile. Targeted lint passed with existing React/sidebar warnings; git diff --check passed.
  • Reproduced the baseline in an isolated web client and Android 15 emulator connected to two disposable environments. Before: two choices, each filtering to one host. After: one choice includes both scratch threads and excludes ordinary project threads. Clearing the filter restores the full list; the web selection survives reload. Opening Settings from the merged filter targets a single project entry, with single-entry removal copy.
  • Desktop uses the changed web code; iOS uses the changed mobile code. Electron, iOS, relay, and tunnel were not separately exercised. Provider behavior and wire contracts are unaffected.

Both captures use the same fixture, theme, and viewport/device. Android captures crop to the menu and use an equal canvas with blank padding where the shorter menu removed a row.

Surface Before After
Web Two No project filter entries on web One No project filter entry on web
Android Two No project filter entries on Android One No project filter entry on Android

Model: GPT-6.1 Sol | Harness: Codex in T3 Code

@github-actions github-actions Bot added vouch:trusted Author is trusted by repo permissions or the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Oct 8, 2026
Comment thread apps/web/src/components/Sidebar.tsx Resolved
@macroscopeapp

macroscopeapp Bot commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Not approved

Macroscope's review found this PR not approvable — This change alters the default cross-environment “No project” filtering behavior across web/desktop and mobile, while adding shared config-derived project identity and persisted-selection migration. The implementation is covered by substantial targeted tests, but the product-wide default behavior change warrants human review.

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

@PixPMusic

PixPMusic commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor Author

Addressed all three correctness findings in a6d00ed: pre-config repository-key migration, config readiness limited to enabled environments, and durable mobile scratch selection after host removal. Added focused regression coverage; 51 tests and client-runtime/web/mobile typechecks pass. Rechecked the single filter and combined scratch-thread result in web and Android.

All three review threads are now resolved and outdated. All 8 required checks and Macroscope’s latest correctness check passed on a6d00ed. The approvability summary still describes these findings as unresolved, despite the current thread state; its check is neutral. CodeRabbit remains pending. The PR body records the verification gaps.

@coderabbitai

coderabbitai Bot commented Oct 8, 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: Advanced
  • Run ID: cf7b2d2a-810f-420b-abd7-61dddd8e331f

📥 Commits

Reviewing files that changed from the base of the PR and between 9f4c301 and a647e48.


📒 Files selected for processing (3)
  • apps/mobile/src/features/home/HomeRouteScreen.tsx
  • apps/mobile/src/features/home/homeThreadList.test.ts
  • apps/web/src/components/Sidebar.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

This change identifies scratch projects from environment configuration, groups them under a shared “No project” scope, and resolves saved project selections in web and mobile views. It also adds project-configuration readiness checks and tests for cross-environment grouping and thread filtering.

Changes

Scratch project grouping and scope

Layer / File(s) Summary
Derive scratch identity from environment config
packages/client-runtime/src/state/models.ts, packages/client-runtime/src/state/projectEntities.ts, packages/client-runtime/src/state/projectEntities.test.ts, apps/web/src/state/projects.ts, apps/mobile/src/state/projects.ts
Environment project atoms mark projects whose workspace root matches the configured scratch root. They expose project-configuration readiness, and web and mobile supply the server configuration atom.
Group scratch projects and resolve their scope key
packages/client-runtime/src/state/projectGrouping.ts, packages/client-runtime/src/state/projectGrouping.test.ts
Scratch projects can share a reserved logical key and use the “No project” label. Tests cover grouping modes, scope resolution, and keeping ordinary projects distinct.
Resolve saved scopes in web and mobile
apps/web/src/sidebarProjectGrouping.ts, apps/web/src/components/Sidebar.tsx, apps/web/src/environmentGrouping.test.ts, apps/mobile/src/features/home/HomeRouteScreen.tsx, apps/mobile/src/features/home/homeThreadList.ts, apps/mobile/src/features/home/homeThreadList.test.ts, apps/mobile/src/features/threads/ThreadNavigationSidebar.tsx
The web sidebar resolves persisted keys against project groups and delays clearing missing scopes until snapshots and configurations are ready. Project settings navigation can target a group member. Mobile views resolve stored keys against current projects, and tests cover cross-environment thread filtering.

Priority: ⬇️ Low

Estimated code review effort: 3 (Moderate) | ~25 minutes

Change: Bug fix · Severity of issue fixed: Low

Possibly related PRs

  • pingdotgg/t3code#14666: Establishes scratch-project identity and a shared logical key, which this PR uses for cross-environment grouping and saved-scope resolution.

Suggested reviewers: juliusmarminge, t3dotgg


Merge Risk | ⚪ Minimal · up to a647e

Merge Risk: ⚪ Minimal · up to a647e

No actionable merge-blocking risk is established for the shared “No project” filter. The change is mergeable after normal checks.

Security Architecture Review

Security architecture risk: 🔵 Low · up to a647e

The shared filter preserves environment-specific project references, while settings shortcuts resolve to existing project scopes. No new authorization bypass was established. Remaining uncertainty concerns selection timing and recovery, rather than expanded privileges.

Retained concerns
No architecture-level concerns identified.

Security review details

Security Blast Radius

  • inferred — The changed display scope can include scratch threads across enabled environments already represented in the client. Membership still carries environment/project pairs; the shared key itself does not grant access to an additional environment or project.

Trust Boundaries and Controls

  • observed — Settings navigation continues through the existing route gate, which accepts authenticated or hosted-static states. The settings panel resolves an existing project group and its members. These client controls do not establish independent server-side mutation authorization.

Resilience and Maintainability Implications

  • observed — Mobile already cleared a selection absent from its current filter options before this PR. Existing disconnect and stream-error transitions retain the shell snapshot, and configuration resolution can fall back to retained configuration. This counters routine reconnect-induced catalog loss, but does not verify every teardown or concurrent selection state. No security-boundary regression was established from the filter-clearing behavior.

Pre-merge checks | Passed 4
✅ Passed checks (4 passed)
Check name Status Explanation
Title check Passed The title clearly and concisely describes the primary change: merging “No project” filters across environments.
Description check Passed The description covers the problem, implementation, scope rationale, verification results, test coverage, screenshots, limitations, and agent details. It explains why approval was not required for thi…
Linked Issues check Passed The changes meet the coding requirements in [#17049]. They identify scratch projects from each environment's configured scratch root. They merge scratch projects only for thread-filter callers and ret…
Out of Scope Changes check Passed The changes stay within [#17049]. The shared grouping change, opt-in filter behavior, selection migration, and settings-target resolution support the requested filter behavior. The reserved scratch ke…

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR

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

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

@PixPMusic

Copy link
Copy Markdown
Contributor Author

Addressed the retained architecture concern in CodeRabbit’s summary in 9f4c301. Scratch merging is now an explicit opt-in used only by thread-filter callers. The default grouping used by web/mobile Settings, creation flows, and other project consumers retains its prior scopes. Settings shortcuts from the merged web filter and thread/draft menus resolve the corresponding host’s existing project group, including an explicitly selected remote thread.

Added regression coverage for default scratch ownership across grouping modes and settings-shortcut targets. All 65 focused tests (including the existing ProjectSettingsPanel tests), three scoped typechecks, and targeted lint pass. Web and Android still show one filter including both scratch threads; opening Settings from the web filter shows single-project removal copy. Updated the PR body while preserving bot blocks. New-head CI and reviews are pending.

@PixPMusic
PixPMusic force-pushed the pixpmusic/fix-no-project-filter branch from 9f4c301 to a647e48 Compare October 11, 2026 02:20
@PixPMusic

Copy link
Copy Markdown
Contributor Author

@juliusmarminge @maria-rcks This is rebased onto current main and ready for maintainer review. Focused filter/grouping regression tests and client-runtime, web, and mobile typechecks pass. Existing web and Android evidence is in the description.

@juliusmarminge
juliusmarminge merged commit 8de61d4 into pingdotgg:main Oct 11, 2026
30 of 31 checks passed
@PixPMusic
PixPMusic deleted the pixpmusic/fix-no-project-filter branch October 11, 2026 19:26
sandscooling pushed a commit to sandscooling/t3code that referenced this pull request Oct 11, 2026
Sync 1011d: 27 upstream commits, incl. pingdotgg#17879 (providers on/off per
project), pingdotgg#17050 (No-project filters across environments), native PR
review on mobile.

Sidebar.tsx conflict: took upstream's scope-repair dependency array and
kept the fork's flat-only Working shelf gate below it. Three fork test
layers now provide ServerSettings and CommandReceiptStore, which
ThreadManagement requires since pingdotgg#17879.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Oct 11, 2026
## What's Changed
* fix(usage): say resets momentarily in the final minute by @extoci in pingdotgg/t3code#17869
* fix(server): preserve ambient Cursor MCP servers by @aravhawk in pingdotgg/t3code#15875
* fix(server): skip Windows cleanup for exited child processes by @Alb11747 in pingdotgg/t3code#16007
* feat(settings): providers can be turned on or off per project by @yordis in pingdotgg/t3code#17879
* perf(github): resolve credentials once per GraphQL request by @juliusmarminge in pingdotgg/t3code#18289
* fix(server): refresh linked PRs without a checkout by @PixPMusic in pingdotgg/t3code#17167
* fix(mobile): add compose to the single-column iPad list by @PixPMusic in pingdotgg/t3code#18157
* fix(mobile): let sheet lists scroll before dismissal by @PixPMusic in pingdotgg/t3code#17177
* fix(mobile): restore compact iPad trackpad scrolling by @PixPMusic in pingdotgg/t3code#13665
* fix(mobile): preserve filters across layout changes by @PixPMusic in pingdotgg/t3code#13085
* fix(mobile): separate unfolded thread list from header by @PixPMusic in pingdotgg/t3code#13088
* fix(android): Match thread fallback layouts to the loaded pane by @PixPMusic in pingdotgg/t3code#14669
* fix(mobile): size inline MCP apps to their content by @PixPMusic in pingdotgg/t3code#17040
* fix(mobile): preserve iPad search chrome across layout changes by @PixPMusic in pingdotgg/t3code#13667
* fix(client): apply host color scheme to saved MCP apps by @PixPMusic in pingdotgg/t3code#17026
* fix(android): Use MD3 loading spinners by @PixPMusic in pingdotgg/t3code#14282
* fix(client): merge No project filters across environments by @PixPMusic in pingdotgg/t3code#17050
* fix(client): tolerate blocked cookies in MCP app sandboxes by @PixPMusic in pingdotgg/t3code#17027
* feat(mobile): browse and review pull requests natively by @juliusmarminge in pingdotgg/t3code#18126
* feat(mobile): guided reviews for pull requests by @juliusmarminge in pingdotgg/t3code#18267
* fix(devices): refresh backlogged iOS video and require input admission by @juliusmarminge in pingdotgg/t3code#18326
* feat(mobile): keep pull requests available offline by @juliusmarminge in pingdotgg/t3code#18351

## New Contributors
* @Alb11747 made their first contribution in pingdotgg/t3code#16007

**Full Changelog**: pingdotgg/t3code@v0.0.46-nightly.20261011.2980...v0.0.46-nightly.20261011.2994

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.46-nightly.20261011.2994
github-actions Bot added a commit to davidvanderklay/t3code-flake that referenced this pull request Oct 11, 2026
## What's Changed
* fix(usage): say resets momentarily in the final minute by @extoci in pingdotgg/t3code#17869
* fix(server): preserve ambient Cursor MCP servers by @aravhawk in pingdotgg/t3code#15875
* fix(server): skip Windows cleanup for exited child processes by @Alb11747 in pingdotgg/t3code#16007
* feat(settings): providers can be turned on or off per project by @yordis in pingdotgg/t3code#17879
* perf(github): resolve credentials once per GraphQL request by @juliusmarminge in pingdotgg/t3code#18289
* fix(server): refresh linked PRs without a checkout by @PixPMusic in pingdotgg/t3code#17167
* fix(mobile): add compose to the single-column iPad list by @PixPMusic in pingdotgg/t3code#18157
* fix(mobile): let sheet lists scroll before dismissal by @PixPMusic in pingdotgg/t3code#17177
* fix(mobile): restore compact iPad trackpad scrolling by @PixPMusic in pingdotgg/t3code#13665
* fix(mobile): preserve filters across layout changes by @PixPMusic in pingdotgg/t3code#13085
* fix(mobile): separate unfolded thread list from header by @PixPMusic in pingdotgg/t3code#13088
* fix(android): Match thread fallback layouts to the loaded pane by @PixPMusic in pingdotgg/t3code#14669
* fix(mobile): size inline MCP apps to their content by @PixPMusic in pingdotgg/t3code#17040
* fix(mobile): preserve iPad search chrome across layout changes by @PixPMusic in pingdotgg/t3code#13667
* fix(client): apply host color scheme to saved MCP apps by @PixPMusic in pingdotgg/t3code#17026
* fix(android): Use MD3 loading spinners by @PixPMusic in pingdotgg/t3code#14282
* fix(client): merge No project filters across environments by @PixPMusic in pingdotgg/t3code#17050
* fix(client): tolerate blocked cookies in MCP app sandboxes by @PixPMusic in pingdotgg/t3code#17027
* feat(mobile): browse and review pull requests natively by @juliusmarminge in pingdotgg/t3code#18126
* feat(mobile): guided reviews for pull requests by @juliusmarminge in pingdotgg/t3code#18267
* fix(devices): refresh backlogged iOS video and require input admission by @juliusmarminge in pingdotgg/t3code#18326
* feat(mobile): keep pull requests available offline by @juliusmarminge in pingdotgg/t3code#18351

## New Contributors
* @Alb11747 made their first contribution in pingdotgg/t3code#16007

**Full Changelog**: pingdotgg/t3code@v0.0.46-nightly.20261011.2980...v0.0.46-nightly.20261011.2994

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.46-nightly.20261011.2994
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]>
aorwall added a commit to aorwall/t3code that referenced this pull request Oct 12, 2026
Merges upstream `pingdotgg/t3code` `e688034b5f` (223 commits, base
`aacefcd7e9`) into the fork. No merge PR was open, so this branches from
`main`.

## Resolution
- 9 conflicts, each resolved by its `preflight.mjs` verdict. The tracker
entry in `docs/fork/upstream-merge-log.md` lists them. `AGENTS.md` kept
the fork copy because upstream only changed a user count in a section
the fork drops. `nativeMarkdownText.test.ts` takes upstream's deletion.
The rest combine both sides.
- The lockfile is upstream's copy, re-derived by install.
- Landed 1226 files against 1226 in the upstream range; the gap is
explained in the tracker.
- **Fork-side fix in `apps/server/src/server.ts`**: when `Ws.layer` was
first inferred inside `layerMakeRoutes`, its requirements widened to
`any`. That failed typecheck across `binCli.ts`, `cli/server.ts`,
`server.ts` and the cli tests, and it was the `TS377030` failure the
2026-10-10 merge had blamed on upstream. Moving it to its own statement
after the imports fixes it. The fix is recorded as inventory entry
`server-ws-layer-hoist`, and the gap entry is struck.
- `UnsupportedMethodError` was added to `filesystem.getMetadata`,
`orchestration.stopWorkflow` and `server.checkOtlpEndpoint`; nothing was
dropped.
- Three stale `duplicateAddExceptions` were removed.

## Verification
`verify.mjs` passed duplicate-adds, tripwires, resolution-check,
unsupported-methods, lockfile, fmt, lint, typecheck and build. `test`
failed on 5 files, each confirmed failing when run alone:
- The same four as 2026-10-10: `ServerBrowserPage`, `AcpAdapterV2`,
`OrchestratorReplayFixtures` and `OpenCodeServerLedger`.
- New: `@t3tools/shared` `AgentScope.test.ts`. It expects
`oom_score_adj` 800, but sandbox processes inherit 935, and an
unprivileged process cannot lower it. This is the sandbox, not the code.

## Usable as-is
- Drag to reorder right-panel tabs (pingdotgg#17730). A maximized panel now stays
maximized per thread, and there are other layout fixes.
- Claude workflow phases and members show in Lineage (pingdotgg#12598).
- Threads can be found by a branch's PR number (pingdotgg#14658), and no-project
filters are merged across environments (pingdotgg#17050).
- Cmd-F focuses settings search, and update settings appear in the
command palette.
- Resume continues on the composer's model (pingdotgg#17867), and queued threads
stay subscribed (pingdotgg#15293).
- Fixes to the timeline, minimap, composer, context menus and markdown
performance.
- Desktop and mobile features, which the fork does not ship.

## Unsupported in Moatless / needs implementation
- **Guided PR reviews** (pingdotgg#18124, pingdotgg#18143): `pullRequests.reviewGuide`,
`generateReviewGuide` and `reportState`, behind the Guide tab. Already
hidden by the PR capability and `FEATURES.pullRequestSurface`.
- **`orchestration.stopWorkflow`** (pingdotgg#17826): the Stop button for Claude
subagents in `ThreadRelationshipsControl.tsx`. It has no fork gate and
renders only for threads that carry workflow members.
- **`filesystem.getMetadata`** (pingdotgg#17923): server-derived file-chip icons.
When the call is refused, chips keep their extension icons.
- **`server.checkOtlpEndpoint`** and the OTLP export settings (pingdotgg#12538).
Already behind `FEATURES.diagnostics`.
- These all save through `server.updateSettings` or `projects.mutate`,
and the existing settings gates already hide them:
  - source-control host settings and the GitCafe token (pingdotgg#17901, pingdotgg#17746);
  - writer and review-guide model settings (pingdotgg#18488);
  - per-project provider enablement (pingdotgg#17879);
  - synced model favorites (pingdotgg#16816);
  - publish to any host and new-project folder (pingdotgg#17860, pingdotgg#17371).

## Backend behavior to consider reproducing in Moatless
- **Project settings overrides**: they gain `providerInstances` and
review-guide keys, and a sweep clears the overrides of deleted projects
(pingdotgg#17879).
- **Automatic thread continuations**: on by default and capped at three
in a row (pingdotgg#18461).
- **Agent isolation**: each agent runs in its own systemd scope with a
raised OOM score, so an OOM kill spares the server (pingdotgg#17662).
- **PR sweep and settlement fixes**:
  - linked PRs refresh without a checkout (pingdotgg#17167);
  - forks are detected for branches without upstreams (pingdotgg#13894);
- PR watch no longer reports passed while a re-run check is still going
(pingdotgg#17344);
  - thread PR badges catch up across environments (pingdotgg#17729);
  - the reason a thread can't be settled is now stated (pingdotgg#17258).
- **Worktree threads**: they keep their worktree when the agent starts,
and messages sent during setup queue (pingdotgg#17654). `t3_thread_launch` also
refuses a base ref with no commit (pingdotgg#17791).
- **Provider fixes**: a missing agent binary reports a launch failure,
and Claude 5.1+ text before a tool call shows as assistant text
(pingdotgg#18364).

## After merge
- Disable the new upstream workflow: `gh workflow disable
mobile-android-apk.yml --repo soaplabs/t3code`.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---
Moatless task:
https://moatless.soaplabstest.com/tasks/0c7fbce8-cdd5-426e-afb0-037def1ac545
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
…17050)

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

Fork adaptation: The sidebar takes upstream's project scope resolution in place of the fork's clear-scope helper, keeping its rule that an empty project list, still loading, does not clear the filter.

(cherry picked from commit 8de61d4)
Upstream-PR: 17050
Fork-Feature: project-filter-continuity
incognitojam pushed a commit to incognitojam/styal that referenced this pull request Oct 20, 2026
…17050)

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

Fork adaptation: The sidebar takes upstream's project scope resolution in place of the fork's clear-scope helper, keeping its rule that an empty project list, still loading, does not clear the filter.

(cherry picked from commit 8de61d4)
Upstream-PR: 17050
Fork-Feature: project-filter-continuity
incognitojam pushed a commit to incognitojam/styal that referenced this pull request Oct 20, 2026
…17050)

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

Fork adaptation: The sidebar takes upstream's project scope resolution in place of the fork's clear-scope helper, keeping its rule that an empty project list, still loading, does not clear the filter.

(cherry picked from commit 8de61d4)
Upstream-PR: 17050
Fork-Feature: project-filter-continuity
gitcafe-production Bot pushed a commit that referenced this pull request Oct 27, 2026
Review found that dropping Home's and the tablet sidebar's write-back
effects also dropped the persisted legacy scratch key migration from #17050.
resolveScratchProjectScopeKey maps a legacy key only while the original
host's scratch project is loaded, so without the write-back the saved filter
falls back to All once that host is gone. Restore main's effects in both
files; this PR now covers only app update checks.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100-499 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.

[Bug]: No project appears multiple times in the project filter across environments

2 participants