Repository navigation
Review Workspace Ports - #1844
Merged
Merged
Conversation
Closed
2 of 9 tasks
Contributor
There was a problem hiding this comment.
Workspace Ports is approved, @maneeshv. I completed the pinned registry record, removed the intake file and updated the branch from main. Your overview, description, icon and supplied interface image are retained. No action is needed from you; publication follows merge.
Optional next release: mention that tunnel readiness assumes the viewing client's clock agrees with the tunnel host within 20 seconds, so users can diagnose a working SSH connection reported as disconnected. Overview guidance.
Review data
- Policy: main
REVIEW.mdblob3c5e763c9565b93ea33fa48c9aeb83e415c72d67. Intake head7e220c137b61a30df72c8dc6d0045d262e167843; completed reviewed head6153be947b0c9418454e9ccfc782902b74ba1e8e. Read the PR, linked submission #1843 and all discussion; no inline comments. Submitter and source repository owner share API account ID 10337336. - Artifact: root of
https://github.com/maneeshv/paseo-workspace-ports.git, exact main commit resolved during review8e4c93cce3d4309d082c6140447b5ea1ffa1d03f(0.1.0). Fetched without hooks/submodules; checked every archive path/type before confined extraction. Git archive SHA-25656e356c74f5109697b80df9139e5340f0c3eb9049f64b69498b69cab07ebcb09. - Inspected both entries, all client/server/shared runtime modules, local import aliases, manifest/package metadata and complete lock metadata, README, English overview and verification record. Viewed the supplied PNG interface image; it clearly shows the Ports panel with sample services and suitable controls. Declared local icon/media exist. The public thumbnail URL supplied in your PR and issue replies returns HTTP 200/image/png and is byte-identical to the pinned local screenshot, so the existing manifest media already uses that image. No translations or redundant registry fallback needed.
- Declared preparation is
npm ci --ignore-scripts, intentionally installing SDK/type tooling needed by the builder. The npm v3 root dependency declarations match package.json; all 281 locked package entries have exact versions, npm-registry resolved sources and integrity. No other build command, acquisition lifecycle script or runtime dependency declaration. esbuild/fsevents dependency hooks are suppressed by the preparation flag. No plugin/dependency code or its tests were installed, built, imported, required or run; third-party implementation internals were not exhaustively audited. server/discovery.ts:69calls macOS lsof with argument arrays to read TCP listeners and process working directories; canonical paths must be within the selected workspace. Only PID/name/port/loopback target data reaches the client. No arbitrary process-killing control exists for detected listeners. Server RPC input/output schemas validate workspace/script/actions and returned apps.server/apps.tsresolves the workspace through Paseo, enumerates configured services, then uses Paseo CLI argument arrays with timeout/output limits for start/stop. Script names follow--; no shell interpolation. Explicit PASEO_CLI/home settings are used for local routing; PASEO_HOST is removed from the child environment.- Requested service logs use the verified configured terminal, checked against that workspace's terminals, and capture the last 100 lines with ANSI stripped. Logs/process details/settings pass through the existing Paseo host connection to authorized clients. Pairing stores host/workspace IDs and SSH target in host-scoped settings, not key/password contents. No independent telemetry, model-provider request, credential-file parser or software installer found in the plugin runtime.
client/panel.tsxconfirms a remote destination and editable local port before callingopenTunnel; Stop app has its own confirmation and only targets a configured service. Local browser URLs are constructed from loopback addresses and numeric ports. SSH aliases/IDs/ports are validated;client/tunnels.tspasses variable inputs as positional arguments to a fixed shell script. SSH uses noninteractive key authentication, strict known-host checking, disabled agent/X11 forwarding, no remote command, and a private control socket. It adds one forward bound to 127.0.0.1 targeting 127.0.0.1 or ::1 on the remote host. The chosen SSH configuration governs the explicitly configured destination.- Tunnel wrapper creates a private temporary directory with umask 077, cleans up its own SSH master, and moves only that directory to Trash. Tunnel recovery matches full serialized identity in the chosen helper workspace; disconnect kills that matching terminal, not the app. Closing the panel leaves forwarding running, as documented. No unrelated file deletion or input-to-shell-source injection found in inspected paths. Heartbeat readiness depends on client/host clock agreement and a 20-second age window; network loss/reconnect/platform behavior was not exercised here.
- Registry edits: exact artifact/repository pin, supplied workspaces/utils categories, verified submitter/original submission time; removed
submissions/1843.json. Merged current main so the final diff adds only the intended listing. Retained authoritative English overview/description and suitable local PNG media. Trusted current-main online validation: 463 well-formed records, one matching changed artifact, zero skipped. Held intake validation was approved; its superseded intake-only failure creates no author task. - Limits: static review, no independent live macOS/SSH/Desktop or plugin test execution. The author documents clean installation on an earlier commit, live two-Mac checks and fixture tests; these are author evidence, not rerun here. Latest author CI has no executed steps, so it supplies no test evidence for this exact commit. No concrete malicious or seriously unsafe behavior, remaining author requirement or policy/validator conflict identified. Exact-head registry checks and head are checked before merge.
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.
Closes #1843. Submitted by @maneeshv.
Ready for artifact review. The reviewer will resolve the submitted source and complete the registry listing.
Submission:
submissions/1843.json.Git references are optional. Use a supplied reference; otherwise resolve main during review. Git updates are submitted manually.