t3x sync 2026-08-10: 43 upstream commits onto the fork's 91 patches - #64
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Local full suite: green, exit 0. All 15 packages, no failures, no retries. Worth flagging because it is unusual: the previous two syncs each failed the batch run on a single, different upstream-owned file ( (One of those is worth remembering regardless: Waiting on t3x fork CI, which is the authoritative gate. |
|
t3x fork CI: green (run 31354783139) — Everything is now green: typecheck, lint, local full suite, and fork CI. Ready to land whenever you've reviewed. Landing is a force-update, not the merge button: Recovery point if anything goes wrong: Two post-landing steps remain, both mine to do once it lands: disable |
7bcf71e to
0564dbf
Compare
e4fc808 to
4882a70
Compare
Rebuilt — the conflicts were real, and not the artifact I described earlierI was wrong to attribute the The scheduled What changedBranch force-updated
Audit, re-run against the new base
Already doneBoth new upstream workflows arrived active on
Neither had fired.
|
|
Local full suite on File counts moved as expected for the 5 newly absorbed commits — Waiting on fork CI, then landing. |
Rebases the fork's 91 patches onto
upstream/main=3d74474f6, absorbing 43 upstream commits (147 files, +7272/-1497) from merge-basea20923ce4.Important
Do not use the merge button. This branch is the fork's series rebased onto new upstream, so
origin/mainis not its ancestor — GitHub shows it as conflicting and merge/squash/rebase all fail. Land it with:Recovery point: tag
t3x/pre-sync-20260810→7bcf71ee3(pushed to origin).The headline: zero conflicts, and the ledger did not move
All 91 fork patches replayed with no conflicts, and the seam ledger's file-list half came out byte-identical — same 37 files, same +1957/-912.
That is the result, not a skipped step. A clean rebase is exactly when this fork's silent-drift hazards bite, because nothing forces anyone to look at the merge. So each was checked explicitly.
What was audited, and why
Seam deltas (the regression detector). Upstream touched five seam rows this range —
ChatView.tsx,SettingsPanels.tsx,ChatComposer.tsx,contracts/src/settings.ts,AppSymbol.tsx— and every one's fork delta came out unchanged. That means the fork's additions landed on top of upstream's new content rather than displacing it. A resolution that silently re-took fork content over an upstream change shows up here as a row whose delta grew while nobody edited that file.Logic mirrors. Upstream moved four mirror sources:
decider.ts(3 commits),http.ts,ProjectionSnapshotQuery.ts,ClaudeAdapter.ts(2). None of the specific mirrored functions changed —hasOpenBlockingRequest,authenticateRawRouteWithScope,getSnapshot/getCommandReadModel, and the mid-turn steering behaviour are all untouched. The mobile-outbox mirror is unaffected too; the only change underapps/mobile/src/state/is a newusage.ts.The one that looked dangerous.
e70cdb478"stop Claude resume handshakes from completing turns that never ran" (pingdotgg#5710) removes an untargetedturn.completed, which sits close to the fork's auto-resume. It does not reach it: the fork's reactor triggers onaccount.rate-limits.updatedwithstatus: "rejected", not on turn lifecycle. The change makes thread state at decision time strictly more accurate.Parallel paths. No send-gating change anywhere in the range —
sendDisabledReason,hasSendableContent,canSubmitare all untouched, so the fork's queue path is not bypassing a new upstream guard. Upstream's new unsent-drafts feature (pingdotgg#5777) is not a second send path:composerDraftStore.tsis pristine upstream with zero fork delta, and pingdotgg#5777 only surfaces existing drafts in the sidebar.Fork hoists.
ComposerPrimaryActions.tsx— which holds the fork's hoisted send/stop markup, and which silently reverted an upstream restyle two syncs ago — had zero upstream commits this range.The fork's settings row. Upstream overhauled project settings (pingdotgg#5768, pingdotgg#5923) and added breadcrumbs (pingdotgg#5929). The fork's "Notify when an agent needs input" row is in
GeneralSettingsPanel, still mounted byroutes/settings.general.tsx; the overhaul was a different route.Dependencies: the 08-08 failure mode cannot arise here
Upstream changed no dependency. The only manifest edits in the range are
exports-map entries inpackages/shared(threadEnvMode,usageMerge,usageFormat) and one script alias in the rootpackage.json. Sopnpm-lock.yamlneeds no regeneration, and the security sweep carries over untouched rather than being re-derived. Dependabot should stay at 6.Verification
vp run typecheck— exit 0, no errorsvp run lint— exit 0 (only the pre-existing upstreamThemeEditorPanel.tsxunused-disable warning)vp run test --testTimeout=120000 --hookTimeout=120000— runningPost-landing follow-up
Two new upstream workflows arrive active and can only be disabled after they register on the default branch:
.github/workflows/web-preview.yml(ci: label-gated hosted-web preview deploys pingdotgg/t3code#5465).github/workflows/mobile-fingerprint-check.ymlBoth are
pull_request-only, so neither can fire on a force-push landing.mobile-eas-production.ymlwas modified by pingdotgg#5609 but staysdisabled_manually.🤖 Generated with Claude Code