You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Move fork logic out of upstream files near their line limits #45
The 2026-10-22 sync (#38) had 94 conflicts. Apart from three, every one was in an upstream file the fork had edited inline, and a dozen more files broke max-lines after a clean auto-merge. Move existing fork logic out of upstream files so the next syncs cost less (see the new "Keeping the conflict surface small" policy in the fork-maintenance skill, SwapLabsInc/SwapLabs#217).
These upstream files hold fork lines and sit at or near their 300-line limit after #38, so the next upstream edit there will likely conflict or break lint:
GeneralUpdateSettingsSection.tsx carries the fork's restructured row inline: 474 changed lines against upstream. Consider a fork-owned component that upstream's section renders.
Prefer upstream extension points over fork methods inside upstream classes. In sync: upstream ec5eaf96c1 into swaplabs/main #38 the fork's materializePendingMobileSessionTerminal collided with a new upstream method of the same name.
src/wsl-guest/agent-hook-server.ts (303): fix(resume): a paired host resumes each pane's agent after its terminal is lost #30's user-ended-session reporter moved into the fork-owned base class src/wsl-guest/agent-hook-user-ended-session-server.ts. Exactly 300 now. The two userEndedSessions call-site options are the fork's only added lines, so the next upstream line there breaks lint again.
From the 2026-10-28 sync (#64): src/main/agent-hooks/server/server-ingest-remote.ts reached 305 counted lines, and upstream's own copy is now at exactly 300 (stablyai#34724), so it can take no fork lines. #30's 5 lines moved out:
the relay's user-ended notice is read where payload validation drops it (return this.retireRelayUserEndedSession(...) in place of upstream's bare return), since its payload state is one no host admits;
reportsUserEndedSessions is stamped by the fork-owned withRelayUserEndedSessionReports in server-terminal-loss-resume.ts, which wraps the event literal.
The file is now at 299, with 4 changed upstream lines and no added ones. wsl-relay-user-ended-session.test.ts and server-terminal-loss-presence.test.ts fail when either piece is removed.
Activity
kiwidream commentedon Oct 26, 2026
From the 2026-10-26 sync (#58): four upstream files went over
max-linesbecause of fork lines, and the fork's lines moved into fork-owned modules:src/shared/agent-session-resume.ts(307 counted lines): fix(resume): a paired host resumes each pane's agent after its terminal is lost #30'sagentProviderSessionIdentityKeymoved tosrc/shared/agent-provider-session-identity-key.ts. The file now equals upstream's.src/main/runtime/session-graph/session-window-graph.ts(301; upstream alone is at 300): fix(sidebar): nest a delegated remote worker under its coordinator #4's delegated-edge spread became asyncWindowGraphoverride in the fork-owned runtime layersrc/main/runtime/session-lifecycle/projection/delegated-worktree-edge-graph-sync.ts, under fix(resume): a paired host resumes each pane's agent after its terminal is lost #30's layer. The file now equals upstream's.src/main/agent-hooks/server/server-status-update.ts(301): fix(agent-status): keep a pane's agent resume handle unless the host says it is void #1's retained-identity row read becamereadStatusRowsForUpdateinserver-retained-identity.ts. 299 now, with a one-line seam.src/wsl-guest/agent-hook-server.ts(303): fix(resume): a paired host resumes each pane's agent after its terminal is lost #30's user-ended-session reporter moved into the fork-owned base classsrc/wsl-guest/agent-hook-user-ended-session-server.ts. Exactly 300 now. The twouserEndedSessionscall-site options are the fork's only added lines, so the next upstream line there breaks lint again.kiwidream commentedon Oct 28, 2026
From the 2026-10-28 sync (#64):
src/main/agent-hooks/server/server-ingest-remote.tsreached 305 counted lines, and upstream's own copy is now at exactly 300 (stablyai#34724), so it can take no fork lines. #30's 5 lines moved out:return this.retireRelayUserEndedSession(...)in place of upstream's barereturn), since its payload state is one no host admits;reportsUserEndedSessionsis stamped by the fork-ownedwithRelayUserEndedSessionReportsinserver-terminal-loss-resume.ts, which wraps the event literal.The file is now at 299, with 4 changed upstream lines and no added ones.
wsl-relay-user-ended-session.test.tsandserver-terminal-loss-presence.test.tsfail when either piece is removed.