Complete scoped live-session MCP sharing and reconnect flow - #513
Merged
Conversation
| }); | ||
|
|
||
| test("connect re-registers the pit with the newly authenticated operator", async () => { | ||
| const creds = { token: "new-account" }; |
ThreatCrush Security Scan6 finding(s) in the 21 file(s) this pull request changes. MEDIUM: 5 | LOW: 1
88 pre-existing finding(s) elsewhere in the repository — **HIGH/CRITICAL**: 8 | **MEDIUM**: 70 | **LOW**: 10Not introduced by this pull request. The full set is in the Security tab.
…and 68 more. Full results in the Security tab. Snippets are redacted; ThreatCrush never prints matched credential material. |
ralyodio
marked this pull request as ready for review
September 13, 2026 10:12
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.
Addresses #497. A pit opened before login can now authenticate, register its live session and create a share without restarting; failed registration is retryable, and reconnecting under a different account replaces the old mirror.
Per-session MCP shares default to read-only and expose separate write, approval and cancellation scopes with canonical
session_*tools. OAuth code/device/refresh flows enforce ownership and the exact share resource, refresh replay revokes replacement credentials, and share expiry/revocation blocks queued controls. OAuth grant revocation also cancels undelivered input, including on refresh-token replay; atomic queue claims recheck both share and grant state. The server records action metadata without terminal input/output in audit rows. README and server docs explain ChatGPT/Claude setup and the Chovy adapter contract, including the raw-terminal permission boundary.The canonical
moshcode.shendpoint also requires moshcoder/moshcoding#118; OAuth remains onapp.moshcode.sh. No native Chovy connector UI is included.Validation: combined suite 3,163 passed / four existing skips; real PTY smoke exercised logged-out startup, a failed registration and retry, remote help delivery, account reconnection and both sessions ending, using a mock API and no coding engine. CI and release now install frozen PWA dependencies so server security coverage is mandatory. Version prepared: 0.98.4.
Independent review identified an unlisted keypress-tool invocation and queued input surviving OAuth grant revocation. Both are fixed with canonical/legacy alias rejection, grant provenance, and atomic claim regression coverage. The independent recheck passed all 16 cases, the PWA suite passed739/739, and all six GitHub checks pass. Production verification follows the coordinated deployment.