Skip to content

feat(server): count which product features people use - #15921

Merged
juliusmarminge merged 1 commit into
mainfrom
t3code/feature-usage-analytics
Oct 19, 2026
Merged

juliusmarminge merged 1 commit into
mainfrom
t3code/feature-usage-analytics

Conversation

@juliusmarminge

@juliusmarminge juliusmarminge commented Oct 5, 2026 •

Copy link
Copy Markdown
Member

Today analytics only counts connections, threads and turns. We can't tell which product features are used, such as checkpoint restore, fork, provider switch, the terminal, the preview browser, worktrees, git and PR actions, or scheduled tasks.

This adds one anonymous PostHog event, feature.used { feature, variant?, surface? }. It's recorded from the RPC authorization middleware, which every WebSocket request already passes through, after the request succeeds (for a stream RPC, when the stream completes). No handler changes. RpcAuthorization.layer gains an optional onAuthorized callback, and ws.ts passes one that maps the request through FeatureUsage.ts.

FeatureUsage.ts is an allowlist:

  • User commands via dispatchCommand: checkpoint.rollback (with_files / conversation_only), thread.fork, thread.merge_back, provider.switch, archive, snooze, pin, settle, PR link and watch, runtime and interaction mode changes (mode as variant), interrupt, queue steer and edit. message.dispatch is left out because client.turn.requested already counts it. Housekeeping commands such as visits and reorders are left out too.
  • RPCs: thread.launch (workspace strategy as variant), terminal, preview and device open, editor.open (editor id), worktree create, git.stacked_action (action), pull_request.action (action), PR review and comment, scheduled task save and run-now, agent session import, project clone, repository publish, keybinding customize.

Anonymity: variants come only from closed contract enums. No paths, ids, titles, prompts or free text, and the only client dimension is surface. Hot paths such as terminal.write don't map to a feature and return right away. T3CODE_TELEMETRY_ENABLED=false still disables everything.

Tests: FeatureUsage.test.ts checks the mapping, including that paths, prompts and ids never appear. RpcAuthorization.test.ts checks that only authorized, successful requests are reported. The existing ws tests pass.

Companion to #15913, which covers the agent side (MCP tools and delegation). The two branches are independent.

Done by Claude Opus 5.5 in Claude Code (via T3 Code).

🤖 Generated with Claude Code


Devin Review

@github-actions github-actions Bot added the vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. label Oct 5, 2026
@juliusmarminge juliusmarminge added the macroscope-review Opt PRs made by unvouched contributors in for Macroscope review. Vouched contributors auto-reviews label Oct 5, 2026
@github-actions github-actions Bot added the size:L 100-499 changed lines (additions + deletions). label Oct 5, 2026
@macroscopeapp

macroscopeapp Bot commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Needs Human Approval

Macroscope's review found this PR requires human approval — This PR adds a new telemetry capability across existing WebSocket RPCs by extending shared authorization middleware, creating a broad runtime and data-collection side effect. Because it also changes the server auth package, the cross-cutting behavior warrants human review.

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

@github-actions

github-actions Bot commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

ℹ️ The exact PR base did not have a successful artifact. Baseline uses the latest successful main measurement shown below.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 5.0 KiB 4.9 KiB −23 B (−0.5%) 6.8 KiB ✅
Codex Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Codex Live turn WebSocket wire 1.2 KiB 1.2 KiB −23 B (−1.9%) 2.0 KiB ✅
Codex Live turn WebSocket decoded 20.9 KiB 20.8 KiB −41 B (−0.2%) 29.3 KiB ✅
Codex Live turn messages 2 1 −1 (−50.0%) 8 ✅
Claude Total thread wire 5.0 KiB 5.0 KiB +7 B (+0.1%) 6.8 KiB ✅
Claude Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Claude Live turn WebSocket wire 1.2 KiB 1.2 KiB +7 B (+0.6%) 2.0 KiB ✅
Claude Live turn WebSocket decoded 21.2 KiB 21.2 KiB 0 B (0.0%) 29.3 KiB ✅
Claude Live turn messages 2 2 0 (0.0%) 8 ✅

Baseline: cab362d · PR result: f0a7db7 · Source CI: success

Scenario and decoded snapshot size

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

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

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

@coderabbitai

coderabbitai Bot commented Oct 5, 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: Repository: pingdotgg/t3code/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Team
  • Run ID: 054b8ec9-b74a-4fe9-9c7b-c1d3e4a3e33c
📥 Commits

Reviewing files that changed from the base of the PR and between 06e6274 and b171752.

📒 Files selected for processing (6)
  • apps/server/src/auth/RpcAuthorization.test.ts
  • apps/server/src/auth/RpcAuthorization.ts
  • apps/server/src/telemetry/FeatureUsage.test.ts
  • apps/server/src/telemetry/FeatureUsage.ts
  • apps/server/src/ws.ts
  • docs/internals/product-analytics.md

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

📝 Walkthrough

The server classifies selected WebSocket RPC requests as feature usage. After an authorized request succeeds, the server records classified usage with the connecting client’s surface when available. Tests cover classification and callback behavior.

Changes: Feature Usage Analytics

Layer / File(s) Summary
Feature classification
apps/server/src/telemetry/FeatureUsage.ts, apps/server/src/telemetry/FeatureUsage.test.ts
Adds mappings for selected commands and RPCs. Variants use selected string values, and untracked requests return undefined. Tests cover tracked features, variants, and excluded payloads.
Post-success authorization callback
apps/server/src/auth/RpcAuthorization.ts, apps/server/src/auth/RpcAuthorization.test.ts
Adds an optional callback that receives the method and payload after an authorized request succeeds. Tests confirm that a request rejected for insufficient scope is not recorded.
WebSocket analytics recording
apps/server/src/ws.ts, docs/internals/product-analytics.md
Connects the callback to feature classification and feature.used recording. Documents when usage is recorded and which data is included.

Priority: ➖ Normal

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

Change: Feature

Sequence Diagram(s)

sequenceDiagram
  participant WebSocketRpcRoute
  participant rpcScopeAuthorizationLayer
  participant featureUsage
  participant FeatureUsedRecorder
  WebSocketRpcRoute->>rpcScopeAuthorizationLayer: Pass RPC method and payload
  rpcScopeAuthorizationLayer->>rpcScopeAuthorizationLayer: Authorize and run request
  rpcScopeAuthorizationLayer->>featureUsage: Classify successful request
  featureUsage-->>rpcScopeAuthorizationLayer: Return feature data or undefined
  rpcScopeAuthorizationLayer->>FeatureUsedRecorder: Record feature.used when classified
Loading

Suggested reviewers: t3dotgg

Merge Risk: ⚪ Minimal · up to b1717

No actionable issue is established for this change. Stream completion timing remains unverified.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Description check Warning The description clearly explains the problem, implementation, scope, privacy limits, and verification. It does not include the required scope and approval information, such as a triaged issue or expli… Add a link to the triaged issue or approval discussion with the explicit maintainer approval comment. If no prior approval is required, explain why this focused change qualifies for an exemption. Add the focused test commands and their obse…
Passed Passed checks: 4 passed
Check name Status Explanation
Docstring Coverage Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 5 files. (1 skipped: 1 …
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Title check Passed The title clearly and concisely describes the main change: adding server-side product feature usage counting.
Full details: Docstring Coverage

Explanation

Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 5 files. (1 skipped: 1 unsupported.)

Full details: Description check

Explanation

The description clearly explains the problem, implementation, scope, privacy limits, and verification. It does not include the required scope and approval information, such as a triaged issue or explicit maintainer approval, and it does not provide focused test commands with observed results.

Resolution

Add a link to the triaged issue or approval discussion with the explicit maintainer approval comment. If no prior approval is required, explain why this focused change qualifies for an exemption. Add the focused test commands and their observed results, and state any checks that were not run.

  • Fix all pre-merge checks with AI
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • 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.

Records an anonymous feature.used event for allowlisted feature RPCs
and user commands (checkpoint restore, fork, provider switch, terminal,
preview, worktrees, git actions, PR actions, scheduled tasks, ...),
with a closed-enum variant and the client surface. Recorded from the
RPC authorization middleware so no handler changes.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@juliusmarminge
juliusmarminge force-pushed the t3code/feature-usage-analytics branch from b171752 to f0a7db7 Compare October 19, 2026 01:24
@juliusmarminge
juliusmarminge merged commit 9077e81 into main Oct 19, 2026
29 of 30 checks passed
@juliusmarminge
juliusmarminge deleted the t3code/feature-usage-analytics branch October 19, 2026 01:27
aorwall added a commit to aorwall/t3code that referenced this pull request Oct 19, 2026
Merges `pingdotgg/t3code` up to `ab6be13d43`, from base `5c5dcbc60b`:
589 commits. Branched from `main` (`7e132898fa`), with no other merge PR
open.

Most of the range is the rest of upstream's move to the React Compiler,
plus its apps/web DOM tests moving to vitest browser mode
(`*.browser.test.tsx`, run in real Chromium). Upstream removed jsdom and
`react-test-renderer`.

## How the conflicts were resolved

All 27 conflicted files were resolved by the verdict `preflight.mjs`
printed for each. The tracker entry in `docs/fork/upstream-merge-log.md`
has the details.

**Tests**
- Seven upstream tests became browser tests. The fork's mocks were
re-ported into the new files, and the inventory was re-pointed at them.
- The fork's framed-preview tests moved to the fork-only
`PreviewView.frame.browser.test.tsx`. A browser-mode mock binds its
exports once, at load, so one file can't run both with and without the
desktop bridge.
- Three fork-only tests (ThreadForkDialog, MoatlessArtifactChip,
MobileSidebarDrawer) depended on `react-test-renderer` and on test
helpers upstream deleted. They are rewritten as browser tests.

**ChatView**
- Upstream moved the rewind dialog into `chat/ChatOverlayHosts.tsx`, and
the `checkpointFileRestore` gate moved with it.
- The ThreadDetailsPanel script props were re-applied in upstream's
inline JSX.

**Lockfile and package.json**
- `pnpm-lock.yaml` was re-derived with `install.mjs`.
- `apps/web/package.json` keeps the `moatless-api` workspace link and
the `tsc --noEmit` typecheck script.

**Converged**
- Upstream now renders Mermaid itself (`chat/MermaidDiagram.tsx`). The
fork's `fork/mermaidDiagram*` files, their inventory entries and the
Mermaid Diagram Delta section are deleted.

**Fixed along the way**
- The provider list's own "Add provider" button had no gate, on `main`
too. It is now behind `providerConfiguration`, like the title button.
- Upstream's React Compiler lint rules flagged 64 errors in fork-owned
files, and the compiler-coverage test found 2 bailouts (`finally` inside
a hook). All are fixed.
  - Most were `useMemo`/`useCallback` removals.
- The only behaviour change: sandbox "elapsed" times are now measured
from the status query's `dataUpdatedAt` instead of a `Date.now()` read
during render.

## Verification

`verify.mjs --sequential`: duplicate-adds, tripwires, resolution-check,
unsupported-methods (ADD 0 / DROP 0 / KEEP 2), lockfile, fmt, lint,
typecheck and build are all green.

The `test` step is red only on the five files that failed alone on
2026-10-17 too, on the same machine-only causes:
- `shared` `AgentScope`
- `ssh` `tunnel`
- `provider-opencode` `OpenCodeServerLedger`
- `t3` `AcpAdapterV2`
- `t3` `OrchestratorReplayFixtures`

`@t3tools/web` failed in the full run, and re-ran green after the fixes:
565 files, 8497 tests. The failure that wasn't a compiler bailout,
`WorkflowOpeningBlock.browser.test.tsx`, is upstream's file unchanged,
and it passed alone.

## Feature classification

### Usable as-is
- **Reasoning-effort stepping**: new `composer.increaseEffort` and
`composer.decreaseEffort` commands. They have no default binding, and
keybinding editing stays behind `serverAdministration`.
- **Transcript and markdown fixes**:
  - Windows paths and terminal links (pingdotgg#21069, pingdotgg#21199, pingdotgg#19627)
  - Math in Mermaid diagrams (pingdotgg#16198)
  - Code-block highlight jump (pingdotgg#20923)
  - Copied task lists (pingdotgg#14778)
  - Table expand button (pingdotgg#19782)
- **Message-list fixes**:
  - Huge-thread scroll loop (pingdotgg#21269)
  - Answered questions stay visible (pingdotgg#21086)
  - "Failed" status for failed runs (pingdotgg#20996)
  - Resumed-subagent rows (pingdotgg#18099)
  - Background-agent count (pingdotgg#20785)
  - A single completion sound (pingdotgg#17540)
- **Composer fixes**:
  - Spacing and centring (pingdotgg#21345, pingdotgg#12952, pingdotgg#17820, pingdotgg#21241)
  - Quotes (pingdotgg#20350, pingdotgg#19450)
  - Send shortcut on follow-ups (pingdotgg#20929)
  - `/tmp/x` no longer opens the slash menu (pingdotgg#19671)
  - Failed attachments don't block send (pingdotgg#20737)
  - HEIC attachments (pingdotgg#10429)
  - Long approval commands wrap (pingdotgg#17802)
  - Android Backspace (pingdotgg#18063)
- **Thread drag and drop into chat** (pingdotgg#19697, pingdotgg#20024).
- **Diff, file and pull request panel fixes**: pingdotgg#20297, pingdotgg#20333, pingdotgg#19089,
pingdotgg#18288, pingdotgg#17132, pingdotgg#21048, pingdotgg#17554, pingdotgg#19945, pingdotgg#15341, pingdotgg#21245, pingdotgg#21147.
- **Sidebar and breadcrumb fixes**: middle truncation (pingdotgg#18858, pingdotgg#17208),
"No project" scratch breadcrumb (pingdotgg#19721), and snoozed threads waking in
an open chat (pingdotgg#21019).
- **Settings and miscellaneous UI fixes**:
  - Model picker lists every custom model (pingdotgg#14961)
  - Font picker (pingdotgg#9814)
  - Settings search highlight (pingdotgg#20764)
  - Usage popover (pingdotgg#19808, pingdotgg#16936)
  - Web app manifest name (pingdotgg#19175)
  - Dark-mode switches (pingdotgg#14984)
- **Phone browser**: tapping away from the model picker no longer
presses what is under it (3f2dbd7).
- **client-runtime**: queries stay pending during a connection hand-off
(pingdotgg#18155), and a dropped session is not shown as a failed connection
(pingdotgg#18469).
- **React Compiler and render-performance work**: about 190 commits.
- **Workflow thread view**: `WorkflowOpeningBlock` shows a workflow's
phases and agents (pingdotgg#20857). It renders only when `workflowScript` is
set, which Moatless never sends; see the backend list.

### Unsupported in Moatless / needs implementation
- **`t3 doctor`, server telemetry and the Node CLI** (pingdotgg#20948, pingdotgg#15028,
pingdotgg#15921, pingdotgg#15913): upstream's server only, with no client surface.
- **SSH device hosts and T3 Connect/relay fixes** (pingdotgg#20377, pingdotgg#17440,
pingdotgg#18832, pingdotgg#19444, pingdotgg#18621, pingdotgg#17743, pingdotgg#18838): behind `FEATURES.connections`
or `FEATURES.deviceHub`.
- **Tailscale HTTPS row** (pingdotgg#21057): behind `FEATURES.connections`.
- **Remote server self-update and how-to-update messages** (pingdotgg#18980,
pingdotgg#18110): behind `FEATURES.serverUpdateBanner`.
- **Masking of secret settings fields** (pingdotgg#20446): the form is behind
`FEATURES.providerConfiguration`, because Moatless does not dispatch
`server.updateSettings`.
- **Desktop updater, desktop preview and local-machine fixes** (pingdotgg#21210,
pingdotgg#20994, pingdotgg#16026, pingdotgg#18549, pingdotgg#19846, pingdotgg#20206, pingdotgg#20277): desktop bridge only, or
behind `FEATURES.openInEditor`.

### Backend behavior to consider reproducing in Moatless
Added to [gaps: runtime
fixes](docs/fork/gaps.md#runtime-fixes-upstream-made-to-its-own-server).
- **`workflowScript: true` on a conversation message whose body is a
provider-native workflow script.** Without it the timeline shows the raw
script.
- **`endedWatch` on an ended pull request watch**, so watching again
doesn't repeat news the thread already got (pingdotgg#21155).
- **`pullRequests` on orchestrator MCP thread list and read results**
(pingdotgg#17454). Related: `t3_thread_send` now says why a message was refused
(pingdotgg#21027).
- **`vcs.createWorktree` always sends `path: null`** and expects the
server to place the worktree. Moatless doesn't dispatch this method; it
is under `projectManagement`.
- **Run lifecycle**:
  - Refuse `thread.create` for an id that already exists (pingdotgg#19704).
  - Cancel a preparing run on archive (pingdotgg#20073).
  - A parent Stop clears orphaned delegated follow-ups (pingdotgg#20310).
  - Queued messages land in order after a resume (pingdotgg#17773).
- **Workflow members stream thinking and tool calls into their own
threads** (pingdotgg#20786).
- **Pull request link handling**: canonicalise legacy links (pingdotgg#19129),
don't inherit watches into forks (pingdotgg#16623), and settle threads after
their pull request merges (pingdotgg#18232, pingdotgg#19937).

No new RPC methods. `vcs.createWorktree` is the only change to `rpc.ts`.

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

---
Moatless task:
https://moatless.soaplabstest.com/tasks/5bcfa708-8eac-41b0-a580-c885a620afb5
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Oct 19, 2026
## What's Changed
* fix(mobile): sheets close with an X and confirm with a checkmark by @juliusmarminge in pingdotgg/t3code#21319
* fix(tailscale): a slow tailscale status no longer hides Tailscale in Settings by @SunkenInTime in pingdotgg/t3code#21057
* chore(deps): web and mobile share React 19.3 from the catalog by @juliusmarminge in pingdotgg/t3code#21376
* fix(server): migrate legacy thread pull request links by @Yash-Singh1 in pingdotgg/t3code#19129
* fix(server): a failed Codex turn no longer traps the queue behind its subagents by @juliusmarminge in pingdotgg/t3code#21366
* feat(server): count which product features people use by @juliusmarminge in pingdotgg/t3code#15921
* feat(server): count which T3 MCP tools agents use by @juliusmarminge in pingdotgg/t3code#15913
* perf(web): HTML renders drop the loading skeleton by @maria-rcks in pingdotgg/t3code#21480
* fix(mobile): sent steer and queued messages are marked like desktop by @flamboh in pingdotgg/t3code#21417
* fix(server): keep queued subagent status in sync by @Yash-Singh1 in pingdotgg/t3code#21487
* perf(web): virtualize large changed-file trees by @Yash-Singh1 in pingdotgg/t3code#21482
* fix(pull-requests): distinguish skipped checks with a slash icon by @Yash-Singh1 in pingdotgg/t3code#21498
* fix(mobile): crash report shows the store build number by @mohamed-akef in pingdotgg/t3code#16052
* fix(files): load PDFs in browser previews by @Yash-Singh1 in pingdotgg/t3code#21095
* fix(server): device-host SSH tunnels exit when the server dies by @kcazin in pingdotgg/t3code#17448
* fix(web): Open in → Finder in the file preview opened the file in its default app instead of revealing it by @jamesvillarrubia in pingdotgg/t3code#16955
* fix(web): project actions no longer reuse the right-panel terminal by @TonybynMp4 in pingdotgg/t3code#18340
* fix(web): the device screen keeps focus when typing or returning to the window by @haydenkz in pingdotgg/t3code#14534
* fix(server): keep browser input responsive during slow navigation by @josephv123 in pingdotgg/t3code#16691
* fix(grok): a Homebrew-installed Grok updates through brew and is compared against the cask by @Mnigos in pingdotgg/t3code#18772
* fix(antigravity): read usage from each instance data directory by @fixfon in pingdotgg/t3code#17769
* fix(server): reconnecting no longer reopens a closed terminal by @Gigioxx in pingdotgg/t3code#18444
* fix(shared): preview addresses containing another URL open instead of searching by @maxwellyoung in pingdotgg/t3code#17943
* fix(server): ACP Registry loads on networks with slow IPv4 connects by @Gigioxx in pingdotgg/t3code#15054
* fix(preview): keep desktop-rendered tabs out of idle cleanup by @TDanks2000 in pingdotgg/t3code#18147
* fix(server): auto-delivered messages queue between provider turns by @Gigioxx in pingdotgg/t3code#15691
* fix(server): OpenCode 2 threads keep T3's tools after an idle project is evicted by @voltcrash in pingdotgg/t3code#16796
* fix(server): install the advertised version for pnpm-global provider updates by @RaphaelFakhri in pingdotgg/t3code#14295
* fix(web): ignore right-clicks in the flat Device viewport by @samaluk in pingdotgg/t3code#17020
* fix(web): "No project" picker shows its full label on the new-thread screen by @flamboh in pingdotgg/t3code#21504
* fix(web): up-arrow recall skips automation and agent messages by @maria-rcks in pingdotgg/t3code#21510
* fix(desktop): reattach a browser tab whose debugger Chromium dropped by @tobymarks in pingdotgg/t3code#17525
* fix(web): Integrations settings show one Browser section, not two by @RakshithBhat03 in pingdotgg/t3code#18264
* fix(web): hide the empty reset badge on unstarted limit windows by @akash3444 in pingdotgg/t3code#18579
* fix(cli): browser setup installs missing fonts by @adrilasar in pingdotgg/t3code#17570
* fix(web,mobile): queued messages no longer say "From queue" once sent by @flamboh in pingdotgg/t3code#21474
* fix(web): refresh embedded assets in markdown file previews by @Saikrishna1876 in pingdotgg/t3code#18647
* fix(web,mobile): keep reporting client activity after an interrupted report by @skyhong2002 in pingdotgg/t3code#15738
* fix(web): paste terminal text once and clear the shortcut on release by @t3dotgg in pingdotgg/t3code#19366
* fix(server): fall back when checkpoint fsync is unsupported by @mdshzb04 in pingdotgg/t3code#14411
* fix(preview): browser tabs no longer go blank when the tab list reorders by @mkiera in pingdotgg/t3code#13799
* fix(server): terminals no longer inherit the launching tmux session by @UzEE in pingdotgg/t3code#13359

## New Contributors
* @mohamed-akef made their first contribution in pingdotgg/t3code#16052
* @haydenkz made their first contribution in pingdotgg/t3code#14534
* @RaphaelFakhri made their first contribution in pingdotgg/t3code#14295
* @samaluk made their first contribution in pingdotgg/t3code#17020
* @tobymarks made their first contribution in pingdotgg/t3code#17525
* @adrilasar made their first contribution in pingdotgg/t3code#17570
* @skyhong2002 made their first contribution in pingdotgg/t3code#15738
* @mkiera made their first contribution in pingdotgg/t3code#13799

**Full Changelog**: pingdotgg/t3code@v0.1.1-nightly.20261018.3335...v0.1.1-nightly.20261019.3348

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.1.1-nightly.20261019.3348
github-actions Bot added a commit to davidvanderklay/t3code-flake that referenced this pull request Oct 19, 2026
## What's Changed
* fix(mobile): sheets close with an X and confirm with a checkmark by @juliusmarminge in pingdotgg/t3code#21319
* fix(tailscale): a slow tailscale status no longer hides Tailscale in Settings by @SunkenInTime in pingdotgg/t3code#21057
* chore(deps): web and mobile share React 19.3 from the catalog by @juliusmarminge in pingdotgg/t3code#21376
* fix(server): migrate legacy thread pull request links by @Yash-Singh1 in pingdotgg/t3code#19129
* fix(server): a failed Codex turn no longer traps the queue behind its subagents by @juliusmarminge in pingdotgg/t3code#21366
* feat(server): count which product features people use by @juliusmarminge in pingdotgg/t3code#15921
* feat(server): count which T3 MCP tools agents use by @juliusmarminge in pingdotgg/t3code#15913
* perf(web): HTML renders drop the loading skeleton by @maria-rcks in pingdotgg/t3code#21480
* fix(mobile): sent steer and queued messages are marked like desktop by @flamboh in pingdotgg/t3code#21417
* fix(server): keep queued subagent status in sync by @Yash-Singh1 in pingdotgg/t3code#21487
* perf(web): virtualize large changed-file trees by @Yash-Singh1 in pingdotgg/t3code#21482
* fix(pull-requests): distinguish skipped checks with a slash icon by @Yash-Singh1 in pingdotgg/t3code#21498
* fix(mobile): crash report shows the store build number by @mohamed-akef in pingdotgg/t3code#16052
* fix(files): load PDFs in browser previews by @Yash-Singh1 in pingdotgg/t3code#21095
* fix(server): device-host SSH tunnels exit when the server dies by @kcazin in pingdotgg/t3code#17448
* fix(web): Open in → Finder in the file preview opened the file in its default app instead of revealing it by @jamesvillarrubia in pingdotgg/t3code#16955
* fix(web): project actions no longer reuse the right-panel terminal by @TonybynMp4 in pingdotgg/t3code#18340
* fix(web): the device screen keeps focus when typing or returning to the window by @haydenkz in pingdotgg/t3code#14534
* fix(server): keep browser input responsive during slow navigation by @josephv123 in pingdotgg/t3code#16691
* fix(grok): a Homebrew-installed Grok updates through brew and is compared against the cask by @Mnigos in pingdotgg/t3code#18772
* fix(antigravity): read usage from each instance data directory by @fixfon in pingdotgg/t3code#17769
* fix(server): reconnecting no longer reopens a closed terminal by @Gigioxx in pingdotgg/t3code#18444
* fix(shared): preview addresses containing another URL open instead of searching by @maxwellyoung in pingdotgg/t3code#17943
* fix(server): ACP Registry loads on networks with slow IPv4 connects by @Gigioxx in pingdotgg/t3code#15054
* fix(preview): keep desktop-rendered tabs out of idle cleanup by @TDanks2000 in pingdotgg/t3code#18147
* fix(server): auto-delivered messages queue between provider turns by @Gigioxx in pingdotgg/t3code#15691
* fix(server): OpenCode 2 threads keep T3's tools after an idle project is evicted by @voltcrash in pingdotgg/t3code#16796
* fix(server): install the advertised version for pnpm-global provider updates by @RaphaelFakhri in pingdotgg/t3code#14295
* fix(web): ignore right-clicks in the flat Device viewport by @samaluk in pingdotgg/t3code#17020
* fix(web): "No project" picker shows its full label on the new-thread screen by @flamboh in pingdotgg/t3code#21504
* fix(web): up-arrow recall skips automation and agent messages by @maria-rcks in pingdotgg/t3code#21510
* fix(desktop): reattach a browser tab whose debugger Chromium dropped by @tobymarks in pingdotgg/t3code#17525
* fix(web): Integrations settings show one Browser section, not two by @RakshithBhat03 in pingdotgg/t3code#18264
* fix(web): hide the empty reset badge on unstarted limit windows by @akash3444 in pingdotgg/t3code#18579
* fix(cli): browser setup installs missing fonts by @adrilasar in pingdotgg/t3code#17570
* fix(web,mobile): queued messages no longer say "From queue" once sent by @flamboh in pingdotgg/t3code#21474
* fix(web): refresh embedded assets in markdown file previews by @Saikrishna1876 in pingdotgg/t3code#18647
* fix(web,mobile): keep reporting client activity after an interrupted report by @skyhong2002 in pingdotgg/t3code#15738
* fix(web): paste terminal text once and clear the shortcut on release by @t3dotgg in pingdotgg/t3code#19366
* fix(server): fall back when checkpoint fsync is unsupported by @mdshzb04 in pingdotgg/t3code#14411
* fix(preview): browser tabs no longer go blank when the tab list reorders by @mkiera in pingdotgg/t3code#13799
* fix(server): terminals no longer inherit the launching tmux session by @UzEE in pingdotgg/t3code#13359

## New Contributors
* @mohamed-akef made their first contribution in pingdotgg/t3code#16052
* @haydenkz made their first contribution in pingdotgg/t3code#14534
* @RaphaelFakhri made their first contribution in pingdotgg/t3code#14295
* @samaluk made their first contribution in pingdotgg/t3code#17020
* @tobymarks made their first contribution in pingdotgg/t3code#17525
* @adrilasar made their first contribution in pingdotgg/t3code#17570
* @skyhong2002 made their first contribution in pingdotgg/t3code#15738
* @mkiera made their first contribution in pingdotgg/t3code#13799

**Full Changelog**: pingdotgg/t3code@v0.1.1-nightly.20261018.3335...v0.1.1-nightly.20261019.3348

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.1.1-nightly.20261019.3348
joaoheusi added a commit to joaoheusi/t3code that referenced this pull request Oct 19, 2026
* fix(acp): request ids stay within signed 32-bit so Kotlin agents answer (pingdotgg#15374)

* fix(antigravity): keep the runtime version learned from ACP (pingdotgg#20980)

Co-authored-by: Paul <paul@local>

* perf(mobile): clean Android builds keep their Gradle and native caches (pingdotgg#20069)

Co-authored-by: Aaron Queen <bompus@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(server): clear automatic PRs from other branches (pingdotgg#20223)

* fix(server): Bitbucket threads settle after their pull request merges (pingdotgg#19937)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(server): a steered send no longer leaves a subagent task running (pingdotgg#19019)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(opencode): retry shared database locks during startup (pingdotgg#17922)

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>

* fix(server): threads no longer settle after merging PRs they were asked to merge (pingdotgg#18232)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(server): held assistant drafts keep their position when flushed at turn end (pingdotgg#19023)

* fix(ssh): keep draining tunnel diagnostics after readiness (pingdotgg#18832)

Co-authored-by: SAPHID <saphid@users.noreply.github.com>
Co-authored-by: GPT-6.1 Sol <noreply@openai.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(web): threads finishing together play one completion sound (pingdotgg#17540)

* fix(mobile): a failed draft save no longer blocks sending an uploaded attachment (pingdotgg#21101)

Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Tejas Rahane <17571323+trahane@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(web): move keyboard interaction out of the closing right panel (pingdotgg#14786)

Co-authored-by: SAPHID <saphid@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(web): show math labels in Mermaid diagrams (pingdotgg#16198)

* fix(web): device tool update failures show the server error, not network advice (pingdotgg#17569)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(web): prevent provider wizard footer overlap while loading (pingdotgg#18609)

* fix(mobile): Live Activities keep updating after iOS rotates their push token (pingdotgg#21134)

Co-authored-by: Aidid Haiqal <syafdo02@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(mobile): keep composer within folded screen without leaving the thread (pingdotgg#18574)

* fix(server): a branch on the only remote is not a fork when there is no origin (pingdotgg#20412)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(mobile): Android PR filter chips no longer crowd the sheet corner (pingdotgg#20889)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(web): refresh stale desktop endpoints when Connections reopens (pingdotgg#16026)

Co-authored-by: Arthur Katcher <192321283+arthurkatcher@users.noreply.github.com>

* fix(shared): preserve escaped quotes in launch arguments (pingdotgg#19525)

Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com>

* fix(server): preserve explicit effort for unknown Claude models (pingdotgg#20849)

* fix(web): show No project in scratch thread breadcrumbs (pingdotgg#19721)

* fix(web): keep collapsed diff file headers reachable (pingdotgg#20333)

* fix(mobile): Chinese input no longer breaks before a skill pill on iOS (pingdotgg#17614)

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>

* fix(mobile): resize quota bars when filtering environments (pingdotgg#19031)

* fix(web): center composer control labels with their icons (pingdotgg#21241)

* fix(server): warn when connect unlink leaves the relay record (pingdotgg#17743)

Co-authored-by: macodev00 <macodev00@users.noreply.github.com>

* fix(mobile): sheet action buttons text alignment (pingdotgg#11260)

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(shared): match Windows home paths case-insensitively in file links (pingdotgg#19627)

Co-authored-by: hogeheer499-commits <267467744+hogeheer499-commits@users.noreply.github.com>

* fix(server): t3_preview_close reports the server browser's refusal (pingdotgg#17429)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(desktop): reload the main renderer after it is killed (pingdotgg#20300)

* fix(mobile): preserve line counts for withheld pull request hunks (pingdotgg#18836)

Co-authored-by: SAPHID <saphid@users.noreply.github.com>
Co-authored-by: GPT-6.1 Sol <noreply@openai.com>

* fix(server): SSH device-host tunnels no longer inherit ControlMaster (pingdotgg#17440)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(provider-acp): stop claiming agents' own tools named like T3 tools (pingdotgg#20376)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(client-runtime): a dropped session no longer reads as a failed connection (pingdotgg#18469)

* fix(server): slow OpenCode wrappers no longer show as unavailable (pingdotgg#16544)

* fix(web): let keyboard users reach why reviewer/label changes are unavailable (pingdotgg#14785)

Co-authored-by: SAPHID <saphid@users.noreply.github.com>

* fix(server): desktop backend now exits when its launcher dies (pingdotgg#20277)

* fix(composer): paths such as /tmp/build.sh no longer open the slash menu (pingdotgg#19671)

* fix(mobile): preserve server matches in file search (pingdotgg#18388)

Co-authored-by: SAPHID <saphid@users.noreply.github.com>
Co-authored-by: GPT-6.1 Sol <noreply@openai.com>

* fix(server): refresh local status after an automatic pull fails (pingdotgg#19686)

Co-authored-by: GPT-6.1-Sol at high effort <noreply@openai.com>

* fix(grok): preserve native question multi-select (pingdotgg#20881)

Co-authored-by: GPT-6.1 Sol <noreply@openai.com>

* perf(web): sidebar working timers share one clock (pingdotgg#21195)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(scripts): leave type-only packages out of third-party notices (pingdotgg#14627)

* fix(web): handle Backspace when Android omits the key code (pingdotgg#18063)

* fix(server): allow restarts when a stale runtime record matches the server pid (pingdotgg#20336)

* fix(desktop): ignore snapshot shortcut repeats during flight (pingdotgg#11037)

* fix(client-runtime): queries stay pending while a connection hands off (pingdotgg#18155)

* fix(server): Muse turns stopped by the subscription quota are Limited, not failed (pingdotgg#18266)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(server): load merge request diffs on older GitLab (pingdotgg#15886)

* fix(server): take a delegated task's result from its newest turn item (pingdotgg#19058)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(server): logs print causes instead of [Object] (pingdotgg#16642)

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

* fix(web): keep font picker keyboard selection in sync (pingdotgg#9814)

* fix(mobile): prevent environment row taps from swallowing switches (pingdotgg#17677)

* fix(web): new project options scroll above the footer (pingdotgg#17064)

* fix(server): stop retrying saved checkpoints after refresh failures (pingdotgg#20195)

* fix(server): MCP thread reads skip the item scan they filter to nothing (pingdotgg#17038)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(web): copied task lists keep their nested items and code blocks (pingdotgg#14778)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(server): t3 run from a T3 terminal no longer trips on the service's launcher context (pingdotgg#14263)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(server): keep a remote server update running when the client disconnects (pingdotgg#18980)

Co-authored-by: macodev00 <273427913+macodev00@users.noreply.github.com>
Co-authored-by: maco <macodev00@users.noreply.github.com>

* fix(relay): resolve cloudflared using the hydrated PATH (pingdotgg#19444)

* fix(mobile): branch naming text saves when you leave the screen (pingdotgg#18381)

Co-authored-by: Claude <noreply@anthropic.com>

* fix(web): custom model price cells take only numbers (pingdotgg#19245)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(web): standalone auth pages scroll when the card is taller than the window (pingdotgg#19603)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(server): discover Claude skills from add-dir launch args (pingdotgg#20167)

* fix(mobile): show assistant quotes as text in the queue sheet (pingdotgg#19007)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* perf(server): OpenCode 2 stops writing unchanged session status updates (pingdotgg#16775)

* fix(web): give archive actions more icon spacing (pingdotgg#19769)

* fix(server): checkpoints no longer expire a split index the repo still uses (pingdotgg#17074)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(web): usage limit recovery errors no longer crush the composer banner (pingdotgg#17457)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(desktop): local desktop builds no longer crash when a GitHub token is in the shell (pingdotgg#19277)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(mobile): keep PR activity in place during pull-to-refresh (pingdotgg#20196)

* fix(web): a resumed subagent's notification row shows it running, not failed (pingdotgg#18099)

Co-authored-by: TinBane <363069+TinBane@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(preview): isolate tabs for threads sharing a provider session (pingdotgg#18146)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(mobile): Android sheets scroll to the end and keep their buttons on screen (pingdotgg#20284)

Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(shared): choose duration unit after rounding seconds (pingdotgg#20299)

* fix(mobile): the status pill label no longer flickers when it is truncated (pingdotgg#20724)

* fix(mobile): remove orphaned temp files after atomic write failures (pingdotgg#20736)

* fix(mcp): optional tool parameters accept the null their schema advertises (pingdotgg#20411)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix: database errors show actionable recovery guidance (pingdotgg#20748)

Co-authored-by: SAPHID <saphid@users.noreply.github.com>

* fix(web): stored pull request details keep only the 20 most recent (pingdotgg#21245)

* fix(server): publishing explains why the first push failed (pingdotgg#19219)

* fix(server): the V1 transcript import no longer stalls on each thread's V1 events (pingdotgg#21050)

* fix(web): a comment under a composer quote no longer joins the quote (pingdotgg#19450)

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>

* fix(usage): a CLIProxyAPI hub served under a path keeps its path (pingdotgg#19336)

* fix(server): agent-driven threads keep their recent rows when checkpoint data is large (pingdotgg#21187)

* fix(server): reverting a Claude thread to a subagent-only turn no longer breaks it (pingdotgg#21151)

* fix(server): forks no longer inherit pull request watches (pingdotgg#16623)

* fix(web): keep answered questions visible after a turn settles (pingdotgg#21086)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(server): keep scheduled-task intervals on elapsed time across DST (pingdotgg#15768)

Co-authored-by: Sayf Fadil <313136901+Sypher760-gif@users.noreply.github.com>

* fix(source-control): compare check run timestamps by instant (pingdotgg#20094)

Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com>

* fix(web): the Diff tab keeps its scope when you switch tabs (pingdotgg#20297)

* fix(provider-core): stop false updates for versionless casks (pingdotgg#20386)

* fix(server): honor configured remote diff bases (pingdotgg#16453)

* fix(client-runtime): Update clears the block on a host that is already compatible (pingdotgg#18563)

Signed-off-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com>
Co-authored-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com>

* fix(provider-cursor): a symlinked skills root is no longer scanned twice (pingdotgg#18664)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(server): a disabled bootstrap provider no longer stops startup (pingdotgg#20035)

* fix(server): watching a pull request again no longer repeats news the thread already got (pingdotgg#21155)

Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(server): tell users how to update an install T3 cannot update (pingdotgg#18110)

* fix(server): disabled providers no longer report missing executables (pingdotgg#18109)

* fix(server): keep workspace skills when provider health fails (pingdotgg#18309)

* fix(desktop): keypad shortcuts and Ctrl+wheel zoom the app (pingdotgg#21200)

Co-authored-by: Mnigos <56691628+Mnigos@users.noreply.github.com>

* fix(server): setup actions no longer run for threads in the main checkout (pingdotgg#18891)

* fix(web): thread drops land in the visible thread's draft (pingdotgg#20024)

Co-authored-by: Sinan <sinan@Mac-mini-von-Sinan.local>
Co-authored-by: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* fix(server): failed Cursor turns show Cursor's reason (pingdotgg#16146)

* fix(web): honor the send shortcut for follow-up actions (pingdotgg#20929)

* fix(web): image viewer close button stays clear of the window controls (pingdotgg#13919)

* fix(server): parent Stop clears orphaned delegated follow-ups (pingdotgg#20310)

* fix(opencode): OpenCode servers stop with a killed server on Windows (pingdotgg#21103)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* test(web): preview session sync and device tool update tests run in a real browser (pingdotgg#21274)

* fix(web): recognize Windows terminal file links (pingdotgg#21199)

* fix(shared): Windows saves no longer fail while a scanner holds the file (pingdotgg#21062)

Co-authored-by: yaacovcorcos <190350601+yaacovcorcos@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(server): recover after Claude capability probe failures (pingdotgg#21042)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(browser): preserve native file pickers in desktop previews (pingdotgg#20994)

* fix(provider-core): pnpm-global updates approve the provider's build (pingdotgg#20796)

* fix(server): usage-limit sweep stops scanning every run each tick (pingdotgg#21191)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(provider-grok): report model windows for handoff budgets (pingdotgg#20180)

* fix(server): cancel preparing runs when archiving threads (pingdotgg#20073)

* fix(desktop): a failed macOS test capture no longer blames the GNOME extension (pingdotgg#18857)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(web): scrolling a huge thread's history no longer loops the message list (pingdotgg#21269)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(web): keep compressed image chips in their original draft (pingdotgg#18393)

Co-authored-by: SAPHID <saphid@users.noreply.github.com>
Co-authored-by: GPT-6.1 Sol <noreply@openai.com>

* fix(server): a Limits hub failure names its TLS, HTTP, or timeout cause (pingdotgg#18168)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(server): Claude wake runs no longer end empty while Claude is still answering (pingdotgg#15816)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(web): Compose input no longer adds stray quotes (pingdotgg#20350)

* fix(forgejo): wake PR watches for edited comments (pingdotgg#18120)

Signed-off-by: Marc Went <marc@went.io>

* fix(mobile): avoid nested dropdowns for single tools (pingdotgg#15674)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(server): apps opened from T3 Code no longer inherit ELECTRON_RUN_AS_NODE (pingdotgg#20206)

* fix(web): show an empty result when file search finds no matches (pingdotgg#17132)

* fix(azure-devops): expose the latest source revision for review guides (pingdotgg#20977)

* fix(server): read Claude context usage from stream message deltas (pingdotgg#19416)

* fix(server): stop the branch rename before cancelling worktree setup (pingdotgg#18443)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: SAPHID <saphid@users.noreply.github.com>

* fix(server): find existing PR worktrees beyond the first branch page (pingdotgg#18407)

Co-authored-by: SAPHID <saphid@users.noreply.github.com>
Co-authored-by: GPT-6.1 Sol <noreply@openai.com>

* fix(mobile): keep chat images visible when opening the viewer (pingdotgg#20188)

* fix(web): restore palette focus when no composer is mounted (pingdotgg#18850)

Co-authored-by: SAPHID <saphid@users.noreply.github.com>
Co-authored-by: GPT-6.1 Sol <noreply@openai.com>

* fix(desktop): unregistering a WSL backend now stops its supervisor (pingdotgg#18575)

Signed-off-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com>
Co-authored-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com>

* fix(web,mobile): limit bars use each provider's chart color (pingdotgg#16936)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(desktop): exclude unrelated VPN addresses from Tailscale pairing (pingdotgg#15753)

Co-authored-by: Arthur Katcher <192321283+arthurkatcher@users.noreply.github.com>

* fix(server): re-snoozing a woken thread to the same wake time hides it again (pingdotgg#14887)

* fix(server): t3_thread_send reports why the orchestrator refused a message (pingdotgg#21027)

Co-authored-by: dan <dan@bw-hq-linuxws01.bellwetherit.com>

* fix(web): render stored HEIC attachments (pingdotgg#10429)

* fix(web): truncate draft project names in the middle (pingdotgg#18858)

Co-authored-by: bentbrain <28818884+bentbrain@users.noreply.github.com>

* fix(server): report missing Node on SSH device hosts instead of a connection failure (pingdotgg#20377)

* fix(server): preserve unrelated branch upstreams when opening fork PRs (pingdotgg#18413)

Co-authored-by: SAPHID <saphid@users.noreply.github.com>
Co-authored-by: GPT-6.1 Sol <noreply@openai.com>

* fix(server): a Claude hook that drops a prompt now shows its reason (pingdotgg#21231)

* fix(mobile): iOS builds on Xcode 27.0 no longer fail on 27.1-only hinge APIs (pingdotgg#18913)

Co-authored-by: Jeremiah Jordan <zanson@zanson.org>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(server): ACP agents that need no sign-in drop models they stopped advertising (pingdotgg#18807)

* fix(source-control): fix watch failures on large forgejo PRs (pingdotgg#18432)

* fix(server): explain root browser launch failures instead of pointing to setup (pingdotgg#19846)

* fix(server): reject thread.create for an existing id (pingdotgg#19704)

* fix(server): MCP thread list and read report every linked pull request (pingdotgg#17454)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(markdown): Windows paths in messages keep their backslashes (pingdotgg#21069)

Co-authored-by: OhadC <4123639+OhadC@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* chore(lint): reject use* functions that call no hooks (pingdotgg#21260)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(server): replace Claude sessions that never saved a message (pingdotgg#19637)

* fix(web): terminal drawer covers the turn minimap (pingdotgg#14383)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(server): Claude subagents keep their model after a usage-limit notice (pingdotgg#17097)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(web): collapsed composer centers drafts that start with a list (pingdotgg#17820)

Co-authored-by: Claude <noreply@anthropic.com>

* fix(server): a full Claude context window no longer shows as a usage limit (pingdotgg#19848)

* perf(server): skip unused diffs for user-written commit messages (pingdotgg#19605)

* test(server): drop the duplicate Path import in the Grok adapter test (pingdotgg#21308)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* test(server): a fork that stops its own PR watch keeps it as its ended watch (pingdotgg#21309)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* test(server): wait for a workflow member's late reply to reach the test's event log (pingdotgg#21310)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* test(web): file browser and attachment image tests run in a real browser (pingdotgg#21297)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* test(mobile): branch naming and server controls settings tests load again (pingdotgg#21293)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* test(mobile): a completed render splits the work log into lone-call rows (pingdotgg#21295)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* perf(mobile): settings screens compile with the React Compiler (pingdotgg#21119)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* perf(mobile): files, review and remaining settings screens compile with the React Compiler (pingdotgg#21124)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* perf(mobile): home, workspace layout and overlay pieces compile with the React Compiler (pingdotgg#21133)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* perf(mobile): pull request screens compile with the React Compiler (pingdotgg#21136)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* perf(mobile): composer, connections, add project and shared state compile with the React Compiler (pingdotgg#21137)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* perf(mobile): new task flow, git sheets, thread settings and work log compile with the React Compiler (pingdotgg#21141)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* perf(mobile): thread composer, route screen and queue control compile with the React Compiler (pingdotgg#21142)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* perf(mobile): thread detail screen and navigation sidebar compile with the React Compiler (pingdotgg#21145)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* perf(mobile): thread rows no longer re-render the list when another thread streams (pingdotgg#21255)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* perf(mobile): composer draft no longer re-renders the thread screen when typing (pingdotgg#21261)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* perf(mobile): ThreadFeed compiles with the React Compiler (pingdotgg#21268)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* feat(server): send telemetry through ingest.t3.codes (pingdotgg#15028)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(devices): Android fold controls work over T3 Connect (pingdotgg#21156)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* test(web): burst-merged jsdom tests run in a real browser (pingdotgg#21318)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(web): keep the composer chin below the input (pingdotgg#21345)

* fix(mobile): sheets close with an X and confirm with a checkmark (pingdotgg#21319)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(tailscale): a slow tailscale status no longer hides Tailscale in Settings (pingdotgg#21057)

* chore(deps): web and mobile share React 19.3 from the catalog (pingdotgg#21376)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(server): migrate legacy thread pull request links (pingdotgg#19129)

* fix(server): a failed Codex turn no longer traps the queue behind its subagents (pingdotgg#21366)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* feat(server): count which product features people use (pingdotgg#15921)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* feat(server): count which T3 MCP tools agents use (pingdotgg#15913)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* perf(web): HTML renders drop the loading skeleton (pingdotgg#21480)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(mobile): sent steer and queued messages are marked like desktop (pingdotgg#21417)

* fix(server): keep queued subagent status in sync (pingdotgg#21487)

* perf(web): virtualize large changed-file trees (pingdotgg#21482)

* fix(pull-requests): distinguish skipped checks with a slash icon (pingdotgg#21498)

* fix(mobile): crash report shows the store build number (pingdotgg#16052)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(files): load PDFs in browser previews (pingdotgg#21095)

* fix(server): device-host SSH tunnels exit when the server dies (pingdotgg#17448)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(web): Open in → Finder in the file preview opened the file in its default app instead of revealing it (pingdotgg#16955)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(web): project actions no longer reuse the right-panel terminal (pingdotgg#18340)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(web): the device screen keeps focus when typing or returning to the window (pingdotgg#14534)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(server): keep browser input responsive during slow navigation (pingdotgg#16691)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(grok): a Homebrew-installed Grok updates through brew and is compared against the cask (pingdotgg#18772)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* fix(antigravity): read usage from each instance data directory (pingdotgg#17769)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(server): reconnecting no longer reopens a closed terminal (pingdotgg#18444)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(shared): preview addresses containing another URL open instead of searching (pingdotgg#17943)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(server): ACP Registry loads on networks with slow IPv4 connects (pingdotgg#15054)

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(preview): keep desktop-rendered tabs out of idle cleanup (pingdotgg#18147)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(server): auto-delivered messages queue between provider turns (pingdotgg#15691)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* fix(server): OpenCode 2 threads keep T3's tools after an idle project is evicted (pingdotgg#16796)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(server): install the advertised version for pnpm-global provider updates (pingdotgg#14295)

Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>

* fix(web): ignore right-clicks in the flat Device viewport (pingdotgg#17020)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(web): "No project" picker shows its full label on the new-thread screen (pingdotgg#21504)

* fix(web): up-arrow recall skips automation and agent messages (pingdotgg#21510)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(desktop): reattach a browser tab whose debugger Chromium dropped (pingdotgg#17525)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(web): Integrations settings show one Browser section, not two (pingdotgg#18264)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(web): hide the empty reset badge on unstarted limit windows (pingdotgg#18579)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(cli): browser setup installs missing fonts (pingdotgg#17570)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* fix(web,mobile): queued messages no longer say "From queue" once sent (pingdotgg#21474)

* fix(web): refresh embedded assets in markdown file previews (pingdotgg#18647)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* fix(web,mobile): keep reporting client activity after an interrupted report (pingdotgg#15738)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(web): paste terminal text once and clear the shortcut on release (pingdotgg#19366)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(server): fall back when checkpoint fsync is unsupported (pingdotgg#14411)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(preview): browser tabs no longer go blank when the tab list reorders (pingdotgg#13799)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* fix(server): terminals no longer inherit the launching tmux session (pingdotgg#13359)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(mobile): gallery images shrink back into their thumbnail on close (pingdotgg#21481)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(terminal): keep project script commands out of shell history (pingdotgg#13903)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(shared): port checks no longer fail on hosts with IPv6 disabled (pingdotgg#15044)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(mobile): load iOS device streams over HTTP on Android (pingdotgg#14284)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* fix(web): reveal folded imported responses when opening citations (pingdotgg#18423)

Co-authored-by: GPT-6.1 Sol <noreply@openai.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(usage): show empty sessions when weekly quota is exhausted (pingdotgg#20349)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(web): keep device results in the thread that started them (pingdotgg#16040)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: SAPHID <saphid@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(desktop): built-in browser sites can no longer post notifications without permission (pingdotgg#20237)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* fix(mobile): Browser menu pastes the phone's clipboard into the page (pingdotgg#19648)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(shared): terminal labels after non-BMP letters stay plain text (pingdotgg#19968)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* fix(connect): stop reporting a loading cloud session as a sign-in change (pingdotgg#11013)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* fix(terminal): fish no longer stalls 10s on startup (pingdotgg#19685)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(mobile): Android terminal input no longer triggers password autofill (pingdotgg#20051)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* fix(shared): T3 Connect devices connect to hosts with a Latvian, Lithuanian, Basque or Azerbaijani locale (pingdotgg#19616)

Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(server): thread-bound scheduled tasks run on the thread's current provider (pingdotgg#18467)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* fix(server,mobile): a message you send resumes a held queue, and mobile can resume one (pingdotgg#21473)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* feat(web): choose the in-app browser's search engine (pingdotgg#17688)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>

* fix(mobile): settings no longer tell you to update when you're up to date (pingdotgg#21688)

Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* test(web): fix the workflow script test that times out on busy CI runners (pingdotgg#21699)

Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(mobile): a file shared into a new task shows in the composer before you send (pingdotgg#21659)

Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(desktop): a cold WSL distro gets 30 seconds to boot instead of 10 (pingdotgg#21070)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(web): detect software keyboard before handling composer Enter (pingdotgg#21763)

* fix(mobile): the Git sheet uses the standard list rows (pingdotgg#21785)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(fork): adapt fork code to upstream APIs from Oct 19 merge

* fix(fork): satisfy upstream lint rules and migration guard from Oct 19 merge

---------

Signed-off-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com>
Signed-off-by: Marc Went <marc@went.io>
Co-authored-by: Igor Makowski <56691628+Mnigos@users.noreply.github.com>
Co-authored-by: Paul Jones <32859666+pauljones0@users.noreply.github.com>
Co-authored-by: Paul <paul@local>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Aaron Queen <bompus@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Rodrigo Brechard <rodrigobrechard@gmail.com>
Co-authored-by: Sebastian Pugliese <73218979+RealDoc06@users.noreply.github.com>
Co-authored-by: Scott Norteman <snorteman@gmail.com>
Co-authored-by: luke <97411838+luke2x@users.noreply.github.com>
Co-authored-by: Zeus-Deus <100132710+Zeus-Deus@users.noreply.github.com>
Co-authored-by: fixfon <12512757+fixfon@users.noreply.github.com>
Co-authored-by: Alex Southwell <saphid@gmail.com>
Co-authored-by: SAPHID <saphid@users.noreply.github.com>
Co-authored-by: GPT-6.1 Sol <noreply@openai.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Tejas Rahane <17571323+trahane@users.noreply.github.com>
Co-authored-by: Nikita Maximilian Grimm <github@nikitagrimm.de>
Co-authored-by: Akash Moradiya <64416825+akash3444@users.noreply.github.com>
Co-authored-by: Aidid Haiqal <aididhaiqal@users.noreply.github.com>
Co-authored-by: Aidid Haiqal <syafdo02@gmail.com>
Co-authored-by: Alex <me@pixp.cc>
Co-authored-by: Victor Vogel <thevictorvogel@gmail.com>
Co-authored-by: Nick Anisimov <n.anisimov.23@gmail.com>
Co-authored-by: Arthur Katcher <katcherarthur07@gmail.com>
Co-authored-by: Arthur Katcher <192321283+arthurkatcher@users.noreply.github.com>
Co-authored-by: Simone <lucenz@proton.me>
Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com>
Co-authored-by: Yannic Charlon <52761674+JustYannicc@users.noreply.github.com>
Co-authored-by: Greg Woulfe <47796957+gjw4118@users.noreply.github.com>
Co-authored-by: Andrei Shenets <shenets.andrei@gmail.com>
Co-authored-by: IlyaL <ilyaliao324@gmail.com>
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Co-authored-by: Afonso Ferreira <99990310+Aforno@users.noreply.github.com>
Co-authored-by: maco <gosarmarcel7@gmail.com>
Co-authored-by: macodev00 <macodev00@users.noreply.github.com>
Co-authored-by: Cameron Chisholm <cam@camchis.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Jesse van Dijk <hogeheer499@gmail.com>
Co-authored-by: hogeheer499-commits <267467744+hogeheer499-commits@users.noreply.github.com>
Co-authored-by: ObliviousObserver <96266208+spencermorris04@users.noreply.github.com>
Co-authored-by: Killian Cazin <1305146+kcazin@users.noreply.github.com>
Co-authored-by: Joshua Whitley <josh@electrifiedautonomy.com>
Co-authored-by: Otavio Salvador <otavio@ossystems.com.br>
Co-authored-by: Joseph Vidal <135430578+josephv123@users.noreply.github.com>
Co-authored-by: Alb11747 <albertli_042@hotmail.com>
Co-authored-by: Alyx <256263590+Alyx-ML@users.noreply.github.com>
Co-authored-by: Leonel Rivas <encriptandost@gmail.com>
Co-authored-by: JIA <121747365+JIAFALSEDREAM@users.noreply.github.com>
Co-authored-by: Matthew Feroz <136640686+MatthewFeroz@users.noreply.github.com>
Co-authored-by: Tristan Knight <admin@snappeh.com>
Co-authored-by: Nicholas Tindle <nicholas.tindle@agpt.co>
Co-authored-by: Arav Jain <aravhawk@gmail.com>
Co-authored-by: hinescreative <wes@hinescreative.xyz>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Adam Firestone <126423542+asfires@users.noreply.github.com>
Co-authored-by: Rohith Kadaveru <rohithkadaveru@gmail.com>
Co-authored-by: Kevin Bravo <79945749+0bkevin@users.noreply.github.com>
Co-authored-by: shshajek-cpu <shshajek@gmail.com>
Co-authored-by: Dara Adedeji <76637177+SunkenInTime@users.noreply.github.com>
Co-authored-by: Soroush Baraouf <soroushraouf44@gmail.com>
Co-authored-by: Shawn <5414767+playcations@users.noreply.github.com>
Co-authored-by: macodev00 <273427913+macodev00@users.noreply.github.com>
Co-authored-by: James C <134711311+Exotic209093@users.noreply.github.com>
Co-authored-by: Aditya Vardhan Sharma <adityaradhika13@gmail.com>
Co-authored-by: Rakshith Bhat <88523594+RakshithBhat03@users.noreply.github.com>
Co-authored-by: Arham Mahajan <89351952+arhammahajan@users.noreply.github.com>
Co-authored-by: Nishchay M Chandra <130458023+GLDRoger@users.noreply.github.com>
Co-authored-by: Abdullah <ardudeisepic@outlook.com>
Co-authored-by: Lakshmi Tanmay <lakshmi@voltcrash.com>
Co-authored-by: Sheehan Munim <80079528+sheehanmunim@users.noreply.github.com>
Co-authored-by: Patryk Sztuczka <73931963+patryksztuczka@users.noreply.github.com>
Co-authored-by: Dominik Engelhardt <dominikengelhardt@ymail.com>
Co-authored-by: Claudesaul <139932571+Claudesaul@users.noreply.github.com>
Co-authored-by: TinBane <TinBane@users.noreply.github.com>
Co-authored-by: TinBane <363069+TinBane@users.noreply.github.com>
Co-authored-by: Tdanks2000 <40835340+TDanks2000@users.noreply.github.com>
Co-authored-by: Kevin Rajan <7121943+kvnloo@users.noreply.github.com>
Co-authored-by: voida6 <kainth.ravdeep@gmail.com>
Co-authored-by: tiliakoos <73005126+tiliakoos@users.noreply.github.com>
Co-authored-by: Salloxy <197323176+Salloxy@users.noreply.github.com>
Co-authored-by: Derek Trimm <275381468+derektrimm@users.noreply.github.com>
Co-authored-by: Quy Ngoc Nguyen <pipyakas@gmail.com>
Co-authored-by: Jake Leventhal <jakeleventhal@me.com>
Co-authored-by: Ivan Malison <IvanMalison@gmail.com>
Co-authored-by: Sypher760-gif <sayffadil@gmail.com>
Co-authored-by: Sayf Fadil <313136901+Sypher760-gif@users.noreply.github.com>
Co-authored-by: RVZO6 <66844656+RVZO6@users.noreply.github.com>
Co-authored-by: Pujitha Paladugu <pujitha.rathna@gmail.com>
Co-authored-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com>
Co-authored-by: Mantas Kantautas <mantas.kantautas@gmail.com>
Co-authored-by: Ranga Prasath S R <rangaprasath22@gmail.com>
Co-authored-by: Reda Hilal <155382825+0xKa@users.noreply.github.com>
Co-authored-by: Victor Ajibade <43748536+ViaxCo@users.noreply.github.com>
Co-authored-by: Sinan Turna <sinan.turna@yahoo.com>
Co-authored-by: Sinan <sinan@Mac-mini-von-Sinan.local>
Co-authored-by: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Nikita Koynov <43469098+nkoynov@users.noreply.github.com>
Co-authored-by: David Atkins <david.atkins1998@gmail.com>
Co-authored-by: kuna <47035140+1kuna@users.noreply.github.com>
Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com>
Co-authored-by: yaacovcorcos <190350601+yaacovcorcos@users.noreply.github.com>
Co-authored-by: Gustavo Rosa <Gustav0ar@users.noreply.github.com>
Co-authored-by: Luís Miguel <quicksaver@gmail.com>
Co-authored-by: Johannes Bill <johannes.bill@gmail.com>
Co-authored-by: Marc Went <Dunky13@users.noreply.github.com>
Co-authored-by: Wout Stiens <71498452+StiensWout@users.noreply.github.com>
Co-authored-by: Jord <650645+Jord-JD@users.noreply.github.com>
Co-authored-by: Tomas Johanovsky <94782578+johanovskyt@users.noreply.github.com>
Co-authored-by: Yukun Shan <92423096+nateEc@users.noreply.github.com>
Co-authored-by: Camilo Paez <camilopaez.dev@gmail.com>
Co-authored-by: Charlie Lockyer <97544360+charlielockyer-rice@users.noreply.github.com>
Co-authored-by: Jonas B. <122468993+JonasFocus@users.noreply.github.com>
Co-authored-by: Dan Donathan <1904043+ddonathan@users.noreply.github.com>
Co-authored-by: dan <dan@bw-hq-linuxws01.bellwetherit.com>
Co-authored-by: Guillermo Casanova <75276669+Gigioxx@users.noreply.github.com>
Co-authored-by: Liam Cullen <liamtc@icloud.com>
Co-authored-by: bentbrain <28818884+bentbrain@users.noreply.github.com>
Co-authored-by: Jeremiah Jordan <jeremiah@apache.org>
Co-authored-by: Jeremiah Jordan <zanson@zanson.org>
Co-authored-by: Robbie <robbiethewadley@gmail.com>
Co-authored-by: Madhav Gautam <63944499+mxdhavgautam@users.noreply.github.com>
Co-authored-by: OhadC <4123639+OhadC@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: Sairaj <sairaj2119@gmail.com>
Co-authored-by: 洁月星 <jieyuexing@outlook.com>
Co-authored-by: Samuel Soeller <33049999+5knnbdwm@users.noreply.github.com>
Co-authored-by: Microck <contact@micr.dev>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: oliver <97427849+flamboh@users.noreply.github.com>
Co-authored-by: Mohamed Akef <1524321+mohamed-akef@users.noreply.github.com>
Co-authored-by: James Villarrubia <8172873+jamesvillarrubia@users.noreply.github.com>
Co-authored-by: Antony <97451137+TonybynMp4@users.noreply.github.com>
Co-authored-by: hayden <95017494+haydenkz@users.noreply.github.com>
Co-authored-by: Maxwell Young <maxtheyoung@gmail.com>
Co-authored-by: Raphael Fakhri <153192858+RaphaelFakhri@users.noreply.github.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Co-authored-by: Sebastián Maluk <samaluk@miuandes.cl>
Co-authored-by: tobymarks <150393460+tobymarks@users.noreply.github.com>
Co-authored-by: Adrian Las <adrilasar.dev@gmail.com>
Co-authored-by: Saikrishna Ambeti <saikrisha.ambeti1@gmail.com>
Co-authored-by: Sky Hong <sky9109@gmail.com>
Co-authored-by: mohammed shazeb <mohammedshazeb10@gmail.com>
Co-authored-by: Kiera <142857464+mkiera@users.noreply.github.com>
Co-authored-by: Uzair Sajid <uzee@uzeeinc.net>
Co-authored-by: mr-joom <mr.joom@gmail.com>
Co-authored-by: Adel Khial <adel.khial@gmail.com>
Co-authored-by: Alex Chambers <alexchambers91@gmail.com>
Co-authored-by: spiky02plateau <155588579+spiky02plateau@users.noreply.github.com>
Co-authored-by: Karan Kumar <karan.8080dev@gmail.com>
Co-authored-by: project516 <138796702+Project516@users.noreply.github.com>
Co-authored-by: Ben Davis <45952064+bmdavis419@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

macroscope-review Opt PRs made by unvouched contributors in for Macroscope review. Vouched contributors auto-reviews size:L 100-499 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant