Repository navigation
chore(fork): integrate upstream v0.1.1-nightly.20261020.3411 - #35
Merged
Merged
Conversation
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…gg#20306) Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ur own edits (pingdotgg#19775) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ingdotgg#19022) Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ingdotgg#21225) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…gg#20231) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ain sentences (pingdotgg#19767) Co-authored-by: Julius Marminge <julius0216@outlook.com>
…otgg#20305) Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ingdotgg#19186) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…pingdotgg#19177) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
pingdotgg#20086) Co-authored-by: Julius Marminge <julius0216@outlook.com>
…, not 10 (pingdotgg#19467) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
pingdotgg#21263) Co-authored-by: Yaacov <corcos.yaacov@mail.huji.ac.il> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…otgg#21197) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ry selection (pingdotgg#18860) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…#19526) Co-authored-by: Cody Stevens <cody.rageentertainment@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ingdotgg#19157) Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ingdotgg#19887) Co-authored-by: Anton Georgiev <a.georgiev.extern@rewe-group.at> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
pingdotgg#20272) Co-authored-by: hiimchinh <chinhhm@proton.me> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…18851) Co-authored-by: SAPHID <saphid@users.noreply.github.com> Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
… spawn error (pingdotgg#14942) Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
… bottom (pingdotgg#15678) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…pinch (pingdotgg#19241) Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ingdotgg#19065) Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ow" (pingdotgg#11122) (pingdotgg#22223) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#22222) Co-authored-by: Julius Marminge <julius@marminge.se>
…nges" (pingdotgg#14883) (pingdotgg#22225) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… (pingdotgg#22229) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… (pingdotgg#22227) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…k banners" (pingdotgg#20054) (pingdotgg#22228) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…one" (pingdotgg#18653) (pingdotgg#22230) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#18440) (pingdotgg#22231) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#21950) (pingdotgg#22233) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…mes your DNS (pingdotgg#22212) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…why (pingdotgg#22213) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… with no toasts and the right favicon (pingdotgg#22254) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…thout the hover wait (pingdotgg#22255) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#22264) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…dotgg#22277) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rk code
Upstream enabled t3code/prefer-effect-fn and t3code/no-dom-test-environment,
which failed the fork lint gate with 206 findings.
Convert the 176 flagged fork functions that returned Effect.gen to
Effect.fn("<Feature>.<operation>"), following docs/internals/effect-services.md:
existing span names and withSpan names are kept, pipe transforms move after
the generator body, and a few per-event, per-file or lifetime-long helpers use
Effect.fnUntraced with a comment saying why.
Fork DOM tests keep their per-file environment pragma because loom.sh runs
them through the root config, which has no DOM project. Allowlist the fork
test folders in the root vite.config.ts under the ext-lint seam.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The merge left fork code compiling against shapes upstream changed: - Codex readiness now sends config/read. The Switchboard fake app-servers died on it, so the probe waited forever on the test clock. Answer it with an empty config. - ProjectFaviconResolver gained invalidate and checkpoint rows gained ordinalWithinScope. Add them to the fork's test doubles. - Upstream's new config RPC test builds the ws layer without the fork's ComputerNaming service. Mock it there under the computer-naming seam. - Upstream now imports Option in storageCleanup.test.ts and Button in NewTaskContextPickerScreens.tsx, so drop the fork's duplicate imports and lower that file's fleet-connections seam minimum to 2. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
loom.sh check passes every fork test file to the root vitest config, which has no browser project, so UtilitiesView.focus.browser.test.tsx failed to load with "vitest/browser can be imported only inside the Browser Mode". Exclude *.browser.test.* there; CI's web test job runs them in headless Chromium. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
PullRequestToolbar.android.tsx hardcoded "T3 Code, Pull requests" as its accessibility label. Use BRAND_NAME like ThreadListToolbar does. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
kylebegeman
force-pushed
the
integrate/v0.1.1-nightly.20261020.3411
branch
from
October 20, 2026 12:24
46e2ae3 to
a0c0867
Compare
kylebegeman
marked this pull request as ready for review
October 20, 2026 12:24
The merge kept a recording tab's page on every timeout so a queued stop could still run. When the timed-out action never settles, nothing queued behind it can run, so the tab stayed stuck and every retry timed out. Keep the page for the first timeout only; a second timeout before that action settles recreates the tab and dropTab closes the encoder. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Integrates upstream tag
v0.1.1-nightly.20261020.3411(d36b7da, 634 commits) into the Loom fork. The 68 conflicts were resolved by adopting upstream's shape everywhere and moving each fork seam onto it. No fork feature or upstream change was dropped. Four follow-up commits fix what the integration gate found: upstream's new lint rules, fork tests that broke on upstream's changed services, browser-mode tests the gate cannot run, and one new unbranded label.Conflict resolutions
Packaging and shared
packages/shared/package.json: upstream's exports plus the fork's./sha256,./brand,./fork/library-launchand./fork/directorysubpaths.pnpm-workspace.yaml: upstream's settings plus the fork'sprotobufjs: falsebuild opt-out.packages/shared/src/cliRelease.ts: upstream's new release lookup, still routed through the fork'skylebegeman/loomrepository and unprefixed tag helpers (fleet-connect).scripts/build-desktop-artifact.ts: upstream's new permission strings and options, with every product name going throughBRAND_NAME(brand).Mobile connections
features/cloud/linkEnvironment.ts: upstream'sEffect.fnlink generator now carries the fork's guards andnotificationsEnabledpayload. The fork's wrapper stays.features/connection/ConnectionsNewRouteScreen.tsx: upstream'sListRowsign-in row, with the fork's Loom Connect label.features/projects/AddProjectScreen.tsx: the fork's loading and saved-computer empty states, inside upstream's spacing container.features/settings/SettingsEnvironmentDetailRouteScreen.tsx: the fork's OS-managed branch comes first, then upstream's newer-version condition for the manual update hint.features/settings/SettingsMicrophoneRouteScreen.tsx,SettingsProjectOverviewRouteScreen.tsx: union of the imports. Upstream's Button swap is taken.features/settings/environment-maintenance.test.ts: upstream's rewritten release-check tests, adapted to the fork'skylebegeman/loomURLs and unprefixed tags.Mobile threads and client runtime
features/home/ThreadListToolbar.tsx: upstream'sWorkspaceListToolbarRowheader, with the fork's search and filter labels ported on and the new title label branded.features/threads/NewTaskRouteScreen.tsx: fork side. Upstream's unsupported state and Button swap were already in it.features/threads/ThreadComposer.tsx,ThreadFeed.tsx: union of the imports.features/threads/ThreadNavigationSidebar.tsx: upstream'suseMemoaround the fork's threads-only search.features/threads/git/GitOverviewSheet.tsx: upstream'sListRowprops, keeping the fork'scheckpointCapabledisabled state.features/threads/sidebar-native-header-items.ts: upstream's extracted filter header helper now carries the fork's accessibility label, so the iPad sidebar gets it too.lib/threadActivity.test.ts: upstream's table-driven form, with the fork's interrupted and cancelled compaction rows.packages/client-runtime/src/work-log/presentation.ts: upstream's structure and active-work check. The fork keeps separate "interrupted" and "cancelled" compaction labels and its broader token-count guard.Codex
provider/Drivers/CodexDriver.ts: rebuilt from upstream'sEffect.fncreate withCodexUsageHistory. The fork's switchboard snapshot settings and its routed native-usage skip are reapplied.orchestration-v2/Adapters/CodexAdapterV2.ts: upstream throughout, with the switchboard and vault-terminal seams reapplied. The fork's duplicate compaction settle loop is removed in favor of upstream's fix(codex): settle compaction items when turns end pingdotgg/t3code#17265. One fork difference remains as a marked tweak: a turn that completes while compaction is running marks it cancelled.orchestration-v2/Adapters/CodexAdapterV2.test.ts: tests from both sides.Claude and provider core
orchestration-v2/Adapters/ClaudeAdapterV2.ts: upstream'squeryPolicyForTurnandappendSystemPromptFileText, followed by the fork's terminal MCP session options.orchestration-v2/Adapters/ClaudeAdapterV2.test.ts: tests from both sides.provider/ClaudeProvider.ts: upstream's custom API endpoint andusageCheckedAt. The switchboard-routed sign-in check is kept.provider/Drivers/ClaudeDriver.ts: rebuilt from upstream'sEffect.fncreate and cache changes, with the switchboard probes, routing, invalidation and workspace settings reapplied.provider-core/src/server/McpProviderSessions.ts: upstream's HTML render tracking, plus the fork's terminal connections.provider-core/src/server/orchestrationInstructions.ts: both new sections. Upstream's model-options section comes first, then the fork's vault instructions.Orchestration
ProjectionStore.ts: the fork'sgetProviderSessionsForRecovery, then upstream'sEffect.fngetRecoveryThreadIds.ProviderRuntimeRecoveryService.ts: upstream'sEffect.fnreconcile, with the fork's detached-session stop pass.ProviderSessionManager.ts: upstream'sEffect.fnshapes, with the fork's lifecycle thread fallback andonClosedoption.ProviderTurnStartService.test.ts: union of the contracts imports.ThreadLaunchService.test.ts: upstream's Scratch and scheduled-task harness and tests, plus the fork's main-checkout setup test.scheduledTasks/ScheduledTaskService.ts: upstream'sdeleteForThreadandEffect.fnrunNow, with the fork's vault outcome decoration moved onto it.secrets/SecretRequests.ts: the fork's readRef and claimed-ref rejection, both asEffect.fnon upstream's shape.Server core
bin.ts: upstream's socket guard first, then the fork's runtime-capabilities fast path, then upstream's dispatch.cli/config.ts: rebuilt on upstream'sEffect.fn, with the fork's port 0, managed projects root and directory validation.cli/invocation.ts,cli/server.ts: upstream'sEffect.fnshapes, keeping the fork's loom command and branded messages.server.ts:rejectRequestsUntilServing(createHttpServer()). Upstream's worker layers sit next to the fork's lifecycle and library layers.ws.ts: upstream'slayerWsRpc. Clone completion stays on the fork'smakeProjectCloneCompletion, which replaces upstream's duplicate project enrichment calls.git/GitWorkflowService.ts: union of the services. The fork's managed checkout restores sit inside upstream's checkout lease.vcs/VcsDriver.ts: both new optional fields,pathPrefixandmaxOutputBytes.workspace/WorkspaceFileSystem.ts: the fork's lease wrapper around upstream's new readFile body. The restore pre-step skips~/paths too.project/ProjectSetupScriptRunner.test.ts: upstream's leading-space commands, with the fork's open-options and lease assertions.contracts/src/clientRpcPermissions.ts: the fork's core/fork scope split, plus upstream'spreviewCloseand new decoding rules.client-runtime/src/state/commandPermissions.test.ts: union of the imports and tests.Server lifecycle
storageCleanup.ts: upstream's submodule handling,projectPath, archived threads and default-branch fallback. The fork's file rules now govern upstream's forced removes, and the scratch unmount check runs before them. The fork's duplicate thread reader is removed.storageCleanup.test.ts: tests and fixtures from both sides.preview/ServerBrowser.ts: upstream's sanitizing, deadlines, tracking and downloads, combined with the fork's timeout recovery. New in this PR: timeout recovery skips tabs that are recording, so upstream's guaranteedrecordingStopstill runs.preview/ServerBrowser.test.ts: union of the imports, with one TestClock import.Web chat and contracts
cloud/publicConfig.ts: the fork's connect-auth surface delegation, aligned with upstream's production-origin Clerk gating.components/ChatView.logic.ts: upstream's simpler proactive diff action, with the fork'scheckpointCapablefallback.components/ChatView.tsx: upstream's server update description, with the fork's OS-managed runtime note.components/DiffPanel.tsx,diffPanelStore.test.ts: union of the imports. Upstream's session store, the fork's diff header seams, and the tests from both sides.components/ThreadNotificationCoordinator.tsx: the fork's respectful notifications on upstream's hashed tags, plus upstream'srevealWindow.components/device/DevicePanel.tsx: upstream's restructured panel, with the fork's Device QA toolbar row.rightPanelStore.ts: the fork'sopenSurfacewith upstream'sopenProactive.routes/__root.tsx: upstream's new hosts, with the fork'sForkRootmount.contracts/src/settings.ts: upstream'sEasDeviceHostConfigsand schema changes, with the fork's seams.Web palette and settings
CommandPalette.logic.ts,CommandPalette.logic.test.ts: the fork's submenu action and add-project tests, alongside upstream's search-state reducer and its tests.CommandPalette.tsx: ported onto upstream's search reducer. The fork's submenu and add-project intents use the shared reset.settings/ConnectionsSettings.tsx: upstream's connection diagnosis panel and bearer-route check, with the fork's computer details and wording.settings/ProjectSettingsPanel.tsx: merged import line.routes/_chat.index.tsx: upstream's no-wait startup composer, gated on the fork's primary-ready and Library-only rules.docs/fork/seams.tsvis updated for moved and new seams:ws.test.tscomputer-naming, the Android pull requests toolbar brand row, and the lowerNewTaskContextPickerScreens.tsxandCommandPalette.tsxcounts where upstream now owns the shared import.Follow-up commits
fix(fork): satisfy upstream's Effect.fn and DOM test lint rules in fork code: 176 fork functions now useEffect.fnunder upstream'sprefer-effect-fnrule.fnUntracedis used only for per-event or lifetime loops and for helpers already under a span, each with a reason. Fork test paths are allowlisted for theno-dom-test-environmentrule, because the gate runs them through the root config.fix(fork): update fork tests and imports for upstream's changed services: the Codex probe fixtures answer upstream's newconfig/read, and test fixtures getProjectFaviconResolver.invalidate,ordinalWithinScopeand theComputerNamingmock. DuplicateOptionandButtonimports are removed.fix(fork): keep browser-mode tests out of the gate's root-config run:*.browser.test.tsxfiles need apps/web's Chromium project. CI's web job runs them.fix(fork): brand the Android pull requests title label: upstream's new hard-coded "T3 Code, Pull requests" label.Checks
scripts/fork/loom.sh checkBefore the fixes:
no-dom-test-environmentand the rest fromprefer-effect-fn.config/read.UtilitiesView.focus.browser.test.tsxalso failed to load under the root config.Buttonimport. It is now clean too.Final run: exit 0. Every step passed: seams, frozen-lockfile install, fork lint, fork tests (549 files passed and 8 skipped; 4668 tests passed and 23 skipped), Omarchy checks, the web build, and the typechecks for shared, contracts, client-runtime, server, desktop, web, scripts and the Loom benchmarks. The
verify_buildstep and the macOS app build were not run.Model: Claude Opus 5.5. Harness: Claude Code in T3 Code (Loom).
🤖 Generated with Claude Code