Repository navigation
chore(fork): merge upstream 2026-10-17 - #200
Merged
Merged
Conversation
…tion (pingdotgg#20716) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
pingdotgg#20714) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…on (pingdotgg#20713) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…oization (pingdotgg#20712) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…dotgg#20711) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ation (pingdotgg#20710) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
pingdotgg#20708) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…pingdotgg#20707) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…tion (pingdotgg#20705) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
pingdotgg#20704) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…otgg#20703) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ation (pingdotgg#20701) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#20699) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ngdotgg#20698) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ion (pingdotgg#20697) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…g#20696) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…on (pingdotgg#20695) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…pingdotgg#20694) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gdotgg#20693) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#20692) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gdotgg#20691) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#20690) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#20689) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#20688) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…tion (pingdotgg#20687) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ion (pingdotgg#20686) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
pingdotgg#20685) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ngdotgg#20684) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…tion (pingdotgg#20683) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…memo" (pingdotgg#20820) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…o" (pingdotgg#20799) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#20815) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…emo" (pingdotgg#20816) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…otgg#20818) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…o" (pingdotgg#20822) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…pingdotgg#20798) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ngdotgg#20834) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#20807) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…use memo" (pingdotgg#20824) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…without "use memo" (pingdotgg#20827) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…hanges (pingdotgg#20819) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ngs row (pingdotgg#20830) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ry result row (pingdotgg#20817) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…g the filter (pingdotgg#20840) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ing (pingdotgg#20838) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#20837) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
pingdotgg#20814) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Merges
pingdotgg/t3codemain (371 commits) into fork main. The daily Fork Sync failed on 2026-10-15, 2026-10-16 and 2026-10-17 with merge conflicts. This merge also brings the Expo fixes that the fork APK needs: pingdotgg#20131 and pingdotgg#20389.Commits
chore(fork): merge upstream 2026-10-17: the merge and its conflict resolutions.fix(fork): fork web code follows the React Compiler lint rules: fork files dropuseMemo/useCallbackand follow the compiler rules that upstream now lints on every web file.test(fork): machine level standard keeps access and relay management out: test expectations for check 1 below.compactRelativeTimeLabelis no longer exported (knip);machineMap.tsformatting; five fork web files droptry/finally, because upstream'sreactCompilerCoverage.test.tsfails on any file the compiler skips (sibling pairing moved to the module functionpairSiblingOrigin); the Fork CI web job installs headless Chromium for upstream's new browser tests.Conflicted files
Upstream code is kept everywhere. Fork behavior stays in fork files or one-line hooks.
Server
orchestrator/tools.ts: the forkschedule_tasktext (model selection) plus upstream's new sentence about untrusted webhook data.ProviderRuntimeRecoveryService.ts: upstream'sstoppedThisPassand the forkrecoverInterruptedTurnsboth pass toreconcileProjection. The fork fallbacksettledRunWithOpenBackgroundWorkstill runs after upstream'srestartContinuationRun.RestartContinuation.ts,RecoverInterruptedTurns.ts:isNativeMaintenanceCommandmoved toCommandPolicy.tsupstream; imports follow.ReviewService.ts: upstream moved the workspace check toKnownWorkspaces. The fork check for worktrees from the worktree path template (isT3CreatedWorktree) stays after it.GitVcsDriverCore.ts: upstream'srefuseOptionLikeRefNamechecks and--separator, with the fork template branch name (newRefName).Mobile
ConnectionsNewRouteScreen.tsx: upstream droppedreplaceWithHome. The fork staged client access (access.stage()and undo on failure) stays.Web
ChatView.tsx: upstream moved the right panel intochat/RightPanelSurfaceContent.tsx. The fork machines panel is onecase "machines"there.onResumeLimitedThreadstays onQueuedRunsControl.shouldShowScriptTerminalimport stays.Sidebar.tsx: upstream moved the thread list intouseSidebarThreadsanduseSidebarLookups. The owner filter (ForkSidebar.useSidebarOwnerFilter) now runs inuseSidebarLookups. The group tabs (ForkSidebar.useSidebarGroups) run inuseSidebarThreadsand give the partition its visible threads. The settled tail resets on scope, tab and owner filter. Drag hooks, header rows, empty texts and draft scope are unchanged.routes/_chat.pull-requests.tsx: upstream moved the query parser to@t3tools/client-runtime/pull-request-queryand the scope logic intousePullRequestScope/usePullRequestQueryFilters. The forkorg:/owner:parsing is now a wrapper inpullRequestOwnerFilter.logic.ts(parsePullRequestQueryWithOwners) around the upstream parser. The owner filter runs insideusePullRequestScope, so the scope, project menu and per-server split read the owner's projects as before. Filter chips are unchanged.pullRequestList.logic.tsis now equal to upstream.SettingsPanels.tsx,useAvailableSettingsSearchItems.ts,useScopedSettings.ts,SettingsSidebarNav.tsx,ConnectionsSettings.tsx,ProjectActionsSettings.tsx,projectScriptEditor.tsx: upstream style without manual memo, with the same fork hooks (Fork.*rows, restore patch, idle install, sidebar group search item, machine map share, fork search items,selectVisibleNetworkEndpoints,previewOverlay/runInBackground).ChatMarkdown.tsx,ChatHeader.tsx,ThreadNotificationCoordinator.tsx,AppSidebarLayout.tsx,__root.tsx,useSidebarProjectGroups.ts: upstream code plus the fork hook (thread link chips, header pin menu,replacedByTag, pinned scripts, paused/pending surfaces with upstream'sBrowserChromeThemeSync, unsorted groups).timestampFormat.ts: upstream added the samenowMsparameter; upstream version taken.Card block (known exception): upstream changed one line in the thread card: the time label is now
<RelativeTimeLabel>, so only the label re-renders each minute. The fork card keeps its layout and uses that component.Checks
AuthAdministrativeScopes, andAuthStandardClientScopesnow hasaccess:read,access:writeandrelay:write. Browser client sessions still dropaccess:writeandrelay:write(browserGrantFor). But the fork levelstandardmapped toAuthStandardClientScopes, so everystandardarrow would have gained them. Fix inpackages/contracts/src/machineMap.ts:standardisAuthStandardClientScopeswithout those three scopes, andadminisAuthStandardClientScopes.apps/machine-map/SPEC.md(MM-302 levels) is updated.The Cloudflare Access owner login (
forkEnvironmentAuth.ts) also usedAuthStandardClientScopes. That login covers every browser whileclientAccessisoff(the default), an unknown key underobserve, and the desktop service token underenforce. With the new upstream set, a stolen owner cookie could mint pairing links that outlive it (MM-917, MM-922). It now usesMACHINE_LEVEL_SCOPES.standard, as before the merge. The owner-login tests inMachineMapAuth.test.tscompare againstMACHINE_LEVEL_SCOPES.standard, so they catch this next time. Normal pairing links keep upstream's new default. No other fork code grantsAuthStandardClientScopesto a browser or token.apps/web,apps/mobileandpackages/client-runtimeexits with no errors. Behavior notes: the sidebar owner filter now clears the thread selection insetOwnerFilter(like upstream's scope change), not in an effect. Limit: an owner filter change from outside that handler, for example restore defaults, does not clear the selection. Five effects got a disable comment with a reason, as upstream does.<webhook-data-…>tags.Verification
apps/web,apps/server,apps/mobile,packages/contractspass.pullRequestQueryandmachineMapResources. All pass. On the agent machine, the git hook and split index tests needGIT_CONFIG_GLOBAL=/dev/null(a globalcore.hooksPath). One new upstreamReviewServicetest fails only inside a T3-created worktree, because the fork template worktree check accepts paths inside it. A plain CI checkout has no marker.scripts/fork-android-apk.shis unchanged; itsio.github.jakex7.peekrename is left for the Android thread.