dsh-mobile 0.3.4 → 0.3.5

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/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  Notable changes to DSH Mobile are recorded here. GitHub Releases remain the source for downloadable packages and complete generated commit notes.
4
4
 
5
+ ## 0.3.5 - 2026-09-01
6
+
7
+ - Fix [#26](https://github.com/saya-ch/dsh-mobile/issues/26): prevent mobile startup from remaining on “Loading plugins” over LAN or remote access when DSH sends the WebSocket upgrade response and initial snapshot together. The gateway now preserves that snapshot without relaxing its 16 KiB response-header limit. Thanks @oliverwan97 for the detailed report.
8
+
5
9
  ## 0.3.4 - 2026-08-31
6
10
 
7
11
  - Support DeepSeek Harness 0.1.2-alpha.2, including its remote-backed settings dependencies. Initialize authenticated mobile trust before the API gateway caches Host facts, while retaining support for earlier declared DSH versions.
package/README.en.md CHANGED
@@ -19,11 +19,15 @@
19
19
 
20
20
  > DSH Mobile is a DeepSeek Harness community plugin; the native app supports Android only.
21
21
  >
22
- > **0.3.x updates**: connection diagnostics, image attachments, self-hosted FRP, and plugin updates; improved reconnection, mobile layouts, localization, extension hot reload, and compatibility with DSH Desktop and usage plugins. [Details and acknowledgements](CHANGELOG.md).
22
+ > **0.3.5 update**: fix a mobile startup hang when DSH sends a large first WebSocket payload immediately after the upgrade response; the fix applies to both LAN and remote access, and existing 0.3.3/0.3.4 apps do not need re-pairing. [Details and acknowledgements](CHANGELOG.md).
23
23
  >
24
24
  > **Upgrade reminder**: the plugin is evolving rapidly; keep it and the app updated together. DSH 0.1.2-alpha.2 requires Mobile plugin 0.3.4 or later. [Compatibility notes](#compatibility).
25
25
 
26
- <p align="center"><a href="https://github.com/saya-ch/dsh-mobile/releases/download/v0.3.4/dsh-mobile-android-v0.3.4.apk"><strong>Download Android app 0.3.4</strong></a> · <a href="https://github.com/saya-ch/dsh-mobile/releases/tag/v0.3.4">Release notes and checksums</a></p>
26
+ <p align="center">
27
+ <a href="https://github.com/saya-ch/dsh-mobile/releases/download/v0.3.5/dsh-mobile-android-v0.3.5.apk"><img src="assets/brand/app-icon-rounded.svg" alt="DSH Mobile Android app icon" width="72" height="72"></a><br>
28
+ <a href="https://github.com/saya-ch/dsh-mobile/releases/download/v0.3.5/dsh-mobile-android-v0.3.5.apk"><strong>Download Android app 0.3.5</strong></a><br>
29
+ <sub><a href="https://github.com/saya-ch/dsh-mobile/releases/tag/v0.3.5">Release notes and checksums</a></sub>
30
+ </p>
27
31
 
28
32
  DSH Mobile is a DeepSeek Harness plugin that lets a mobile browser or the Android app connect over a protected LAN or an optional Tailscale Funnel, cpolar, or self-hosted FRP remote path. Local and remote access keep the same sessions, Workspaces, messages, and tools while using separate switches and paired-device stores without modifying DeepSeek Harness source.
29
33
 
@@ -186,10 +190,11 @@ See [SECURITY.md](SECURITY.md).
186
190
 
187
191
  ## Compatibility
188
192
 
189
- Use Mobile plugin 0.3.4 with DSH 0.1.2-alpha.2; plugin and app 0.3.2 or later are recommended for DSH 0.1.2-alpha.1. Plugin 0.3.4 remains compatible with existing 0.3.3 apps without re-pairing. Earlier apps use a different status-bar strategy, so updating both is recommended. App 0.1.3 or earlier requires reinstalling and pairing again.
193
+ Use Mobile plugin 0.3.4 or later with DSH 0.1.2-alpha.2; plugin and app 0.3.2 or later are recommended for DSH 0.1.2-alpha.1. Plugin 0.3.5 remains compatible with existing 0.3.3/0.3.4 apps without re-pairing; the 0.3.5 Android build changes version metadata only and keeps the same behavior. Earlier apps use a different status-bar strategy, so updating both is recommended. App 0.1.3 or earlier requires reinstalling and pairing again.
190
194
 
191
195
  | DSH Mobile | Verified DeepSeek Harness releases |
192
196
  | --- | --- |
197
+ | `0.3.5` | `0.1.0-rc.5`, `0.1.0-rc.6`, `0.1.0-rc.7`, `0.1.1-rc.2`, `0.1.2-alpha.1`, `0.1.2-alpha.2` |
193
198
  | `0.3.4` | `0.1.0-rc.5`, `0.1.0-rc.6`, `0.1.0-rc.7`, `0.1.1-rc.2`, `0.1.2-alpha.1`, `0.1.2-alpha.2` |
194
199
  | `0.3.3` | `0.1.0-rc.5`, `0.1.0-rc.6`, `0.1.0-rc.7`, `0.1.1-rc.2`, `0.1.2-alpha.1` |
195
200
  | `0.3.2` | `0.1.0-rc.5`, `0.1.0-rc.6`, `0.1.0-rc.7`, `0.1.1-rc.2`, `0.1.2-alpha.1` |
package/README.md CHANGED
@@ -26,11 +26,15 @@
26
26
 
27
27
  > DSH Mobile 是 DeepSeek Harness 社区插件,原生 App 仅支持 Android。
28
28
  >
29
- > **0.3.x 更新**:新增连接诊断、图片附件、自建 FRP 和插件更新入口,优化重连、移动布局、多语言与扩展热更新,并完善 DSH Desktop 及用量插件兼容。[详细记录与致谢](CHANGELOG.md)。
29
+ > **0.3.5 更新**:修复 DSH WebSocket 握手后立即发送较大首批数据时,移动端可能一直停在插件加载界面的问题,局域网与远程连接均适用;现有 0.3.3/0.3.4 App 无需重新配对。[详细记录与致谢](CHANGELOG.md)。
30
30
  >
31
31
  > **升级提醒**:插件仍在快速迭代,建议与 App 同步更新;DSH 0.1.2-alpha.2 需使用 Mobile 插件 0.3.4 或更高版本。[兼容说明](#兼容性)。
32
32
 
33
- <p align="center"><a href="https://github.com/saya-ch/dsh-mobile/releases/download/v0.3.4/dsh-mobile-android-v0.3.4.apk"><strong>下载 Android App 0.3.4</strong></a> · <a href="https://github.com/saya-ch/dsh-mobile/releases/tag/v0.3.4">版本说明与校验文件</a></p>
33
+ <p align="center">
34
+ <a href="https://github.com/saya-ch/dsh-mobile/releases/download/v0.3.5/dsh-mobile-android-v0.3.5.apk"><img src="assets/brand/app-icon-rounded.svg" alt="DSH Mobile 安卓应用图标" width="72" height="72"></a><br>
35
+ <a href="https://github.com/saya-ch/dsh-mobile/releases/download/v0.3.5/dsh-mobile-android-v0.3.5.apk"><strong>下载 Android App 0.3.5</strong></a><br>
36
+ <sub><a href="https://github.com/saya-ch/dsh-mobile/releases/tag/v0.3.5">版本说明与校验文件</a></sub>
37
+ </p>
34
38
 
35
39
  DSH Mobile 是一个 DeepSeek Harness 插件,让手机浏览器或 Android App 通过局域网,或可选的 Tailscale Funnel、cpolar、自建 FRP 远程通道连接电脑,继续使用同一份会话、工作区、消息和工具。局域网与远程访问分别启停、分别管理设备,且都不修改 DeepSeek Harness 源码。
36
40
 
@@ -195,10 +199,11 @@ flowchart LR
195
199
 
196
200
  ## 兼容性
197
201
 
198
- DSH 0.1.2-alpha.2 需搭配 Mobile 插件 0.3.4DSH 0.1.2-alpha.1 建议搭配插件与 App 0.3.2 或更高版本。0.3.4 插件兼容现有 0.3.3 App,无需重新配对。更早的 App 使用不同的状态栏策略,建议同步升级;App 0.1.3 及更早版本需卸载重装并重新配对。
202
+ DSH 0.1.2-alpha.2 需搭配 Mobile 插件 0.3.4 或更高版本;DSH 0.1.2-alpha.1 建议搭配插件与 App 0.3.2 或更高版本。0.3.5 插件兼容现有 0.3.3/0.3.4 App,无需重新配对;本次 Android App 仅同步版本号,功能行为不变。更早的 App 使用不同的状态栏策略,建议同步升级;App 0.1.3 及更早版本需卸载重装并重新配对。
199
203
 
200
204
  | DSH Mobile | 已验证的 DeepSeek Harness |
201
205
  | ------------ | ------------------------------------------------------------------------- |
206
+ | `0.3.5` | `0.1.0-rc.5`、`0.1.0-rc.6`、`0.1.0-rc.7`、`0.1.1-rc.2`、`0.1.2-alpha.1`、`0.1.2-alpha.2` |
202
207
  | `0.3.4` | `0.1.0-rc.5`、`0.1.0-rc.6`、`0.1.0-rc.7`、`0.1.1-rc.2`、`0.1.2-alpha.1`、`0.1.2-alpha.2` |
203
208
  | `0.3.3` | `0.1.0-rc.5`、`0.1.0-rc.6`、`0.1.0-rc.7`、`0.1.1-rc.2`、`0.1.2-alpha.1` |
204
209
  | `0.3.2` | `0.1.0-rc.5`、`0.1.0-rc.6`、`0.1.0-rc.7`、`0.1.1-rc.2`、`0.1.2-alpha.1` |
package/lib/index.mjs CHANGED
@@ -3780,12 +3780,15 @@ var MobileAccessGateway = class {
3780
3780
  };
3781
3781
  const data = (chunk) => {
3782
3782
  buffer = Buffer.concat([buffer, chunk]);
3783
- if (buffer.length > MAX_HEADER_BYTES) {
3783
+ const end = buffer.indexOf("\r\n\r\n");
3784
+ if (end < 0) {
3785
+ if (buffer.length >= MAX_HEADER_BYTES) failed(/* @__PURE__ */ new Error("upstream WebSocket headers are too large"));
3786
+ return;
3787
+ }
3788
+ if (end + 4 > MAX_HEADER_BYTES) {
3784
3789
  failed(/* @__PURE__ */ new Error("upstream WebSocket headers are too large"));
3785
3790
  return;
3786
3791
  }
3787
- const end = buffer.indexOf("\r\n\r\n");
3788
- if (end < 0) return;
3789
3792
  cleanup();
3790
3793
  const lines = buffer.subarray(0, end).toString("latin1").split("\r\n");
3791
3794
  if (lines.shift() !== "HTTP/1.1 101 Switching Protocols") {