marcode: port upstream WS-reconnect + smoke node fix (PR #72)#72
Merged
Conversation
(cherry picked from commit dbebc38)
… logging - CodexAdapter: backfill tests for child-thread subagent events — task.progress with lastToolName, task.progress with summary, and delta-event suppression so subagent traffic does not pollute the parent transcript. - CursorAdapter: prefer allow_once over allow_always so Full-Access auto-approval does not write Shell(<base>) into ~/.cursor/cli-config.json — that allowlist causes Cursor to skip request_permission entirely and ship empty rawInput on tool_call, leaving the CommandExecutionCard with no command text. - effect-acp protocol.ts: sendNotification now encodes the JSON-RPC frame and logs both decoded and raw stages via logProtocol before enqueueing outgoing, matching the request/response paths.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
PR #72 brings MarCode current with
upstream/main(pingdotgg/t3code) and bundles in-flight provider/adapter polish that was sitting in the worktree.Upstream commits ported
fix(release): use configured node for smoke manifest merge— cherry-picked as2f1e3cc3c. One-line change inscripts/release-smoke.tsso the smoke test invokes the same Node binary running the script (instead of whatevernoderesolves to on PATH inside the heredoc).Ignore stale WebSocket lifecycle events after reconnect— cherry-picked asb408a6857. Adds a per-session id mechanism inapps/web/src/rpc/wsTransport.ts+protocol.tsso the OLD socket's eventually-fired `close`/`error` events are ignored after `reconnect()` swaps in a fresh `TransportSession`. Prevents phantom `closeCode`/`closeReason` flips and tracked-RPC clobbering. +85 lines purely additive — existing reconnect tests still pass unchanged.Both cherry-picks landed cleanly. No conflicts. MarCode rebrand strings (`@marcode/contracts`, `"Unable to connect to the MarCode server WebSocket."`) are preserved.
Bundled provider/adapter polish (`ef574febf`)
Out-of-cycle but co-shipped per established "include WIP in same PR" practice:
Note for reviewers
Upstream's new `isActive` lives at the socket session layer (`WsProtocolLifecycleHandlers.isActive?`, gated on the session-id check inside `createSession`). It is distinct from the existing per-stream `isActive` parameter on `runStreamOnSession` in `wsTransport.ts:233` — they don't collide, but the same name in two places could confuse future readers.
Test plan