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

FileResolution
apps/mobile/src/features/threads/ThreadComposer.tsxThree 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.tsxImport-adjacency only. Both sides kept: upstream's registerFaviconProjectForThread and the fork's three outbox imports.
apps/desktop/src/backend/DesktopBackendConfiguration.test.tsPure 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.tsxThe 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.tsUpstream 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#6543fix(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 / OpenCodeAdaptersendTurn) 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.

StepResult
vp run typecheckpass — 0 errors across 17 packages. Only Effect-LSP suggestions, all in upstream-owned files (decider.ts, workflowScriptQuery.ts, GitHubPullRequestCli.ts, …).
vp run lintpass — 0 errors. 9 warnings, all in upstream-owned files (pullRequest/**, scripts/lib/cli-external-packages.test.ts).
vp run test --testTimeout=120000pass — 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 mainAug 14, 2026
1 check passed
@radroid
radroid deleted the coil/sync-31834625372 branch August 14, 2026 20:14
radroid added a commit that referenced this pull request Aug 17, 2026
The landing branch is PR #101's rebase (base 196c8ea, 95 upstream
commits) plus this sync's follow-up fixes; four rows and the header move
by comment-length and the enqueue-toast fix.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
radroid added a commit that referenced this pull request Aug 18, 2026
The landing branch is PR #101's rebase (base 196c8ea, 95 upstream
commits) plus this sync's follow-up fixes; four rows and the header move
by comment-length and the enqueue-toast fix.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for freeto 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

@radroid
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
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

FileResolution
apps/mobile/src/features/threads/ThreadComposer.tsxThree 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.tsxImport-adjacency only. Both sides kept: upstream's registerFaviconProjectForThread and the fork's three outbox imports.
apps/desktop/src/backend/DesktopBackendConfiguration.test.tsPure 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.tsxThe 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.tsUpstream 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#6543fix(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 / OpenCodeAdaptersendTurn) 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.

StepResult
vp run typecheckpass — 0 errors across 17 packages. Only Effect-LSP suggestions, all in upstream-owned files (decider.ts, workflowScriptQuery.ts, GitHubPullRequestCli.ts, …).
vp run lintpass — 0 errors. 9 warnings, all in upstream-owned files (pullRequest/**, scripts/lib/cli-external-packages.test.ts).
vp run test --testTimeout=120000pass — 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 mainAug 14, 2026
1 check passed
@radroid
radroid deleted the coil/sync-31834625372 branch August 14, 2026 20:14
radroid added a commit that referenced this pull request Aug 17, 2026
The landing branch is PR #101's rebase (base 196c8ea, 95 upstream
commits) plus this sync's follow-up fixes; four rows and the header move
by comment-length and the enqueue-toast fix.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
radroid added a commit that referenced this pull request Aug 18, 2026
The landing branch is PR #101's rebase (base 196c8ea, 95 upstream
commits) plus this sync's follow-up fixes; four rows and the header move
by comment-length and the enqueue-toast fix.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for freeto 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

@radroid
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
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

FileResolution
apps/mobile/src/features/threads/ThreadComposer.tsxThree 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.tsxImport-adjacency only. Both sides kept: upstream's registerFaviconProjectForThread and the fork's three outbox imports.
apps/desktop/src/backend/DesktopBackendConfiguration.test.tsPure 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.tsxThe 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.tsUpstream 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#6543fix(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 / OpenCodeAdaptersendTurn) 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.

StepResult
vp run typecheckpass — 0 errors across 17 packages. Only Effect-LSP suggestions, all in upstream-owned files (decider.ts, workflowScriptQuery.ts, GitHubPullRequestCli.ts, …).
vp run lintpass — 0 errors. 9 warnings, all in upstream-owned files (pullRequest/**, scripts/lib/cli-external-packages.test.ts).
vp run test --testTimeout=120000pass — 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 mainAug 14, 2026
1 check passed
@radroid
radroid deleted the coil/sync-31834625372 branch August 14, 2026 20:14
radroid added a commit that referenced this pull request Aug 17, 2026
The landing branch is PR #101's rebase (base 196c8ea, 95 upstream
commits) plus this sync's follow-up fixes; four rows and the header move
by comment-length and the enqueue-toast fix.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
radroid added a commit that referenced this pull request Aug 18, 2026
The landing branch is PR #101's rebase (base 196c8ea, 95 upstream
commits) plus this sync's follow-up fixes; four rows and the header move
by comment-length and the enqueue-toast fix.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for freeto 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

@radroid
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
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

FileResolution
apps/mobile/src/features/threads/ThreadComposer.tsxThree 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.tsxImport-adjacency only. Both sides kept: upstream's registerFaviconProjectForThread and the fork's three outbox imports.
apps/desktop/src/backend/DesktopBackendConfiguration.test.tsPure 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.tsxThe 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.tsUpstream 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#6543fix(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 / OpenCodeAdaptersendTurn) 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.

StepResult
vp run typecheckpass — 0 errors across 17 packages. Only Effect-LSP suggestions, all in upstream-owned files (decider.ts, workflowScriptQuery.ts, GitHubPullRequestCli.ts, …).
vp run lintpass — 0 errors. 9 warnings, all in upstream-owned files (pullRequest/**, scripts/lib/cli-external-packages.test.ts).
vp run test --testTimeout=120000pass — 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 mainAug 14, 2026
1 check passed
@radroid
radroid deleted the coil/sync-31834625372 branch August 14, 2026 20:14
radroid added a commit that referenced this pull request Aug 17, 2026
The landing branch is PR #101's rebase (base 196c8ea, 95 upstream
commits) plus this sync's follow-up fixes; four rows and the header move
by comment-length and the enqueue-toast fix.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
radroid added a commit that referenced this pull request Aug 18, 2026
The landing branch is PR #101's rebase (base 196c8ea, 95 upstream
commits) plus this sync's follow-up fixes; four rows and the header move
by comment-length and the enqueue-toast fix.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for freeto 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

@radroid
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
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

FileResolution
apps/mobile/src/features/threads/ThreadComposer.tsxThree 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.tsxImport-adjacency only. Both sides kept: upstream's registerFaviconProjectForThread and the fork's three outbox imports.
apps/desktop/src/backend/DesktopBackendConfiguration.test.tsPure 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.tsxThe 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.tsUpstream 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#6543fix(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 / OpenCodeAdaptersendTurn) 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.

StepResult
vp run typecheckpass — 0 errors across 17 packages. Only Effect-LSP suggestions, all in upstream-owned files (decider.ts, workflowScriptQuery.ts, GitHubPullRequestCli.ts, …).
vp run lintpass — 0 errors. 9 warnings, all in upstream-owned files (pullRequest/**, scripts/lib/cli-external-packages.test.ts).
vp run test --testTimeout=120000pass — 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 mainAug 14, 2026
1 check passed
@radroid
radroid deleted the coil/sync-31834625372 branch August 14, 2026 20:14
radroid added a commit that referenced this pull request Aug 17, 2026
The landing branch is PR #101's rebase (base 196c8ea, 95 upstream
commits) plus this sync's follow-up fixes; four rows and the header move
by comment-length and the enqueue-toast fix.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
radroid added a commit that referenced this pull request Aug 18, 2026
The landing branch is PR #101's rebase (base 196c8ea, 95 upstream
commits) plus this sync's follow-up fixes; four rows and the header move
by comment-length and the enqueue-toast fix.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for freeto 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

@radroid
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
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

FileResolution
apps/mobile/src/features/threads/ThreadComposer.tsxThree 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.tsxImport-adjacency only. Both sides kept: upstream's registerFaviconProjectForThread and the fork's three outbox imports.
apps/desktop/src/backend/DesktopBackendConfiguration.test.tsPure 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.tsxThe 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.tsUpstream 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#6543fix(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 / OpenCodeAdaptersendTurn) 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.

StepResult
vp run typecheckpass — 0 errors across 17 packages. Only Effect-LSP suggestions, all in upstream-owned files (decider.ts, workflowScriptQuery.ts, GitHubPullRequestCli.ts, …).
vp run lintpass — 0 errors. 9 warnings, all in upstream-owned files (pullRequest/**, scripts/lib/cli-external-packages.test.ts).
vp run test --testTimeout=120000pass — 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 mainAug 14, 2026
1 check passed
@radroid
radroid deleted the coil/sync-31834625372 branch August 14, 2026 20:14
radroid added a commit that referenced this pull request Aug 17, 2026
The landing branch is PR #101's rebase (base 196c8ea, 95 upstream
commits) plus this sync's follow-up fixes; four rows and the header move
by comment-length and the enqueue-toast fix.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
radroid added a commit that referenced this pull request Aug 18, 2026
The landing branch is PR #101's rebase (base 196c8ea, 95 upstream
commits) plus this sync's follow-up fixes; four rows and the header move
by comment-length and the enqueue-toast fix.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for freeto 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

@radroid
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
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

FileResolution
apps/mobile/src/features/threads/ThreadComposer.tsxThree 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.tsxImport-adjacency only. Both sides kept: upstream's registerFaviconProjectForThread and the fork's three outbox imports.
apps/desktop/src/backend/DesktopBackendConfiguration.test.tsPure 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.tsxThe 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.tsUpstream 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#6543fix(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 / OpenCodeAdaptersendTurn) 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.

StepResult
vp run typecheckpass — 0 errors across 17 packages. Only Effect-LSP suggestions, all in upstream-owned files (decider.ts, workflowScriptQuery.ts, GitHubPullRequestCli.ts, …).
vp run lintpass — 0 errors. 9 warnings, all in upstream-owned files (pullRequest/**, scripts/lib/cli-external-packages.test.ts).
vp run test --testTimeout=120000pass — 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 mainAug 14, 2026
1 check passed
@radroid
radroid deleted the coil/sync-31834625372 branch August 14, 2026 20:14
radroid added a commit that referenced this pull request Aug 17, 2026
The landing branch is PR #101's rebase (base 196c8ea, 95 upstream
commits) plus this sync's follow-up fixes; four rows and the header move
by comment-length and the enqueue-toast fix.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
radroid added a commit that referenced this pull request Aug 18, 2026
The landing branch is PR #101's rebase (base 196c8ea, 95 upstream
commits) plus this sync's follow-up fixes; four rows and the header move
by comment-length and the enqueue-toast fix.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for freeto 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

@radroid
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
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

FileResolution
apps/mobile/src/features/threads/ThreadComposer.tsxThree 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.tsxImport-adjacency only. Both sides kept: upstream's registerFaviconProjectForThread and the fork's three outbox imports.
apps/desktop/src/backend/DesktopBackendConfiguration.test.tsPure 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.tsxThe 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.tsUpstream 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#6543fix(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 / OpenCodeAdaptersendTurn) 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.

StepResult
vp run typecheckpass — 0 errors across 17 packages. Only Effect-LSP suggestions, all in upstream-owned files (decider.ts, workflowScriptQuery.ts, GitHubPullRequestCli.ts, …).
vp run lintpass — 0 errors. 9 warnings, all in upstream-owned files (pullRequest/**, scripts/lib/cli-external-packages.test.ts).
vp run test --testTimeout=120000pass — 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 mainAug 14, 2026
1 check passed
@radroid
radroid deleted the coil/sync-31834625372 branch August 14, 2026 20:14
radroid added a commit that referenced this pull request Aug 17, 2026
The landing branch is PR #101's rebase (base 196c8ea, 95 upstream
commits) plus this sync's follow-up fixes; four rows and the header move
by comment-length and the enqueue-toast fix.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
radroid added a commit that referenced this pull request Aug 18, 2026
The landing branch is PR #101's rebase (base 196c8ea, 95 upstream
commits) plus this sync's follow-up fixes; four rows and the header move
by comment-length and the enqueue-toast fix.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for freeto 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

@radroid