dsh-remote-control-plugin 0.3.3 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/INSTALL.md +20 -28
  2. package/client.js +1 -1
  3. package/package.json +40 -48
package/INSTALL.md CHANGED
@@ -1,40 +1,32 @@
1
1
  # Install on another desktop
2
2
 
3
- Published as `dsh-remote-control-plugin`. The package is self-contained — no dependencies, no
4
- build step, no postinstall script.
3
+ Published as `dsh-remote-control-plugin`. Self-contained: no dependencies, no build step, no postinstall.
5
4
 
6
- ## 1. Install it
5
+ ## Install
7
6
 
8
- In the Web GUI: **Plugins → Add plugin**, enter `dsh-remote-control-plugin@0.3.3`, keep the
9
- official npm registry selected, then **Install** and **Enable now**. Restart DSH.
7
+ Web GUI: **Plugins → Add plugin**, enter `dsh-remote-control-plugin@0.3.4`, keep the official npm
8
+ registry selected, then **Install** and **Enable now**. Restart DSH.
10
9
 
11
- A **Devices** icon appears in the sidebar.
10
+ From a chat (Standard or Creator preset — PTC disables `tool-plugin-manager`):
12
11
 
13
- From a chat, the same install works where the plugin tool is enabled (Standard or Creator
14
- preset — PTC disables `tool-plugin-manager`):
12
+ > Install the DSH plugin bundle `dsh-remote-control-plugin@0.3.4` with plugin_manager.
15
13
 
16
- > Install the DSH plugin bundle `dsh-remote-control-plugin@0.3.3` with plugin_manager, then tell me when it is applied.
14
+ ## Connect two machines
17
15
 
18
- ## 2. Connect two machines
16
+ 1. On the machine with a reachable address: **Devices → Relay → Create relay here**, **Copy**.
17
+ 2. On the other: **Devices → Relay**, paste the invite, **Connect**.
18
+ 3. Either: **Request**, then **Allow** on the target.
19
19
 
20
- Pick the machine with a reachable address (same LAN, VPN, or a forwarded port):
21
-
22
- 1. On that machine: **Devices → Relay → Create relay here**, then **Copy** the invite.
23
- 2. On the other machine: **Devices → Relay**, paste the invite into the URL field, **Connect**.
24
- 3. Either machine: **Request** next to the peer, then **Allow** on the target.
25
-
26
- Two machines on the same LAN need no relay at all — LAN discovery lists them directly.
27
-
28
- No reachable machine? Run a relay anywhere both can reach (`PORT=8787 node relay/server.js`) and
29
- paste `http://<host>:8787 <workspace key>` into both panels.
20
+ Same-LAN machines need no relay. No reachable machine? Run
21
+ `PORT=8787 node relay/server.js` anywhere both can reach and paste
22
+ `http://<host>:8787 <workspace key>` into both panels.
30
23
 
31
24
  ## Notes
32
25
 
33
- - The account label is cosmetic; trust comes from the one-time **Allow** on the target device.
34
- - Approvals persist in `$DSH_HOME/remote-control-peers.json`; deleting it revokes every peer.
35
- - The relay and the control API share one port (default `57330`), so one forwarded port is enough.
36
- - Peer traffic is signed but not encrypted. Use a private network or TLS in front of the port.
37
- - 0.3.3 fixes four relay bugs: a hosted relay now survives a restart, peers no
38
- longer linger as `503 relay-offline` after a relay goes away, a blocked direct
39
- LAN route falls back to the outbound relay, and transcript chunks are sent in
40
- order so a large snapshot always assembles into a complete frame.
26
+ - Trust comes from the one-time **Allow**; the account label is cosmetic.
27
+ - Approvals live in `$DSH_HOME/remote-control-peers.json`; delete it to revoke.
28
+ - Relay and control API share one port (default `57330`).
29
+ - Peer traffic is signed but not encrypted; use a private network or TLS in front.
30
+ - 0.3.4 fixes: ordered transcript chunks, hosted relay persistence, stale
31
+ relay peer pruning, relay fallback when a direct LAN route is blocked, and a
32
+ client module id that matches the package name.
package/client.js CHANGED
@@ -1,5 +1,5 @@
1
1
  window.__ModuleLoader__.load({
2
- id: '@local/dsh-remote-control',
2
+ id: 'dsh-remote-control-plugin',
3
3
  factory(require) {
4
4
  const React = require('react')
5
5
  const h = React.createElement
package/package.json CHANGED
@@ -1,48 +1,40 @@
1
- {
2
- "name": "dsh-remote-control-plugin",
3
- "version": "0.3.3",
4
- "description": "Remote control for DSH: a Devices panel that discovers other DSH desktops, pairs with them once, and drives their sessions across LAN or a relay.",
5
- "license": "MIT",
6
- "type": "module",
7
- "keywords": [
8
- "dsh",
9
- "deepseek-harness",
10
- "cordis",
11
- "cordis-plugin",
12
- "remote-control",
13
- "devices"
14
- ],
15
- "exports": {
16
- ".": "./index.js",
17
- "./client": "./client.js",
18
- "./locale/*.json": "./locale/*.json",
19
- "./icon": "./icon.svg"
20
- },
21
- "files": [
22
- "index.js",
23
- "client.js",
24
- "host/*.js",
25
- "cordis.patch.yml",
26
- "locale/*.json",
27
- "icon.svg",
28
- "README.md",
29
- "INSTALL.md",
30
- "LICENSE",
31
- "web/index.html",
32
- "web/app.js",
33
- "web/app.css",
34
- "web/icon.svg"
35
- ],
36
- "engines": {
37
- "node": "\u003e=20"
38
- },
39
- "dsh": {
40
- "bundle": {
41
- "patch": "./cordis.patch.yml"
42
- },
43
- "client": {
44
- "platform": "web",
45
- "immediately": true
46
- }
47
- }
48
- }
1
+ {
2
+ "name": "dsh-remote-control-plugin",
3
+ "version": "0.3.4",
4
+ "type": "module",
5
+ "description": "Remote control for DSH: a Devices panel that discovers other DSH desktops signed into the same account, pairs with them once, and drives their sessions.",
6
+ "exports": {
7
+ ".": "./index.js",
8
+ "./client": "./client.js",
9
+ "./locale/*.json": "./locale/*.json",
10
+ "./icon": "./icon.svg"
11
+ },
12
+ "files": [
13
+ "index.js",
14
+ "client.js",
15
+ "host/*.js",
16
+ "cordis.patch.yml",
17
+ "locale/*.json",
18
+ "icon.svg",
19
+ "README.md",
20
+ "INSTALL.md",
21
+ "LICENSE",
22
+ "web/index.html",
23
+ "web/app.js",
24
+ "web/app.css",
25
+ "web/icon.svg"
26
+ ],
27
+ "dsh": {
28
+ "bundle": {
29
+ "patch": "./cordis.patch.yml"
30
+ },
31
+ "client": {
32
+ "platform": "web",
33
+ "immediately": true
34
+ }
35
+ },
36
+ "license": "MIT",
37
+ "engines": {
38
+ "node": ">=20"
39
+ }
40
+ }