Uh oh!
There was an error while loading. Please reload this page.
chore(upstream): adopt the 2026-08-15 T3 Code batch - #42
Merged
Conversation
(cherry picked from commit c9063f03ea1c16e0239e1996a9b6ef611679995d)
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com> Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com> (cherry picked from commit 196c8ea0d642acd1db66bd57f5d98abe81d8da6e)
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> (cherry picked from commit 9885a845c97325b1099b095011da8385485616f5)
Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com> (cherry picked from commit f0719072a1c6435b5a91243afc57bc8bf1f3e2b6)
Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com> (cherry picked from commit 74f7b434865c2d758c7b1cd5f52f4c96b76d03fb)
…572) Co-authored-by: Claude Fable 5 <noreply@anthropic.com> (cherry picked from commit 57a299a7852b430613dfdd97ba76249ee9f374d5)
…654) Co-authored-by: Claude Fable 5 <noreply@anthropic.com> (cherry picked from commit 48ddb3d469d245363dba723f774ba449e4d950c5)
Co-authored-by: Nickolas Kyryliuk <nickolaskyryliuk@gmail.com> Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com> (cherry picked from commit 8c628f14993cb159d467e7a0f8c52578dde77005)
(cherry picked from commit 6ae9662d8ed215476e697adc12403ce035500828)
(cherry picked from commit f0ebc628c6dd83fd0c7963078ad7778ce6028d0c)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com> (cherry picked from commit d8a6dfd31539a86d08bd4fbd030f8252b3c405ac)
…sion (#6538) Co-authored-by: tsouth89 <tsouth89@users.noreply.github.com> (cherry picked from commit afca73d3683c99057ea8af1ad7d77511a0faf680)
… not blocking (#6525) (cherry picked from commit 75472802bc5ddaba860dc652000223600e529937)
(cherry picked from commit 672216d7e152241213a8757892f281e1f4434e8a)
(cherry picked from commit 1e87029261f9b81061a2a7420849b9eeaf1a2ebe)
(cherry picked from commit a6ac27e7fd965f26ee0c61946e056f0fd889818c)
…(#6527) (cherry picked from commit eaa6c4712fe11f0396e549b1873f163dc202d229)
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com> (cherry picked from commit 71c6f8248775066ebaf4bfc6680d3e2acb4bb2d1)
…nu (#6526) (cherry picked from commit 48cba7d93c8c63508f31cce2544d480ace86f929)
(cherry picked from commit 9f26656cb958853f90f7215387d604c098937db8)
…(#5872) Co-authored-by: codex <codex@users.noreply.github.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> (cherry picked from commit b277cc65e045899e7aa941e92d04f2b4996f27bb)
Co-authored-by: Rodrigo Brechard <rodrigo@clubtidy.fr> Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com> (cherry picked from commit 2cb1a26f061fa9029ccbe2a614f02bb14b22dd45)
…ead titles (#5941) (cherry picked from commit ddee418a8d6d3e242ca26a8053a886ecc3b56b53)
(cherry picked from commit 178da6bc3210b82c4a83f33c8b149f623a3375e1)
(cherry picked from commit b7dbbbaf6c394621cba57cf58dfcc1845f445ef6)
(cherry picked from commit d94fbda344398bd266b9f6645e531eb17d3c9e4e)
…ied (#6487) (cherry picked from commit 3bc4fdf05b6b748a7b506c81dc125f3504f35278)
…n (#4823) Co-authored-by: Sy-D <8460326+Sy-D@users.noreply.github.com> Co-authored-by: Claude Opus 5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: codex <codex@users.noreply.github.com> (cherry picked from commit a38cac81d82b82a6967eaf8cb90ed2770c514f3c)
(cherry picked from commit 270489b887420db3319898ab4046516e4c457711)
(cherry picked from commit 4db50757c0b618293997a7f81bcfe30b68356969)
…649) (cherry picked from commit 7ce4194707e2a883ccd6a44fd2e07eba08f5369a)
(cherry picked from commit 39167eb1a586ee9e060d6ec3314617e14e0259c0)
… stops (#5127) Co-authored-by: Capxul Agent <agent@capxul.dev> Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: codex <codex@users.noreply.github.com> (cherry picked from commit 3b54a2a574b061a1ce80d7130e0776f4f5c95e20)
…te (#5246) (cherry picked from commit 4fc80fcbdc1ed33c46296dbad08517f2968856e6)
(cherry picked from commit 07e668dc48ce58fc9244ceeef62b9af929293a2a)
…show (#4986) Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: codex <codex@users.noreply.github.com> (cherry picked from commit f8bb92b51b720dd6feba654e6ae50d2b575c0328)
(cherry picked from commit 62bb97428a1bd007f4a83cdb1fcb8bbde2cdeef3)
(cherry picked from commit e17f244e0d411422dacaa0a43669fb4e8436347d)
Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: codex <codex@users.noreply.github.com> (cherry picked from commit 61b2e744df378b7a8d534494114cf59b26cbe6ca)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: codex <codex@users.noreply.github.com> (cherry picked from commit 04f23098e13410a325fd2b997cbf7144e872470e)
(cherry picked from commit 931e91527c285c49d8482328877c93c8c684591a)
(cherry picked from commit 664499c92e838f36a0ff8187bc2cd95d7b8ef9d5)
Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: codex <codex@users.noreply.github.com> (cherry picked from commit ec141c125726ae70f31f392e780afa8de446fdc4)
Co-authored-by: codex <codex@users.noreply.github.com> (cherry picked from commit 20a70420a85aecab0bde1a58921197f423e401cc)
Co-authored-by: Rodrigo Brechard <rodrigo@clubtidy.fr> Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: codex <codex@users.noreply.github.com> (cherry picked from commit ad117235b544e23545fe39143812db2ddd41af1f)
(cherry picked from commit a5e29edeec34fdfab1d44e643b0d12bb924fd261)
The 2026-08-15 upstream batch brought in surfaces that still carried T3 identity or T3-specific values: - the new macOS DMG installer backgrounds shipped a "T3 CODE" wordmark and "Drag T3 Code to Applications" copy; - the new web app manifest hardcoded T3's #161616, which would flash against Pylon's #0a0a0a app background on an installed PWA, and named nothing; - two docs/user pages picked up "T3 Code" in shipped-product voice. Upstream also retired apps/desktop/resources/icon.*, since desktop packaging and the macOS launcher now read icons straight from assets/<channel>/. Pylon's icon exporter was still emitting those three files, so it now stops, and renderIcns goes with them.
Typecheck and lint caught three places where resolving a cherry-pick conflict left the tree inconsistent: - AgentsPanel imported Button twice, because upstream's new import applied cleanly and the conflict resolution added it again. - ComposerPrimaryActions' new running-state test helper did not pass Pylon's required canQueueFollowUp/onQueueFollowUp. false is the right value there: those cases cover the plain send fallback shown when a provider has no session input queue. - ThreadStatusIndicators imported TerminalIcon, which upstream renders for a running terminal but Pylon does not: Pylon draws that indicator with DotMatrix state="terminal" instead of a pulsing lucide icon.
Resolving the styling-refactor conflict reverted pnpm-lock.yaml to its origin/pylon state, which undid the entries the Windows update-install commit had added one pick earlier. The branch was left requiring msgpackr-extract (apps/server) and @electron/asar (scripts) without locking either. Regenerated with Pylon's pinned pnpm rather than taking upstream's lockfile. The @ff-labs/fff-node patch hash resolves to the same value as upstream because the hash is over the patch content, which this batch also updates. Also updates a Pylon ingestion assertion that encoded the pre-projection shape: streaming tool.updated now persists the wire projection, so provider-private keys like `pid` are dropped on the way in while item.completed keeps data whole.
…hots Two corrections to what the batch pulled in. The styling refactor ships a Macroscope UI-consistency check-run agent, which was dropped as T3 tooling. That was wrong: Pylon already runs the sibling effect-service-conventions agent, and this one is generic — it reviews web changes against the shared component system and Tailwind ownership, with no T3-specific content. Keeping it. Two commits also carried .github/pr-assets screenshots of the T3 Code UI as upstream's PR evidence. Nothing references them, the directory did not exist in Pylon, and they are 308 KB of base64.
93 of 99 candidates adopted, 6 skipped, cursor moves to a5e29edee. The deferred register stays empty.
Thread transfer impact
This comment will update automatically after the next completed run. |
Folding Pylon's queue affordance together with upstream's send fallback added precedence logic that nothing exercised: every existing case passes canQueueFollowUp: false, so only the fallback was covered — on origin/pylon too. Since supportsSessionInputQueueFollowUp defaults to true, the queue branch is what a running turn normally takes, which left the common path untested. Adds three cases: queue beside stop on a queue-capable provider, queue winning over the send fallback rather than both rendering, and the queue button staying visible but disabled with an empty composer.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Upstream had a hundred commits waiting since the last cursor, and it was mostly
backlog: 86 of the 99 candidates are
fix, largely old community pull requeststhat all merged the same day. Pylon carries the same inherited defects, so the
decision was to take everything that is not T3 infrastructure.
93 adopted, 6 skipped, reviewed through
a5e29edee.What landed
Server and orchestration repair (bounded activity hydration, the wire projection
for streaming
tool.updated, receipt replay scoped to its own aggregate, SQLitebusy_timeout, surviving a write to a dead socket). Eleven provider fixes, six ofthem Claude. The web styling refactor plus panels, sidebar, theme, markdown and
eight composer fixes. Desktop, mobile, source control, SSH, terminal, marketing.
Two features worth calling out: opening a remote environment in your local editor
over SSH (
#6572), which serves the remote-ready pillar directly, and Chrome-stylehold-to-quit on desktop (
#5508).What was skipped, and why
#6657), both inside the range. They cancelexactly, so taking them is 32 conflicting files for a net no-op.
#4128) —t3code-binPKGBUILDs againstpingdotgg/t3codereleases and a workflow needing T3's AUR secrets.
e9ae134c5) — T3 repository governance.CLAUDE.mdsymlink fix (#3929) already true in Pylon.#4542) — Pylon fixed the same bug independentlyin
ad1693bb3, tuned to Pylon's own resized hero. Upstream's coordinates assumeT3's artwork.
Pylon-first resolutions
Branding: the new DMG installer backgrounds shipped a "T3 CODE" wordmark and
"Drag T3 Code to Applications"; the new PWA manifest hardcoded T3's
#161616,which would flash against Pylon's
#0a0a0a; twodocs/user/pages picked up"T3 Code" in shipped-product voice. All rebranded.
Two composition calls, both recorded in the ledger:
#4781, send reachable while running. Pylon already solved this with aqueue-follow-up button, but gated on a provider capability, so providers
without a session input queue still had the bug. The two are composed rather
than chosen between: the queue affordance wins where it exists, upstream's
plain send is the fallback.
#4755imports lucide'sTerminalIcon; Pylon draws that indicator withDotMatrix state="terminal", so the import was dropped.Upstream also retired
apps/desktop/resources/icon.*now that packaging and thelauncher read from
assets/<channel>/. Pylon's icon exporter stopped emitting them.One near-miss worth knowing about
Resolving the styling-refactor conflict reverted
pnpm-lock.yaml, silently undoingwhat the Windows update-install pick had added one commit earlier. The branch was
left requiring
msgpackr-extractand@electron/asarwithout locking either, andrecording the old
@ff-labs/fff-nodepatch hash against the new patch file — so@t3tools/scriptswould not typecheck and all 53 of its tests failed to load.Fixed in
d50270899, regenerated with Pylon's pinned pnpm.Verification
Typecheck clean across all nine packages.
vp lintexits 0 with three warnings,all in upstream-authored code.
vp fmt --checkclean over 2,898 files. Tests: web2,758 / client-runtime 658 / shared 355 / contracts 342 / scripts 239 / server
1,966 passing.
Two known failures, neither from this batch:
accountDrainEndToEnd.test.tshangs 120s — fails identically on a cleanorigin/pylonworktree, verified against a baseline checkout.build-desktop-artifact.test.tsfails when run from inside Pylon, because anElectron host exports
ELECTRON_RUN_AS_NODE=1and the code under test spreadsprocess.env. Withenv -u ELECTRON_RUN_AS_NODE, 53/53 pass. CI is unaffected.No integration pass in a real client. The batch touches the composer, sidebar,
theme, DMG chrome and the PWA manifest, so a web pass is the obvious next step —
worth doing before merge.
Claude Opus 5 (1M context) in Claude Code.
Need help on this PR? Tag
@codesmithwith what you need. Autofix is disabled.