Repository navigation
DSH 0.1.5-rc.1 baseline
This release aligns dsh-remote-ssh with DSH 0.1.5-rc.1. Three of the changes are required for the plugin to boot at all on 0.1.5; the rest are the harness patches re-cut.
Required for DSH 0.1.5
readByteRangeimplemented (fs-ssh) — 0.1.5 added this abstract method to theFileSystemseam; without it the remote filesystem provider fails to load. Read as a byte window over the helper (seek + bounded read), so[offset, offset+length)never buffers the whole file.connection.rpc.handleregression worked around (ssh-gui) — DSH commit2ef85b1e17droppedwebServerfromdsh-client-connection's inject, which brokeconnection.rpc.handle's internalowner.webServer.register(route)for every plugin. The/dsh-sshroute is now registered directly againstwebServer, reusing Connection's publicrequestRejectionfor the Host/Origin + browser-auth fence (unauthenticated requests still get 401).- SSH keepalive on by default (30s) (
ssh-gui) —keepaliveIntervaldefaulted to 0, so a silently dead peer (server power loss, network drop, NAT timeout) sent no FIN/RST, ssh2 never firedclose/error, and the memoized client/SFTP/PTY hung until a DSH restart. ssh2 now pings every 30s and emitsKeepalive timeoutafter 4 misses (~2 min), which the transport guard turns intoinvalidate()so the next use reconnects.
Harness patches re-cut against 0.1.5-rc.1
Both patches under harness-patches/ were cut against 0.1.2 and no longer applied. They are now re-cut against aa8262ec09:
dsh-remote-ssh-job-actions.patch— a real Stop button for background jobs in the session header.jobs.killis native in 0.1.5, so the patch only adds the browser trigger: asession.jobStopRemote plus the per-row button inui-jobs.dsh-remote-ssh-route-labels.patch— route-aware workspace titles (project-alpha · dev@192.168.0.101) so same-named directories on different hosts stay distinguishable. Smaller than the 0.1.2 cut: 0.1.5 centralizes default titles indefaultWorkspaceTitle(), so one function covers both call sites.
Both pass git apply --check on a clean 0.1.5 checkout, apply together, and build.
Docs
- Added a compatibility matrix (plugin version ↔ DSH baseline) to both READMEs.
- Documented the first-install
approve-buildsstep forssh2/cpu-features: pnpm 11 blocks their native build scripts, so the firstdsh plugin addfails untilallowBuildsis set.
Install
dsh plugin --profile web add github:aijunjiang/dsh-remote-sshmain always tracks the current baseline; this tag pins the 0.1.5-rc.1 one.