dsh-pocket 1.0.26 → 1.0.27

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/client/client.js CHANGED
@@ -1311,6 +1311,15 @@ function PocketSettingsTab({ rpcCall }) {
1311
1311
  if (s.restartNotice) {
1312
1312
  setRestartNotice(true);
1313
1313
  setUpdateInfo(null);
1314
+ if (!sessionStorage.getItem("dshp-auto-reloaded")) {
1315
+ sessionStorage.setItem("dshp-auto-reloaded", "1");
1316
+ setTimeout(() => {
1317
+ try {
1318
+ location.reload();
1319
+ } catch {
1320
+ }
1321
+ }, 2e3);
1322
+ }
1314
1323
  }
1315
1324
  } catch {
1316
1325
  }
@@ -1320,6 +1329,12 @@ function PocketSettingsTab({ rpcCall }) {
1320
1329
  const t = setInterval(load, 3e3);
1321
1330
  return () => clearInterval(t);
1322
1331
  }, []);
1332
+ (0, import_react2.useEffect)(() => {
1333
+ try {
1334
+ sessionStorage.removeItem("dshp-auto-reloaded");
1335
+ } catch {
1336
+ }
1337
+ }, []);
1323
1338
  (0, import_react2.useEffect)(() => {
1324
1339
  let alive = true;
1325
1340
  (async () => {
package/client/index.jsx CHANGED
@@ -46,9 +46,14 @@ function PocketSettingsTab({ rpcCall }) {
46
46
  setStatus(s);
47
47
  setTunnelState(s.tunnelState ?? null);
48
48
  if (s.restartNotice) {
49
- // 新进程确认起来了:显示一次「已重启」,并清掉旧的更新横幅(单状态,不并存)
49
+ // 新进程确认起来了:显示一次「已重启」,清掉旧的更新横幅(单状态,不并存),
50
+ // 然后自动刷新页面加载新代码——不用用户手动刷新
50
51
  setRestartNotice(true);
51
52
  setUpdateInfo(null);
53
+ if (!sessionStorage.getItem('dshp-auto-reloaded')) {
54
+ sessionStorage.setItem('dshp-auto-reloaded', '1');
55
+ setTimeout(() => { try { location.reload(); } catch { /* 忽略 */ } }, 2000);
56
+ }
52
57
  }
53
58
  } catch { /* 忽略瞬时失败 */ }
54
59
  };
@@ -59,6 +64,11 @@ function PocketSettingsTab({ rpcCall }) {
59
64
  return () => clearInterval(t);
60
65
  }, []);
61
66
 
67
+ // 每次页面加载清掉自动刷新标记——这样下次重启(更新后)才能再次触发自动刷新
68
+ useEffect(() => {
69
+ try { sessionStorage.removeItem('dshp-auto-reloaded'); } catch { /* 忽略 */ }
70
+ }, []);
71
+
62
72
  // 版本检测:host 当前版本 vs npm registry latest(registry 带 CORS *)
63
73
  // 两种情况显示横幅:① 有新版可更新;② 磁盘已更新但进程还是旧代码(重启生效)
64
74
  useEffect(() => {
package/package.json CHANGED
@@ -76,5 +76,5 @@
76
76
  "access": "public",
77
77
  "registry": "https://registry.npmjs.org/"
78
78
  },
79
- "version": "1.0.26"
79
+ "version": "1.0.27"
80
80
  }