Repository navigation
Fixed
-
The bridge could not connect on dsh 0.2.1-rc.1 and later. dsh 0.2.1 tightened the
PeerScopecontract thatTypertGateway.wireStream.openreads, and the bridge passedundefinedfor the Peer. The socket still completed its handshake —hello.okarrived — and then the gateway-owned$eventsstream threw before delivering a single frame, so the server closed with WS 1011 and the extension retried forever. In the side panel this looked like a status flickering betweenconnecting,connected, andreconnectingwhile the service worker's Network tab stayed empty.Three separate reads failed in sequence, which is why this took three fixes to clear:
methodSignaljoins every stream's signal withrequest.peer.signal;requireInteractionsrejects a Peer whoseinteractionsis not'answer'; andopenRemoteEventsstorespeer.principaland readsprincipal.kind. The bridge now supplies one real in-process Peer satisfying all three.0.3.5has the same defect, so upgrading along the old line would not have helped. -
The extension could not find the bridge after a DSH restart. DSH Desktop assigns its web port at random on every launch, and the extension cannot read the filesystem to learn the new one — so the only options were re-pasting the bridge URL by hand or probing a wide port range. The plugin now binds a fixed loopback port (30789-30791, first free one wins) and answers
/ext/bridge-configwith the live WebSocket URL. The extension tries it first: one request instead of a scan, which also removes the pattern that looks like port scanning to security software.
Changed
- The plugin has its own settings tab (
settings.section) instead of a row inside General settings. - The extension moves the bridge address and token under Advanced; on loopback the bridge is found automatically and no token is needed.
Install
dsh plugin --profile web add @dightendless/dsh-bridge-browserThen restart DSH. The extension releases to ~/.dsh/browser-extension; load it once via chrome://extensions → Developer mode → Load unpacked.
Verification
typecheck clean · 508/508 tests across 58 files · check:runtime passing · real dsh 0.2.1-rc.1 handshake held open with zero error frames.