Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
4 tasks
5 tasks
8 tasks
4 tasks
Spectralgo
referenced
this pull request
in Spectralgo/spectralSet
Apr 24, 2026
Document code-level structural verification of Wave A Today-as-pane across all 12 walk steps at origin/main HEAD f3265b1. Interactive items (screenshots, xterm hotkey bubbling, stopwatch timing, visual flicker) flagged for operator hand-off per precedent set by ss-fa4 — polecat worktrees cannot run Electron interactively. No code anomalies found; structural acceptance gates (no route eclipse, sidebar mounted, probe-fail in-pane empty state, persist v10) all satisfied by the merged code.
AviPeltz
added a commit
that referenced
this pull request
May 10, 2026
Resolves 11 findings from greptile + coderabbit review on the remote-control feature: - #1 (P1): `remoteControl.get` is now `publicProcedure` and accepts the raw token, hashing it for constant-time comparison against the row's `tokenHash`. Anonymous viewers can resolve `wsUrl` without a Superset session — the share link itself is the credential. - #10 (Major): the host-side `sendInput` no longer round-trips bytes through a latin1 string before `pty.write` re-encodes them as UTF-8 (which corrupted any byte ≥ 0x80). Adds `pty.writeBytes` that forwards a `Uint8Array` straight to the daemon. - #2: a single `cleanup()` helper now handles `onClose` and `onError`, removing the viewer from the session's set, detaching the handle, and unsubscribing the revoke listener idempotently. Fixes a leak where abrupt teardown could orphan up to four `MAX_VIEWERS` slots until host restart. - #8: client WebSocket payloads are validated via a zod discriminated union before dispatch; `resize` and `runCommand` are wrapped in try/catch like `input` was. - #5: `TerminalRemoteControlButton` hydrates from `remoteControl.listForWorkspace` on mount and refreshes every 30s, so the live badge survives remounts and reflects backend revocation / expiry. The original `webUrl` is unrecoverable after `create` (the cloud only stores `tokenHash`), so Copy Link is disabled when we don't hold it. - #3: handshake-time auth result is cached on the WS context; per- message handling just compares `expiresAt` against `now` instead of re-running HMAC + SHA-256 at 200/s/viewer. - #4: the bearer token is now passed in the URL fragment (`#remoteControlToken=…`), not the query string. The fragment never reaches the server, never appears in `Referer` headers, and stays out of access logs and history. A new `RemoteTerminalLoader` client component reads `location.hash` after mount. - #7: the web viewer writes a one-time dim hint into xterm when the user types in `command` mode so silent drops are explained. - #9: oversized PTY chunks (> 256 KB in one event) now have their tail preserved instead of being pushed-and-immediately-shifted out of the ring, which would have left late-joining viewers with an empty snapshot. - #11: host-side mintToken schema now `.min(MIN_TTL).max(MAX_TTL)`, matching `mintRemoteControlToken`'s internal clamp. - #12: revoke `UPDATE` adds `organizationId` and `status='active'` to the `WHERE` so re-revoke is idempotent and cannot transition an `expired` row to `revoked`. Skipped: #6 (relay replay/tunnel-ownership) — the existing host proxy paths don't call `maybeReplay` either, so this PR doesn't regress the single-region behavior. Multi-region replay is a broader gap tracked separately.
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.
Description
Related Issues
Type of Change
Testing
Screenshots (if applicable)
Additional Notes