dsh-relay-phone 0.12.2 → 0.12.3

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.
package/README.md CHANGED
@@ -30,8 +30,7 @@ dsh plugin --profile web add link:./packages/plugin
30
30
  Restart `dsh web` afterwards (the plugin is host-side code). Configure it from the sidebar's **Phone Entry** card → **Open console**; in the desktop app that navigates inside the window, so the port does not matter. Through the relay only the phone page and the documents/assets it loads are plaintext; every
31
31
  other request must carry a sealed envelope or it is refused with 403. A relay that could forward
32
32
  plaintext `/api/*` with the host cookie attached would be able to act as you, which would make the
33
- end-to-end encryption decorative. Replaying the full desktop UI over the relay is opt-in:
34
- `{ "allowDesktopPlaintext": true }` in the plugin config.
33
+ end-to-end encryption decorative. The desktop UI works under that policy, because the injected boot patch seals its `fetch`/XHR/WebSocket traffic (a WebSocket handshake carries no data; its frames must open). `{ "allowDesktopPlaintext": true }` remains for clients that bypass the patch.
35
34
 
36
35
  The panel is deliberately **desktop-only**: it prints the pairing link, which carries the device key, so requests that arrive through the relay are refused.
37
36
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-relay-phone",
3
- "version": "0.12.2",
3
+ "version": "0.12.3",
4
4
  "description": "Remote-control your local DeepSeek Harness from a phone through your own zero-knowledge relay: phone-first page, QR pairing, end-to-end encryption, approvals, full desktop UI fallback.",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
package/src/pump.js CHANGED
@@ -56,6 +56,8 @@ const PLAINTEXT_DOCUMENT = new RegExp(
56
56
  '/favicon\\.ico|' +
57
57
  '/assets/[A-Za-z0-9._@/-]+|' + // built UI bundles
58
58
  '/plugins/[A-Za-z0-9._@/%-]*|' + // client bundle entry (/plugins/??pkg/file.js)
59
+ // "open in app" menu icons: plain <img> loads, no extension, no session data
60
+ '/open-in-app/icon/[A-Za-z0-9._-]+|' +
59
61
  '/[^?]*\\.(?:js|mjs|css|map|json|png|jpe?g|gif|svg|webp|avif|ico|woff2?|ttf|otf)' +
60
62
  ')$',
61
63
  )