Skip to content

coil: resolve upstream sync (run 31834625372) - #101

Merged
radroid merged 0 commit into
mainfrom
coil/sync-31834625372
Aug 14, 2026
Merged

coil: resolve upstream sync (run 31834625372)#101
radroid merged 0 commit into
mainfrom
coil/sync-31834625372

Conversation

@github-actions

Copy link
Copy Markdown

Automated daily rebase escalated (run 31834625372) — resolved by hand. Fixes #91.

Upstream range

78f462c4e (v0.0.33, the 2026-08-10 merge-base) → 196c8ea095 upstream commits, with the fork's 159 patches replayed on top.

Conflicts and how each was resolved

File Resolution
apps/mobile/src/features/threads/ThreadComposer.tsx Three hunks. Imports: kept upstream's restructured ThreadSettingsSheet / use-thread-settings-sheet-presentation imports (ExistingThreadSettingsRouteSession, NavigationWithFinishTransitioning), re-adding only the fork's resolveComposerSendLabel. sendLabel: kept the fork's helper call, dropping the activeThreadBusy argument (see the semantic change below). Toolbar: kept upstream's new ComposerInlineControl (with emphasized) in place of the old ComposerToolbarTrigger, and re-attached the fork's "Insert line break" button beside it — the same shape as the previous sync's resolution.
apps/web/src/components/ChatView.tsx Import-adjacency only. Both sides kept: upstream's registerFaviconProjectForThread and the fork's three outbox imports.
apps/desktop/src/backend/DesktopBackendConfiguration.test.ts Pure add/add at the same describe anchor. Both blocks kept — upstream's server.asar WSL test first, then the fork's three NODE_OPTIONS heap-headroom tests.
apps/web/src/components/chat/ComposerPrimaryActions.tsx The fork hoists upstream's inline send button, so a stale copy silently reverts an upstream restyle instead of conflicting — exactly the hazard docs/coil/SEAMS.md flags. Upstream pingdotgg#6183 (theme-aware environment artwork) brought the stageBackdropVariant treatment and StageBackdropButtonArt back; both were re-taken from upstream into the hoisted sendButton, keeping only the fork's isRunning aria-label branch. The stale comment claiming upstream had moved off the stage backdrop was corrected.
pnpm-lock.yaml (×2) Regenerated, not merged — seeded from the fork's pre-sync lock, never upstream's. Details below.
scripts/build-desktop-artifact.ts Upstream added the Windows server.asar sidecar and two new DESKTOP_FILE_EXCLUSIONS entries. Took all of upstream's new content and re-appended the fork's ...coilExtraFileExclusions spread as the array's last entry.

Semantic changes upstream made to seams the fork hooks into

  • resolveComposerSendLabel (logic mirror) followed upstream fix(mobile): steer active turns by default pingdotgg/t3code#6543 fix(mobile): steer active turns by default. Upstream removed activeThreadBusy from ThreadComposerProps entirely and dropped it from the sendLabel ternary, so the fork's mirrored helper, its type, its doc comment and its test lost that condition too. Left unchanged this would not have compiled — but that is luck, not a guard: the mirror is exactly the shape SEAMS.md warns about, where a fork call site quietly ignores a changed upstream condition.
  • ComposerPrimaryActions send-button hoist re-derived against upstream feat(web): make environment artwork theme aware pingdotgg/t3code#6183 (see the table).
  • Re-checked and unchanged this range — no action needed: orchestration/decider.ts and apps/server/src/http.ts (both mirrors byte-stable), and all four steering-allowlist adapters (ClaudeAdapter / CursorAdapter / GrokAdapter / OpenCodeAdapter sendTurn) have zero upstream commits in this range, so STEERABLE_PROVIDER_DRIVER_KINDS is still accurate.
  • Parallel path apps/coil-home/: apps/marketing/ had zero upstream commits this range — nothing worth porting.
  • Non-conflicting seams verified still mounted after the replay: __root.tsx (4 components), _chat.$environmentId.$threadId.tsx (AutoResumeOverlay), server.ts (CoilLayerLive / CoilRoutesLive), serverRuntimeStartup.ts (reconcile.interrupted-turns), SettingsPanels.tsx (notifyOnNeedsInput), SidebarChrome.tsx (APP_WORDMARK_SUFFIX, despite 6 upstream commits on that file), build-desktop-artifact.ts (T3X_DESKTOP_APP_ID).

Lockfile

Both lock conflicts were resolved to the fork's pre-sync lock, then pnpm install regenerated it against upstream's new manifests. Every resolution the 2026-08-08 / 2026-08-11 security sweeps depend on survived, re-verified individually: undici 6.28.0 / 7.29.0 / 8.10.0, js-yaml 4.3.1, postcss 8.5.26, svgo 4.0.2, astro 7.2.0, sharp 0.35.3, @modelcontextprotocol/sdk 1.30.0, @hono/node-server 2.1.0, electron 41.10.3. The 23-line overrides: block in pnpm-workspace.yaml applied cleanly. Net movement is upstream's own manifest churn: @legendapp/list 3.3.3 → 3.3.5 (now a catalog entry), new culori / jszip / jsonc-parser / @electron/asar / msgpackr-extract deps, and re-hashed patch entries.

Dropped patches

One, and it is a merge artefact rather than an upstream absorption. fix(deps): restore the security sweep's resolutions lost in the sync became empty: both lock commits in the series resolve to the fork's pre-sync lock, which already contains that repair, so the later commit had nothing left to apply. The behaviour it restored is present in the tree — see the version list above. Fork patch count is 158, was 159.

Verify

All three green on this branch.

Step Result
vp run typecheck pass — 0 errors across 17 packages. Only Effect-LSP suggestions, all in upstream-owned files (decider.ts, workflowScriptQuery.ts, GitHubPullRequestCli.ts, …).
vp run lint pass — 0 errors. 9 warnings, all in upstream-owned files (pullRequest/**, scripts/lib/cli-external-packages.test.ts).
vp run test --testTimeout=120000 pass — 868 test files, 8,559 tests passed, 7 skipped, 0 failed.

Reviewer notes

  • Do not use the GitHub merge button — this is the fork's patch series rebased onto new upstream, so main is not an ancestor. Land it per Landing a sync PR.
  • One thing deliberately left out of scope. Upstream's new Windows server.asar sidecar has its own WINDOWS_SERVER_ASAR_IGNORE_GLOBS, which mirrors DESKTOP_FILE_EXCLUSIONS by hand. The fork's T3X_DESKTOP_FILE_EXCLUSIONS hook feeds only DESKTOP_FILE_EXCLUSIONS, so the fork's 67 globs do not reach the sidecar. That is arguably correct — the fork's globs target app.asar payload (source maps, Clerk browser SDK, the shiki tree) while the sidecar holds the server tree — but it is a new upstream packing path that the fork's size work has never seen, and it wants its own look before the next Windows release.
  • docs/coil/SEAMS.md is not re-baselined in this PR: the ledger's own instructions make that a full regeneration against the new merge-base, which is a separate change rather than a sync resolution.

@radroid
radroid merged commit fdf853a into main Aug 14, 2026
1 check passed
@radroid
radroid deleted the coil/sync-31834625372 branch August 14, 2026 20:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[coil-sync] daily rebase needs attention (conflict)

1 participant