Skip to content

chore(upstream): adopt the third 2026-08-19 T3 Code batch - #58

Merged
rynfar merged 13 commits into
pylonfrom
upstream/2026-08-19-batch3
Aug 19, 2026
Merged

rynfar merged 13 commits into
pylonfrom
upstream/2026-08-19-batch3

Conversation

@rynfar

@rynfar rynfar commented Aug 19, 2026

Copy link
Copy Markdown
Collaborator

Adopts 10 of 11 upstream commits from f2d5fc91..a850895f. git cherry reported every one absent from Pylon, and the deferred register was empty going in.

The skip is the notable decision

#6420 hides OpenCode's plan agent when legacy plan mode is off — a setting Pylon does not have. Its planModeEnabled flag arrived upstream in #5551, which this ledger records as skipped at F6: "Pylon keeps plan mode as a first-class composer affordance." The cherry-pick conflicted in SettingsPanels.tsx and modelSelection.ts precisely because it tried to reintroduce the rejected Settings row, so adopting it would have dragged in the setting F6 deliberately refused.

Skipped as a dependent of a skipped commit. The same reasoning should apply to future #6420-adjacent work.

The one substantial conflict

#7153 extracts the sidebar footer into SidebarUtilityMenu, generalizing onFooterPage into currentFooterPage. Pylon's footer had diverged 47/−24 through three fork-only commits — compact footer actions, the usage-page back button, and the Claude drain pill. I took upstream's side on all five hunks, after confirming its SidebarUtilityItem is markup-identical to Pylon's compact row and that SidebarAccountDrainPill sits outside the conflicted block.

That resolution then broke typecheck twice and no test caught it — nothing covers SidebarChrome.tsx. Taking upstream's import line dropped useId, which Pylon's own PylonMark cube logo uses, and canGoBack ended up declared twice. Fixed in d5eb43421. For a file where fork divergence is behavioral rather than textual, typecheck is the only gate.

Verification

  • 17 changed test files, 238 tests, 0 failures.
  • Typecheck clean across web, desktop, server, shared, and contracts.
  • An xhigh review produced 14 findings. Three fixed; one investigated and rejected; the rest recorded in the ledger as upstream implementation choices.

Fixed from the review

  • Usage listed every supported provider, used or not. #7147 switched the summary column from merged.providers to PROVIDER_ORDER. This lands worse in Pylon than upstream — we made Cursor, Grok, and OpenCode disabled by default yesterday, so a normal install now buries its one real provider under four 0 sessions · $0.00 rows.
  • A second T3-branded line in docs/user/source-control.md that I missed on the first resolution pass.
  • handleUsageClick still inlining the mobile-sidebar close that #7153 extracted.

Rejected, with reasoning

The reviewer called the install button vanishing during an update check a regression from #6269. Half right: #6269 does remove the guard that skipped checks while an update was downloaded, so the poller now runs one every four minutes and the button does blink. But hiding install while checking is older, explicitly tested behaviordesktopUpdate.logic.test.ts asserts "hides the install action while checking for a newer release" — and re-checking a queued update is the entire point of #6269. My attempted fix broke that test, which is the correct signal. Left as upstream's trade.

Six further findings are recorded in the ledger rather than fixed here, including an ElectronMenu separator bug that is latent today, and "Close others"/"Close all" skipping the terminal close confirmation #7592 just added.

Model: Claude Opus 5 in Pylon.


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

RakshithBhat03 and others added 13 commits August 19, 2026 16:03
Co-authored-by: GPT-5.6 <noreply@openai.com>
(cherry picked from commit 68d569138b0a2ac250004df69e4d5a663f11574b)
(cherry picked from commit 4347f14b89ed66777ae16def278fd44575ab499b)
(cherry picked from commit cf251c3bd00ff0e0cc90a78b20c043cf58f330ad)
(cherry picked from commit 07f8027d9a542f72b12db927caceebb2c9c72aa7)
(cherry picked from commit 3c0665543f0e31db1e3425d4fcf9f4aea295a8ce)
(cherry picked from commit 8c85b4933fb7202c2d48e4c8f8ea0e1cfdbcdc29)
(cherry picked from commit 51341f2ac1e25032efac13ef6e9652e9c74b48a3)
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit a354dd9ddc08ef67da7e971ad59a3cd095068325)
(cherry picked from commit 0508792c572abd39b1afd6f68cd420f2ca00a484)
(cherry picked from commit a850895f6833b99d90fc6c50192b5eaa4966d5c7)
Two errors from resolving #7153 against Pylon's diverged sidebar footer,
both caught by typecheck rather than tests — nothing covers this file.

`useId` was dropped from the React import by taking upstream's import line,
but Pylon's own `PylonMark` cube logo uses it.

`canGoBack` ended up declared twice inside `SidebarUtilityMenu`: once from
upstream's hoisted declaration and once from Pylon's back-button work in
7a32d19, which upstream's refactor absorbed. Removed Pylon's now-duplicate
declaration and kept its comment, which explains why history is preferred
over a hardcoded route.
**Usage no longer lists providers the user has never used.** #7147 switched
the provider summary column from `merged.providers` to `PROVIDER_ORDER`, so
every supported provider rendered a row whether or not it had any activity.
That is worse in Pylon than upstream: we shipped Cursor, Grok, and OpenCode
disabled by default yesterday, so the common install now buries its one real
provider under four "0 sessions · $0.00" rows. Filtered back to providers with
owned buckets.

**Fixed T3 branding I missed resolving #7588.** The conflicted line was
rebranded but a second added line in the same file was not, so Source Control
troubleshooting told a Pylon user to update a product they do not have.

**Folded `handleUsageClick` onto `closeMobileSidebar`**, which #7153 extracted
and used for its three sibling handlers but left this one inlined.

Deliberately not changed: the reviewer flagged the install button hiding while
a check runs as a regression. It is upstream's tested behavior
("hides the install action while checking for a newer release"), and #6269
exists precisely to re-check a queued update, so the interaction is their
trade to make rather than one to unpick inside an adoption PR.
@rynfar
rynfar merged commit fe7387b into pylon Aug 19, 2026
11 checks passed
@rynfar
rynfar deleted the upstream/2026-08-19-batch3 branch August 19, 2026 22:25
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XXL labels Aug 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants