Skip to content

chore(coil): merge upstream/main 7445aa733a (335 commits) - #153

Merged
radroid merged 337 commits into
mainfrom
coil/sync-20260920
Sep 20, 2026
Merged

radroid merged 337 commits into
mainfrom
coil/sync-20260920

Conversation

@radroid

@radroid radroid commented Sep 20, 2026 •

Copy link
Copy Markdown
Owner

Closes #151.

Absorbs upstream main through 2026-09-19 (7445aa733a, 335 commits). 23 files conflicted: six retired-workflow modify/deletes kept deleted, two new upstream workflows (release-desktop.yml, desktop-macos-preview-publish.yml) retired on arrival and added to scripts/coil/sync-upstream.sh, the lockfile regenerated from the fork's pre-sync lock, and 14 source conflicts resolved by hand.

Three fork seams shrank because upstream did the fork's work itself:

Other resolutions: ThreadCoilOverlay follows the route body into ThreadRouteView.tsx (pingdotgg#12015, +5/-0); the WSL heap flag moves into upstream's command array for the node-script runtime (pingdotgg#11511); worktree-setups.reconcile takes upstream's startup slot while the fork's hoisted provider-sessions.reconcile stays (pingdotgg#11852); both settings rows, both search entries, both icon imports kept.

Effect rc.112 → rc.115 broke two fork-owned files with no seam involved: HttpServer.TcpAddress → NetAddress.InetAddress (coil/http/testAuth.ts), and stat now floors nanoseconds so a +1 ms utimes fixture read as stale (coil/loop/sentinel.test.ts, now +1 s).

docs/coil/SEAMS.md re-baselined against 7445aa733a: 78 files, +2688/-5064.

Verified locally: typecheck on contracts, shared, server, web, desktop, mobile (0 errors); vp test on every touched test file plus apps/server/src/coil, sourceControl, serverRuntimeStartup, apps/web/src/outbox, scripts/coil (all green); lint and vp fmt --check on every changed file; apps/web build and the server bundle build both pass.

Land as a merge commit, never a squash.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Added safer preview bundle handling with checks for archive size, file paths, duplicate entries, and required content.
    • Added stronger validation for stable and nightly release sources.
    • Added support for the updated mobile testing workflow and T3 Device panel.
    • Added support for the second thread-transfer test scenario.
  • Updates

    • Streamlined web and desktop testing guidance through the Browser panel.
    • Improved release reporting for incomparable scenarios.
  • Removed

    • Removed dedicated iOS debugger and simulator-browser tooling.
    • Disabled the Xcode build integration.

chrisdeeming and others added 30 commits September 14, 2026 09:28
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
… only (pingdotgg#11770)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…e palette open (pingdotgg#11762)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
… on the clone (pingdotgg#11774)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…1765)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…nect login (pingdotgg#11794)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…ingdotgg#11811)

Co-authored-by: Bil0000 <bilal.bakr.elsherif@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…rets (pingdotgg#11760)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
…tgg#11832)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Removed labels from effect service conventions.
Removed labels from UI consistency configuration.
juliusmarminge and others added 24 commits September 18, 2026 20:37
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
…7861)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…exists (pingdotgg#12540)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…gg#12635)

Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…art (pingdotgg#12625)

Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Absorbs upstream main through 2026-09-19 (issue #151). 23 files conflicted;
six were retired-workflow modify/deletes resolved as deleted, plus two new
upstream workflows (release-desktop.yml, desktop-macos-preview-publish.yml)
retired on arrival and added to the sync policy list.

Three fork seams shrank because upstream did the fork's work itself:

- pingdotgg#11673 ships a client-side queue for a running turn. The fork's
  steer-a-running-turn decision (composerSteering.logic.ts) and its label are
  retired; the thread outbox now queues only while disconnected or behind
  earlier messages.
- pingdotgg#11762 rewrote the clone with progress callbacks and a redacted stderr
  tail. The fork's non-zero-exit branch is gone; describeGitCloneFailure
  classifies upstream's tail, NON_INTERACTIVE_GIT_ENV joins CLONE_ENV, and the
  provider is still derived from the remote URL.
- pingdotgg#11679 added an iOS enterBehavior setting with its own Return key commands.
  The fork's soft-keyboard Return intercept is gated on it and its line-break
  flag folds into upstream's insertNewline.

Also: ThreadCoilOverlay follows the thread route body into ThreadRouteView
(pingdotgg#12015); the WSL heap flag sits in upstream's new command array (pingdotgg#11511);
worktree-setups.reconcile lands in upstream's startup slot (pingdotgg#11852).

The effect rc.112 -> rc.115 bump broke two fork-owned files with no seam
involved: HttpServer.TcpAddress is now NetAddress.InetAddress, and stat floors
nanoseconds so a +1 ms utimes fixture read as stale.

pnpm-lock.yaml regenerated from the fork's pre-sync lock. SEAMS.md
re-baselined against 7445aa7: 78 files, +2688/-5064.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Upstream pingdotgg#11410 bundles the Electron main process and stages only the
packages in scripts/lib/desktop-external-packages.ts; the server bundle
already followed scripts/lib/cli-external-packages.ts. The staged app
therefore has no node_modules presence for anything else, by construction.

The gate still required every bare specifier a bundle named, so the first
artifact after the sync failed on x11 and ajv (requires left inside inlined
dependencies) and on effect (a `from "effect"` in embedded prose the comment
scanner does not blank). None of these is a fork exclusion, and none can be
resolved in a bundle upstream ships this way.

Each layer now requires only its own externals. The end-to-end fixtures name
native externals instead of arbitrary packages, and glob attribution is
tested with an explicit list since no default glob names an external.

Verified against the packaged macOS artifact built from this branch:
"imports checked: 4 packages", verification passed.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@radroid

radroid commented Sep 20, 2026

Copy link
Copy Markdown
Owner Author

Second commit: the first packaged macOS artifact built from this branch tripped the fork's asar gate on x11, ajv, ajv-formats and effect — none real. Upstream pingdotgg#11410 now stages only native externals and inlines the rest, so the gate requires only each layer's externals (scripts/lib/desktop-external-packages.ts / cli-external-packages.ts). Re-verified against the artifact: 4 packages checked, verification passed.

@radroid
radroid merged commit 0e03812 into main Sep 20, 2026
@radroid
radroid deleted the coil/sync-20260920 branch September 20, 2026 10:50
radroid added a commit that referenced this pull request Sep 20, 2026
The sync merge (#153) bumped effect to rc.115, which renamed the unstable CLI
helpers Flag.string/Flag.boolean to Flag.String/Flag.Boolean. verify-mac-signature
still used the old names, so the scripts package failed typecheck on main and the
release was withheld. sync-upstream.test.ts also tripped the nodeBuiltinImport
diagnostic; it now carries the same per-file opt-out header upstream puts on its
own scripts tests that shell out to real processes.

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
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 sync needs attention (conflict)