Repository navigation
fix(clients): copy button is back in its old spot, before fork - #17137
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This PR only reorders existing copy and fork controls in the mobile and web message metadata rows. It introduces no new capability, data/API change, configuration change, or material runtime side effect. You can add or adjust custom eligibility rules. Learn more. |
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 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.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (2)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 6 remain after this review. 📝 WalkthroughWalkthroughThe mobile and web interfaces change the placement of assistant message copy and fork controls. The web interface also places the fork control after the status indicator. ChangesAssistant Message Action Ordering
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~8 minutes Change: Bug fix Suggested reviewers: Merge Risk: ⚪ Minimal · up to The change only adjusts the display order of Copy and Fork controls, with their behavior and accessibility labels preserved. No actionable merge-blocking risk is evident. 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
## What's Changed * feat(providers): run Muse Code as a native provider by @t3dotgg in pingdotgg/t3code#17082 * feat(web): compact-before-send is a chip that shows the token count by @t3dotgg in pingdotgg/t3code#17127 * fix(clients): copy button is back in its old spot, before fork by @t3dotgg in pingdotgg/t3code#17137 * fix(usage): repeat usage scans no longer decode unchanged Antigravity databases by @t3dotgg in pingdotgg/t3code#17139 * fix(server): shell snapshots no longer block other database reads while decoding by @t3dotgg in pingdotgg/t3code#17141 * perf(server): ACP tool updates no longer persist a snapshot per streamed chunk by @darjss in pingdotgg/t3code#16682 * feat(web): filter the Usage page to just the providers you want by @t3dotgg in pingdotgg/t3code#16970 * fix(usage): Cursor account history loads about 4x faster by @t3dotgg in pingdotgg/t3code#17140 * fix(server): threads settle as soon as branch status sees their PR merge by @t3dotgg in pingdotgg/t3code#17148 * perf(usage): the Usage page shows numbers in under a second and dims only what is still loading by @t3dotgg in pingdotgg/t3code#17147 * fix(server): an agent can settle its own thread when its turn ends by @t3dotgg in pingdotgg/t3code#17145 * feat(web): Add provider button sits with the provider list by @t3dotgg in pingdotgg/t3code#17152 ## New Contributors * @darjss made their first contribution in pingdotgg/t3code#16682 **Full Changelog**: pingdotgg/t3code@v0.0.46-nightly.20261008.2813...v0.0.46-nightly.20261008.2819 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.46-nightly.20261008.2819
## What's Changed * feat(providers): run Muse Code as a native provider by @t3dotgg in pingdotgg/t3code#17082 * feat(web): compact-before-send is a chip that shows the token count by @t3dotgg in pingdotgg/t3code#17127 * fix(clients): copy button is back in its old spot, before fork by @t3dotgg in pingdotgg/t3code#17137 * fix(usage): repeat usage scans no longer decode unchanged Antigravity databases by @t3dotgg in pingdotgg/t3code#17139 * fix(server): shell snapshots no longer block other database reads while decoding by @t3dotgg in pingdotgg/t3code#17141 * perf(server): ACP tool updates no longer persist a snapshot per streamed chunk by @darjss in pingdotgg/t3code#16682 * feat(web): filter the Usage page to just the providers you want by @t3dotgg in pingdotgg/t3code#16970 * fix(usage): Cursor account history loads about 4x faster by @t3dotgg in pingdotgg/t3code#17140 * fix(server): threads settle as soon as branch status sees their PR merge by @t3dotgg in pingdotgg/t3code#17148 * perf(usage): the Usage page shows numbers in under a second and dims only what is still loading by @t3dotgg in pingdotgg/t3code#17147 * fix(server): an agent can settle its own thread when its turn ends by @t3dotgg in pingdotgg/t3code#17145 * feat(web): Add provider button sits with the provider list by @t3dotgg in pingdotgg/t3code#17152 ## New Contributors * @darjss made their first contribution in pingdotgg/t3code#16682 **Full Changelog**: pingdotgg/t3code@v0.0.46-nightly.20261008.2813...v0.0.46-nightly.20261008.2819 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.46-nightly.20261008.2819
Merges `pingdotgg/t3code` `c9fa1367ca` (99 commits from `0f09627a11`) into the fork. No open merge PR to stack on; branches from `main`. ## Merge - Landed 940 files against 939 in the upstream range (the extra is `docs/fork/inventory.json`); fork delta 775 files. - 8 conflicts, resolved by their preflight verdicts — details in the `docs/fork/upstream-merge-log.md` entry. The ones worth a reviewer's eye: - `ProviderSettingsPanel.tsx`: upstream moved Add provider into `titleAction` (pingdotgg#17152); the `FEATURES.providerConfiguration` gate moved with it. - `PreviewView.tsx` (`decide`): fork's framed `navigate` kept beside upstream's move-tab/`close`. - `ChatMarkdown.tsx`: upstream's markdown pipeline moved to `@t3tools/shared/markdownPipeline`; only the Moatless Artifact imports re-applied. - `pnpm-lock.yaml` re-derived by install (fork `moatless-api` edge present). - Contract: `UnsupportedMethodError` added to `orchestration.searchThread`, `orchestration.searchThreadStream`, `preview.reportProfiles`; dropped from `projects.mutate` (served by the backend since moatless pingdotgg#1075). - `AppRoot.test.tsx` (fork-only) updated for upstream's new `<BrowserProfileReporter />` child. ## Verification `verify.mjs`: duplicate-adds, tripwires, resolution-check, unsupported-methods, lockfile, fmt, lint, typecheck and build all pass. Test: `@t3tools/web` had one failure (`AppRoot.test.tsx`), fixed and re-run green. Still red and confirmed failing alone — the same four as the 2026-10-08 merge, recorded there as machine rather than code: `ServerBrowserPage`, `AcpAdapterV2`, `OrchestratorReplayFixtures` (server) and `OpenCodeServerLedger` (now in `@t3tools/provider-opencode`). The full pass was not re-run after the `AppRoot` test fix; the web package re-run and that file alone were. ## Usable as-is - Thread-find match tints, timeline marker room, sidebar drag fix, collapsed-composer spacing, centered scroller fix, PR panel layout fixes (pingdotgg#17263, pingdotgg#17372, pingdotgg#17373, pingdotgg#17016, pingdotgg#17077, pingdotgg#15560–pingdotgg#15588, pingdotgg#16162). - Compact-before-send chip with token count (pingdotgg#17127); quote chips show your note (pingdotgg#15703); projectless threads show their machine (pingdotgg#17022); short messages with quotes/links no longer collapse (pingdotgg#16624); copy button position (pingdotgg#17137). - File preview fixes: downloads, in-page links, repo paths, favicons no longer leak internal hosts (pingdotgg#16950); previews before a thread's first message (pingdotgg#17352). - Terminal scrollback navigation (pingdotgg#17091). - Usage page filters and performance (pingdotgg#16970, pingdotgg#17147) — only where the fork exposes Usage. - Mobile, desktop and relay fixes (many) — not fork targets, taken as-is. - Provider package extraction (`packages/provider-{core,acp,cursor,grok,muse,opencode,pi,testing}`) — internal refactor, no fork impact beyond the new web deps. ## Unsupported in Moatless / needs implementation - **Find in thread** (pingdotgg#10439) — `orchestration.searchThread`, `orchestration.searchThreadStream`; client gated on the `threadFind` / `threadFindProgressive` capabilities, which Moatless does not report, so it toasts "unavailable on this server". Needs a backend search over projected messages plus the capability. Added to `docs/fork/gaps.md`. - **Browser profiles for server-hosted tabs** (pingdotgg#16956, `BrowserProfileReporter`) — `preview.reportProfiles`; sent only to `serverBrowser` environments, so never sent here. Extends the server-hosted-browser gap. - **Connection permissions / session lifetime** (pingdotgg#17370) — `SessionPermissions.tsx` renders inside the Connections page, which `FEATURES.connections` hides. - **CLI-update-unlocks-model hint** (pingdotgg#17307) — needs provider snapshot fields Moatless does not publish. - **Muse Code native provider** (pingdotgg#17082), **JetBrains over SSH** (pingdotgg#17271) — upstream server/desktop runtime. ## Backend behavior to consider reproducing in Moatless - Settle as soon as branch status sees the PR merge (pingdotgg#17148, `ThreadSettlementReactor.ts`); an agent can settle its own thread at turn end (pingdotgg#17145). - A message sent during a rollback no longer undoes it (pingdotgg#17079); held queued wakes no longer keep delegated tasks running (pingdotgg#17028). - Long-thread message sync paged faster (pingdotgg#17387); shell snapshot decode no longer blocks other DB reads (pingdotgg#17141); ACP tool updates no longer persist a snapshot per chunk (pingdotgg#16682). - Agent browser tools stop bloating history and respect tab ownership (pingdotgg#16956); authenticated GitHub Enterprise hosts recognised (pingdotgg#11059); session lifetime enforced (pingdotgg#17370). All recorded in `docs/fork/gaps.md`. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- Moatless task: https://moatless.soaplabstest.com/tasks/571512c6-b6a0-4727-943d-231929222fc2
The new "Fork from this response" button took the first slot in the assistant message footer. Copy lived there before, so people who copy responses many times a day now hit Fork by muscle memory.
Copy is back in the first slot and Fork now sits after it, on web/desktop and mobile.
Verification: git history (
de34391427^) confirms Copy was first on both clients before Fork was added. The diff only reorders sibling elements; props and visibility are unchanged. Not checked in a running client.Created with Claude Opus 5.5 in Claude Code, reviewed by GPT-6.1-Sol in Codex.
🤖 Generated with Claude Code