Skip to content

chore(upstream): adopt the 2026-08-16 T3 Code batch - #44

Merged
rynfar merged 14 commits into
pylonfrom
upstream/2026-08-16-batch
Aug 17, 2026
Merged

chore(upstream): adopt the 2026-08-16 T3 Code batch#44
rynfar merged 14 commits into
pylonfrom
upstream/2026-08-16-batch

Conversation

@rynfar

@rynfar rynfar commented Aug 16, 2026

Copy link
Copy Markdown
Collaborator

Upstream t3code-upstream/main moved ten commits past Pylon's review cursor. Nine are worth having and one points Windows users at a worse experience, so this branch adopts nine and skips one.

What landed

  • #6663 tightens the themed-palette selector to html[data-theme-id]:not([data-theme-id=""]), closing the watch item left open by the 2026-08-15 batch.
  • #7107 reworks the Advanced theme editor from ~60 raw color roles into named families, deriving paired foregrounds only for the family you touch so imported palettes survive editing.
  • #6619 gives mobile the built-in theme library and System/Light/Dark selection, and moves the canonical palettes and preview generation into packages/shared so web and mobile cannot drift.
  • #7132 stops a keyboard-highlighted command menu item from resting under the scroll-fade mask.
  • #6267 and #7157 remove ~960 lines of duplicate and stale tests plus four test-only exports.
  • #7171 replaces the CLAUDE.md symlink with an @AGENTS.md pointer file, which Windows checkouts cannot corrupt.
  • #6392 truncates long commit-dialog paths from the start so the filename stays visible.
  • #6635 lifts two Android thread-settings screens clear of the status bar.

Skipped: #7208, which drops the Windows-only silent-install warning from the update confirmation. Upstream's reason is that install times have improved — a claim about T3's pipeline, not Pylon's Windows builds. The warning describes real behavior (the app closes for minutes with no installer window), and without it Pylon reads as hung.

Pylon-first resolutions

  • ProviderIcon.tsx — kept Pylon's Circle and providerIconKind provider marks while taking upstream's useAppearancePreferences.
  • themePalette.ts — took upstream's file wholesale as the T3 Chat palettes move to packages/shared, then restored the three Pylon comment rebrands that survive the deletion.
  • ProviderRegistry.test.ts — kept Pylon's rate-limit projection test, which sits immediately before the test upstream deletes.
  • Branding on #6619 follows the F10 precedent: the mobile default theme id stays t3-code so saved preferences keep resolving, while its visible label, the new docs/user/mobile-appearance.md, and two doc comments became Pylon's.

pnpm-lock.yaml is untouched — packages/shared/package.json gains subpath exports only.

Verification

Typecheck clean across web, mobile, shared, t3, and desktop. vp fmt --check clean over 96 files. Tests: mobile 790/790, shared 10, server ProviderRegistry 52, scripts mobile-showcase 22, web 2,738/2,741.

The three web failures are in cloud/connectCliAuth.test.ts, which this branch does not touch, which fails in isolation, and which fails identically on a clean origin/pylon checkout. vite.config.ts assigns the repo's mapped VITE_ keys into process.env at module scope and Vite exposes them on import.meta.env, so the test reads a local .env that supplies T3CODE_CLERK_CLI_OAUTH_CLIENT_ID. CI has no such .env. Fixed separately in #45.

(An earlier revision of this description blamed vite's define: block. That was wrong — scoping define out of test mode left the tests failing unchanged.)

vp lint could not run in this environment at all, on this branch or on untouched files — oxlint fails to load oxlint-plugin-t3code/index.ts with ERR_UNKNOWN_FILE_EXTENSION under both Node 22 and Node 24. Lint coverage here is unproven locally; CI owns it.

Not verified in a real client. #6619 spans native headers, sheets, terminal, and code review, so a simulator pass is the obvious next step.

Model and harness: Claude Opus 5 via the review-t3-upstream skill in Pylon.


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

eddy-naboulet and others added 10 commits August 16, 2026 11:26
Co-authored-by: maria <maria@kuuro.net>
(cherry picked from commit e58cbb9e75e97448f88d0fe2eccc8a45cd980394)
(cherry picked from commit 2f486ab80c748b4d8e3d3b17e49b5a327cb93335)
…e (#7132)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
(cherry picked from commit d484735c64ed98a0737b594818996660f72c1616)
(cherry picked from commit 27732293373fbb081a966b437ae022afe77db16b)
(cherry picked from commit 3583cd27dccda1b35fe80d9411a95a7217cc8176)
(cherry picked from commit d23b181da0cee78bcc327b6673218b776a3cb023)
…nk (#7171)

(cherry picked from commit 4cb676cc1612e6220246cd5f8abdd2bc284e1a97)
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit 4c1d99d7f3e722c5e88c0dda6a96f9de8f296115)
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit 89c52a33179bc0932b901f637ad9acb615423436)
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XXL labels Aug 16, 2026
@github-actions

github-actions Bot commented Aug 16, 2026

Copy link
Copy Markdown

Thread transfer impact

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

This comment will update automatically after the next completed run.

rynfar added 4 commits August 16, 2026 12:19
Two regressions arrived with the #7107 adoption.

Inspect picks that folded into the canvas or accent family skipped the
role-filter reset, so in Advanced mode with a filter typed the field the
reveal scrolls to was not in the DOM.

Advanced hex fields canonicalized to OKLCH on every keystroke, and '#ff0'
is a valid color, so typing '#ff0000' snapped to yellow on its way to red.
The family is still derived from the typed value; only the edited field
keeps what was typed, and save canonicalizes as before.
Adds the xhigh review outcome, the two Pylon-first fixes with their
browser A/B evidence, the iOS Simulator theme pass, and the finding that
Pylon fixtures must come from ~/.pylon-code rather than ~/.t3.
The entry blamed vite's define block. Instrumenting the config showed
test mode is detected and scoping define out left the tests failing
unchanged, so the real mechanism is the process.env assignment at config
module scope combined with Vite's VITE_ exposure.
@rynfar
rynfar merged commit 9127f9a into pylon Aug 17, 2026
11 checks passed
@rynfar
rynfar deleted the upstream/2026-08-16-batch branch August 17, 2026 03:07
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.

8 participants