chore(upstream): adopt the 2026-08-15 T3 Code batch - #42

Merged
rynfar merged 99 commits into
pylonfrom
upstream/2026-08-15-batch
Aug 15, 2026
Merged

chore(upstream): adopt the 2026-08-15 T3 Code batch#42
rynfar merged 99 commits into
pylonfrom
upstream/2026-08-15-batch

Conversation

@rynfar

@rynfarrynfar commented Aug 15, 2026

Copy link
Copy Markdown
Collaborator

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 requests
that 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, SQLite
busy_timeout, surviving a write to a dead socket). Eleven provider fixes, six of
them 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-style
hold-to-quit on desktop (#5508).

What was skipped, and why

  • A feature and its own revert (#6657), both inside the range. They cancel
    exactly, so taking them is 32 conflicting files for a net no-op.
  • AUR packaging (#4128) — t3code-bin PKGBUILDs against pingdotgg/t3code
    releases and a workflow needing T3's AUR secrets.
  • Feature requests to Discussions (e9ae134c5) — T3 repository governance.
  • A CLAUDE.md symlink fix (#3929) already true in Pylon.
  • The mobile Grok mark fix (#4542) — Pylon fixed the same bug independently
    in ad1693bb3, tuned to Pylon's own resized hero. Upstream's coordinates assume
    T3'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; two docs/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 a
    queue-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.
  • #4755 imports lucide's TerminalIcon; Pylon draws that indicator with
    DotMatrix state="terminal", so the import was dropped.

Upstream also retired apps/desktop/resources/icon.* now that packaging and the
launcher 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 undoing
what the Windows update-install pick had added one commit earlier. The branch was
left requiring msgpackr-extract and @electron/asar without locking either, and
recording the old @ff-labs/fff-node patch hash against the new patch file — so
@t3tools/scripts would 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 lint exits 0 with three warnings,
all in upstream-authored code. vp fmt --check clean over 2,898 files. Tests: web
2,758 / client-runtime 658 / shared 355 / contracts 342 / scripts 239 / server
1,966 passing.

Two known failures, neither from this batch:

  • accountDrainEndToEnd.test.ts hangs 120s — fails identically on a clean
    origin/pylon worktree
    , verified against a baseline checkout.
  • build-desktop-artifact.test.ts fails when run from inside Pylon, because an
    Electron host exports ELECTRON_RUN_AS_NODE=1 and the code under test spreads
    process.env. With env -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.


View with [code]smithAutofix with [code]smith
Need help on this PR? Tag @codesmith with what you need. Autofix is disabled.

StiensWoutand others added 30 commits August 15, 2026 13:00
(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)
JackatDJLand others added 21 commits August 15, 2026 13:16
…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.
@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XXL labels Aug 15, 2026
@github-actions

github-actionsBot commented Aug 15, 2026

Copy link
Copy Markdown

Thread transfer impact

⚠️ The latest CI run did not produce a thread transfer result for fccc704.

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.
@rynfar
rynfar merged commit 3aea56b into pylonAug 15, 2026
11 checks passed
@rynfar
rynfar deleted the upstream/2026-08-15-batch branch August 15, 2026 21:43
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXLvouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

20 participants

@rynfar@StiensWout@Lucenx9@t3dotgg@Bil0000@tsouth89@lnieuwenhuis@gbarros-dev@nateEc@dbalders@mohamedmastouri-hue@Brechard@repparw@tarik02@hey-jj@Sy-D@danvernon@Rishet11@AksharP5@TorbenWetter
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

chore(upstream): adopt the 2026-08-15 T3 Code batch - #42

Merged
rynfar merged 99 commits into
pylonfrom
upstream/2026-08-15-batch
Aug 15, 2026
Merged

chore(upstream): adopt the 2026-08-15 T3 Code batch#42
rynfar merged 99 commits into
pylonfrom
upstream/2026-08-15-batch

Conversation

@rynfar

@rynfarrynfar commented Aug 15, 2026

Copy link
Copy Markdown
Collaborator

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 requests
that 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, SQLite
busy_timeout, surviving a write to a dead socket). Eleven provider fixes, six of
them 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-style
hold-to-quit on desktop (#5508).

What was skipped, and why

  • A feature and its own revert (#6657), both inside the range. They cancel
    exactly, so taking them is 32 conflicting files for a net no-op.
  • AUR packaging (#4128) — t3code-bin PKGBUILDs against pingdotgg/t3code
    releases and a workflow needing T3's AUR secrets.
  • Feature requests to Discussions (e9ae134c5) — T3 repository governance.
  • A CLAUDE.md symlink fix (#3929) already true in Pylon.
  • The mobile Grok mark fix (#4542) — Pylon fixed the same bug independently
    in ad1693bb3, tuned to Pylon's own resized hero. Upstream's coordinates assume
    T3'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; two docs/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 a
    queue-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.
  • #4755 imports lucide's TerminalIcon; Pylon draws that indicator with
    DotMatrix state="terminal", so the import was dropped.

Upstream also retired apps/desktop/resources/icon.* now that packaging and the
launcher 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 undoing
what the Windows update-install pick had added one commit earlier. The branch was
left requiring msgpackr-extract and @electron/asar without locking either, and
recording the old @ff-labs/fff-node patch hash against the new patch file — so
@t3tools/scripts would 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 lint exits 0 with three warnings,
all in upstream-authored code. vp fmt --check clean over 2,898 files. Tests: web
2,758 / client-runtime 658 / shared 355 / contracts 342 / scripts 239 / server
1,966 passing.

Two known failures, neither from this batch:

  • accountDrainEndToEnd.test.ts hangs 120s — fails identically on a clean
    origin/pylon worktree
    , verified against a baseline checkout.
  • build-desktop-artifact.test.ts fails when run from inside Pylon, because an
    Electron host exports ELECTRON_RUN_AS_NODE=1 and the code under test spreads
    process.env. With env -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.


View with [code]smithAutofix with [code]smith
Need help on this PR? Tag @codesmith with what you need. Autofix is disabled.

StiensWoutand others added 30 commits August 15, 2026 13:00
(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)
JackatDJLand others added 21 commits August 15, 2026 13:16
…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.
@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XXL labels Aug 15, 2026
@github-actions

github-actionsBot commented Aug 15, 2026

Copy link
Copy Markdown

Thread transfer impact

⚠️ The latest CI run did not produce a thread transfer result for fccc704.

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.
@rynfar
rynfar merged commit 3aea56b into pylonAug 15, 2026
11 checks passed
@rynfar
rynfar deleted the upstream/2026-08-15-batch branch August 15, 2026 21:43
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXLvouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

20 participants

@rynfar@StiensWout@Lucenx9@t3dotgg@Bil0000@tsouth89@lnieuwenhuis@gbarros-dev@nateEc@dbalders@mohamedmastouri-hue@Brechard@repparw@tarik02@hey-jj@Sy-D@danvernon@Rishet11@AksharP5@TorbenWetter
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore(upstream): adopt the 2026-08-15 T3 Code batch - #42

Merged
rynfar merged 99 commits into
pylonfrom
upstream/2026-08-15-batch
Aug 15, 2026
Merged

chore(upstream): adopt the 2026-08-15 T3 Code batch#42
rynfar merged 99 commits into
pylonfrom
upstream/2026-08-15-batch

Conversation

@rynfar

@rynfarrynfar commented Aug 15, 2026

Copy link
Copy Markdown
Collaborator

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 requests
that 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, SQLite
busy_timeout, surviving a write to a dead socket). Eleven provider fixes, six of
them 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-style
hold-to-quit on desktop (#5508).

What was skipped, and why

  • A feature and its own revert (#6657), both inside the range. They cancel
    exactly, so taking them is 32 conflicting files for a net no-op.
  • AUR packaging (#4128) — t3code-bin PKGBUILDs against pingdotgg/t3code
    releases and a workflow needing T3's AUR secrets.
  • Feature requests to Discussions (e9ae134c5) — T3 repository governance.
  • A CLAUDE.md symlink fix (#3929) already true in Pylon.
  • The mobile Grok mark fix (#4542) — Pylon fixed the same bug independently
    in ad1693bb3, tuned to Pylon's own resized hero. Upstream's coordinates assume
    T3'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; two docs/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 a
    queue-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.
  • #4755 imports lucide's TerminalIcon; Pylon draws that indicator with
    DotMatrix state="terminal", so the import was dropped.

Upstream also retired apps/desktop/resources/icon.* now that packaging and the
launcher 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 undoing
what the Windows update-install pick had added one commit earlier. The branch was
left requiring msgpackr-extract and @electron/asar without locking either, and
recording the old @ff-labs/fff-node patch hash against the new patch file — so
@t3tools/scripts would 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 lint exits 0 with three warnings,
all in upstream-authored code. vp fmt --check clean over 2,898 files. Tests: web
2,758 / client-runtime 658 / shared 355 / contracts 342 / scripts 239 / server
1,966 passing.

Two known failures, neither from this batch:

  • accountDrainEndToEnd.test.ts hangs 120s — fails identically on a clean
    origin/pylon worktree
    , verified against a baseline checkout.
  • build-desktop-artifact.test.ts fails when run from inside Pylon, because an
    Electron host exports ELECTRON_RUN_AS_NODE=1 and the code under test spreads
    process.env. With env -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.


View with [code]smithAutofix with [code]smith
Need help on this PR? Tag @codesmith with what you need. Autofix is disabled.

StiensWoutand others added 30 commits August 15, 2026 13:00
(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)
JackatDJLand others added 21 commits August 15, 2026 13:16
…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.
@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XXL labels Aug 15, 2026
@github-actions

github-actionsBot commented Aug 15, 2026

Copy link
Copy Markdown

Thread transfer impact

⚠️ The latest CI run did not produce a thread transfer result for fccc704.

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.
@rynfar
rynfar merged commit 3aea56b into pylonAug 15, 2026
11 checks passed
@rynfar
rynfar deleted the upstream/2026-08-15-batch branch August 15, 2026 21:43
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXLvouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

20 participants

@rynfar@StiensWout@Lucenx9@t3dotgg@Bil0000@tsouth89@lnieuwenhuis@gbarros-dev@nateEc@dbalders@mohamedmastouri-hue@Brechard@repparw@tarik02@hey-jj@Sy-D@danvernon@Rishet11@AksharP5@TorbenWetter
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore(upstream): adopt the 2026-08-15 T3 Code batch - #42

Merged
rynfar merged 99 commits into
pylonfrom
upstream/2026-08-15-batch
Aug 15, 2026
Merged

chore(upstream): adopt the 2026-08-15 T3 Code batch#42
rynfar merged 99 commits into
pylonfrom
upstream/2026-08-15-batch

Conversation

@rynfar

@rynfarrynfar commented Aug 15, 2026

Copy link
Copy Markdown
Collaborator

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 requests
that 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, SQLite
busy_timeout, surviving a write to a dead socket). Eleven provider fixes, six of
them 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-style
hold-to-quit on desktop (#5508).

What was skipped, and why

  • A feature and its own revert (#6657), both inside the range. They cancel
    exactly, so taking them is 32 conflicting files for a net no-op.
  • AUR packaging (#4128) — t3code-bin PKGBUILDs against pingdotgg/t3code
    releases and a workflow needing T3's AUR secrets.
  • Feature requests to Discussions (e9ae134c5) — T3 repository governance.
  • A CLAUDE.md symlink fix (#3929) already true in Pylon.
  • The mobile Grok mark fix (#4542) — Pylon fixed the same bug independently
    in ad1693bb3, tuned to Pylon's own resized hero. Upstream's coordinates assume
    T3'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; two docs/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 a
    queue-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.
  • #4755 imports lucide's TerminalIcon; Pylon draws that indicator with
    DotMatrix state="terminal", so the import was dropped.

Upstream also retired apps/desktop/resources/icon.* now that packaging and the
launcher 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 undoing
what the Windows update-install pick had added one commit earlier. The branch was
left requiring msgpackr-extract and @electron/asar without locking either, and
recording the old @ff-labs/fff-node patch hash against the new patch file — so
@t3tools/scripts would 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 lint exits 0 with three warnings,
all in upstream-authored code. vp fmt --check clean over 2,898 files. Tests: web
2,758 / client-runtime 658 / shared 355 / contracts 342 / scripts 239 / server
1,966 passing.

Two known failures, neither from this batch:

  • accountDrainEndToEnd.test.ts hangs 120s — fails identically on a clean
    origin/pylon worktree
    , verified against a baseline checkout.
  • build-desktop-artifact.test.ts fails when run from inside Pylon, because an
    Electron host exports ELECTRON_RUN_AS_NODE=1 and the code under test spreads
    process.env. With env -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.


View with [code]smithAutofix with [code]smith
Need help on this PR? Tag @codesmith with what you need. Autofix is disabled.

StiensWoutand others added 30 commits August 15, 2026 13:00
(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)
JackatDJLand others added 21 commits August 15, 2026 13:16
…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.
@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XXL labels Aug 15, 2026
@github-actions

github-actionsBot commented Aug 15, 2026

Copy link
Copy Markdown

Thread transfer impact

⚠️ The latest CI run did not produce a thread transfer result for fccc704.

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.
@rynfar
rynfar merged commit 3aea56b into pylonAug 15, 2026
11 checks passed
@rynfar
rynfar deleted the upstream/2026-08-15-batch branch August 15, 2026 21:43
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXLvouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

20 participants

@rynfar@StiensWout@Lucenx9@t3dotgg@Bil0000@tsouth89@lnieuwenhuis@gbarros-dev@nateEc@dbalders@mohamedmastouri-hue@Brechard@repparw@tarik02@hey-jj@Sy-D@danvernon@Rishet11@AksharP5@TorbenWetter
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

chore(upstream): adopt the 2026-08-15 T3 Code batch - #42

Merged
rynfar merged 99 commits into
pylonfrom
upstream/2026-08-15-batch
Aug 15, 2026
Merged

chore(upstream): adopt the 2026-08-15 T3 Code batch#42
rynfar merged 99 commits into
pylonfrom
upstream/2026-08-15-batch

Conversation

@rynfar

@rynfarrynfar commented Aug 15, 2026

Copy link
Copy Markdown
Collaborator

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 requests
that 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, SQLite
busy_timeout, surviving a write to a dead socket). Eleven provider fixes, six of
them 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-style
hold-to-quit on desktop (#5508).

What was skipped, and why

  • A feature and its own revert (#6657), both inside the range. They cancel
    exactly, so taking them is 32 conflicting files for a net no-op.
  • AUR packaging (#4128) — t3code-bin PKGBUILDs against pingdotgg/t3code
    releases and a workflow needing T3's AUR secrets.
  • Feature requests to Discussions (e9ae134c5) — T3 repository governance.
  • A CLAUDE.md symlink fix (#3929) already true in Pylon.
  • The mobile Grok mark fix (#4542) — Pylon fixed the same bug independently
    in ad1693bb3, tuned to Pylon's own resized hero. Upstream's coordinates assume
    T3'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; two docs/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 a
    queue-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.
  • #4755 imports lucide's TerminalIcon; Pylon draws that indicator with
    DotMatrix state="terminal", so the import was dropped.

Upstream also retired apps/desktop/resources/icon.* now that packaging and the
launcher 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 undoing
what the Windows update-install pick had added one commit earlier. The branch was
left requiring msgpackr-extract and @electron/asar without locking either, and
recording the old @ff-labs/fff-node patch hash against the new patch file — so
@t3tools/scripts would 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 lint exits 0 with three warnings,
all in upstream-authored code. vp fmt --check clean over 2,898 files. Tests: web
2,758 / client-runtime 658 / shared 355 / contracts 342 / scripts 239 / server
1,966 passing.

Two known failures, neither from this batch:

  • accountDrainEndToEnd.test.ts hangs 120s — fails identically on a clean
    origin/pylon worktree
    , verified against a baseline checkout.
  • build-desktop-artifact.test.ts fails when run from inside Pylon, because an
    Electron host exports ELECTRON_RUN_AS_NODE=1 and the code under test spreads
    process.env. With env -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.


View with [code]smithAutofix with [code]smith
Need help on this PR? Tag @codesmith with what you need. Autofix is disabled.

StiensWoutand others added 30 commits August 15, 2026 13:00
(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)
JackatDJLand others added 21 commits August 15, 2026 13:16
…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.
@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XXL labels Aug 15, 2026
@github-actions

github-actionsBot commented Aug 15, 2026

Copy link
Copy Markdown

Thread transfer impact

⚠️ The latest CI run did not produce a thread transfer result for fccc704.

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.
@rynfar
rynfar merged commit 3aea56b into pylonAug 15, 2026
11 checks passed
@rynfar
rynfar deleted the upstream/2026-08-15-batch branch August 15, 2026 21:43
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXLvouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

20 participants

@rynfar@StiensWout@Lucenx9@t3dotgg@Bil0000@tsouth89@lnieuwenhuis@gbarros-dev@nateEc@dbalders@mohamedmastouri-hue@Brechard@repparw@tarik02@hey-jj@Sy-D@danvernon@Rishet11@AksharP5@TorbenWetter
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore(upstream): adopt the 2026-08-15 T3 Code batch - #42

Merged
rynfar merged 99 commits into
pylonfrom
upstream/2026-08-15-batch
Aug 15, 2026
Merged

chore(upstream): adopt the 2026-08-15 T3 Code batch#42
rynfar merged 99 commits into
pylonfrom
upstream/2026-08-15-batch

Conversation

@rynfar

@rynfarrynfar commented Aug 15, 2026

Copy link
Copy Markdown
Collaborator

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 requests
that 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, SQLite
busy_timeout, surviving a write to a dead socket). Eleven provider fixes, six of
them 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-style
hold-to-quit on desktop (#5508).

What was skipped, and why

  • A feature and its own revert (#6657), both inside the range. They cancel
    exactly, so taking them is 32 conflicting files for a net no-op.
  • AUR packaging (#4128) — t3code-bin PKGBUILDs against pingdotgg/t3code
    releases and a workflow needing T3's AUR secrets.
  • Feature requests to Discussions (e9ae134c5) — T3 repository governance.
  • A CLAUDE.md symlink fix (#3929) already true in Pylon.
  • The mobile Grok mark fix (#4542) — Pylon fixed the same bug independently
    in ad1693bb3, tuned to Pylon's own resized hero. Upstream's coordinates assume
    T3'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; two docs/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 a
    queue-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.
  • #4755 imports lucide's TerminalIcon; Pylon draws that indicator with
    DotMatrix state="terminal", so the import was dropped.

Upstream also retired apps/desktop/resources/icon.* now that packaging and the
launcher 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 undoing
what the Windows update-install pick had added one commit earlier. The branch was
left requiring msgpackr-extract and @electron/asar without locking either, and
recording the old @ff-labs/fff-node patch hash against the new patch file — so
@t3tools/scripts would 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 lint exits 0 with three warnings,
all in upstream-authored code. vp fmt --check clean over 2,898 files. Tests: web
2,758 / client-runtime 658 / shared 355 / contracts 342 / scripts 239 / server
1,966 passing.

Two known failures, neither from this batch:

  • accountDrainEndToEnd.test.ts hangs 120s — fails identically on a clean
    origin/pylon worktree
    , verified against a baseline checkout.
  • build-desktop-artifact.test.ts fails when run from inside Pylon, because an
    Electron host exports ELECTRON_RUN_AS_NODE=1 and the code under test spreads
    process.env. With env -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.


View with [code]smithAutofix with [code]smith
Need help on this PR? Tag @codesmith with what you need. Autofix is disabled.

StiensWoutand others added 30 commits August 15, 2026 13:00
(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)
JackatDJLand others added 21 commits August 15, 2026 13:16
…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.
@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XXL labels Aug 15, 2026
@github-actions

github-actionsBot commented Aug 15, 2026

Copy link
Copy Markdown

Thread transfer impact

⚠️ The latest CI run did not produce a thread transfer result for fccc704.

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.
@rynfar
rynfar merged commit 3aea56b into pylonAug 15, 2026
11 checks passed
@rynfar
rynfar deleted the upstream/2026-08-15-batch branch August 15, 2026 21:43
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXLvouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

20 participants

@rynfar@StiensWout@Lucenx9@t3dotgg@Bil0000@tsouth89@lnieuwenhuis@gbarros-dev@nateEc@dbalders@mohamedmastouri-hue@Brechard@repparw@tarik02@hey-jj@Sy-D@danvernon@Rishet11@AksharP5@TorbenWetter
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore(upstream): adopt the 2026-08-15 T3 Code batch - #42

Merged
rynfar merged 99 commits into
pylonfrom
upstream/2026-08-15-batch
Aug 15, 2026
Merged

chore(upstream): adopt the 2026-08-15 T3 Code batch#42
rynfar merged 99 commits into
pylonfrom
upstream/2026-08-15-batch

Conversation

@rynfar

@rynfarrynfar commented Aug 15, 2026

Copy link
Copy Markdown
Collaborator

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 requests
that 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, SQLite
busy_timeout, surviving a write to a dead socket). Eleven provider fixes, six of
them 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-style
hold-to-quit on desktop (#5508).

What was skipped, and why

  • A feature and its own revert (#6657), both inside the range. They cancel
    exactly, so taking them is 32 conflicting files for a net no-op.
  • AUR packaging (#4128) — t3code-bin PKGBUILDs against pingdotgg/t3code
    releases and a workflow needing T3's AUR secrets.
  • Feature requests to Discussions (e9ae134c5) — T3 repository governance.
  • A CLAUDE.md symlink fix (#3929) already true in Pylon.
  • The mobile Grok mark fix (#4542) — Pylon fixed the same bug independently
    in ad1693bb3, tuned to Pylon's own resized hero. Upstream's coordinates assume
    T3'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; two docs/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 a
    queue-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.
  • #4755 imports lucide's TerminalIcon; Pylon draws that indicator with
    DotMatrix state="terminal", so the import was dropped.

Upstream also retired apps/desktop/resources/icon.* now that packaging and the
launcher 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 undoing
what the Windows update-install pick had added one commit earlier. The branch was
left requiring msgpackr-extract and @electron/asar without locking either, and
recording the old @ff-labs/fff-node patch hash against the new patch file — so
@t3tools/scripts would 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 lint exits 0 with three warnings,
all in upstream-authored code. vp fmt --check clean over 2,898 files. Tests: web
2,758 / client-runtime 658 / shared 355 / contracts 342 / scripts 239 / server
1,966 passing.

Two known failures, neither from this batch:

  • accountDrainEndToEnd.test.ts hangs 120s — fails identically on a clean
    origin/pylon worktree
    , verified against a baseline checkout.
  • build-desktop-artifact.test.ts fails when run from inside Pylon, because an
    Electron host exports ELECTRON_RUN_AS_NODE=1 and the code under test spreads
    process.env. With env -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.


View with [code]smithAutofix with [code]smith
Need help on this PR? Tag @codesmith with what you need. Autofix is disabled.

StiensWoutand others added 30 commits August 15, 2026 13:00
(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)
JackatDJLand others added 21 commits August 15, 2026 13:16
…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.
@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XXL labels Aug 15, 2026
@github-actions

github-actionsBot commented Aug 15, 2026

Copy link
Copy Markdown

Thread transfer impact

⚠️ The latest CI run did not produce a thread transfer result for fccc704.

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.
@rynfar
rynfar merged commit 3aea56b into pylonAug 15, 2026
11 checks passed
@rynfar
rynfar deleted the upstream/2026-08-15-batch branch August 15, 2026 21:43
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXLvouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

20 participants

@rynfar@StiensWout@Lucenx9@t3dotgg@Bil0000@tsouth89@lnieuwenhuis@gbarros-dev@nateEc@dbalders@mohamedmastouri-hue@Brechard@repparw@tarik02@hey-jj@Sy-D@danvernon@Rishet11@AksharP5@TorbenWetter
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

chore(upstream): adopt the 2026-08-15 T3 Code batch - #42

Merged
rynfar merged 99 commits into
pylonfrom
upstream/2026-08-15-batch
Aug 15, 2026
Merged

chore(upstream): adopt the 2026-08-15 T3 Code batch#42
rynfar merged 99 commits into
pylonfrom
upstream/2026-08-15-batch

Conversation

@rynfar

@rynfarrynfar commented Aug 15, 2026

Copy link
Copy Markdown
Collaborator

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 requests
that 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, SQLite
busy_timeout, surviving a write to a dead socket). Eleven provider fixes, six of
them 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-style
hold-to-quit on desktop (#5508).

What was skipped, and why

  • A feature and its own revert (#6657), both inside the range. They cancel
    exactly, so taking them is 32 conflicting files for a net no-op.
  • AUR packaging (#4128) — t3code-bin PKGBUILDs against pingdotgg/t3code
    releases and a workflow needing T3's AUR secrets.
  • Feature requests to Discussions (e9ae134c5) — T3 repository governance.
  • A CLAUDE.md symlink fix (#3929) already true in Pylon.
  • The mobile Grok mark fix (#4542) — Pylon fixed the same bug independently
    in ad1693bb3, tuned to Pylon's own resized hero. Upstream's coordinates assume
    T3'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; two docs/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 a
    queue-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.
  • #4755 imports lucide's TerminalIcon; Pylon draws that indicator with
    DotMatrix state="terminal", so the import was dropped.

Upstream also retired apps/desktop/resources/icon.* now that packaging and the
launcher 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 undoing
what the Windows update-install pick had added one commit earlier. The branch was
left requiring msgpackr-extract and @electron/asar without locking either, and
recording the old @ff-labs/fff-node patch hash against the new patch file — so
@t3tools/scripts would 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 lint exits 0 with three warnings,
all in upstream-authored code. vp fmt --check clean over 2,898 files. Tests: web
2,758 / client-runtime 658 / shared 355 / contracts 342 / scripts 239 / server
1,966 passing.

Two known failures, neither from this batch:

  • accountDrainEndToEnd.test.ts hangs 120s — fails identically on a clean
    origin/pylon worktree
    , verified against a baseline checkout.
  • build-desktop-artifact.test.ts fails when run from inside Pylon, because an
    Electron host exports ELECTRON_RUN_AS_NODE=1 and the code under test spreads
    process.env. With env -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.


View with [code]smithAutofix with [code]smith
Need help on this PR? Tag @codesmith with what you need. Autofix is disabled.

StiensWoutand others added 30 commits August 15, 2026 13:00
(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)
JackatDJLand others added 21 commits August 15, 2026 13:16
…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.
@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XXL labels Aug 15, 2026
@github-actions

github-actionsBot commented Aug 15, 2026

Copy link
Copy Markdown

Thread transfer impact

⚠️ The latest CI run did not produce a thread transfer result for fccc704.

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.
@rynfar
rynfar merged commit 3aea56b into pylonAug 15, 2026
11 checks passed
@rynfar
rynfar deleted the upstream/2026-08-15-batch branch August 15, 2026 21:43
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXLvouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

20 participants

@rynfar@StiensWout@Lucenx9@t3dotgg@Bil0000@tsouth89@lnieuwenhuis@gbarros-dev@nateEc@dbalders@mohamedmastouri-hue@Brechard@repparw@tarik02@hey-jj@Sy-D@danvernon@Rishet11@AksharP5@TorbenWetter