dsh-pocket 1.4.3 → 1.4.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.
package/client/client.js CHANGED
@@ -1348,7 +1348,7 @@ function PocketSettingsTab({ rpcCall }) {
1348
1348
  (0, import_react2.useEffect)(() => {
1349
1349
  if (isDesktop) return;
1350
1350
  let alive = true;
1351
- (async () => {
1351
+ const check = async () => {
1352
1352
  try {
1353
1353
  const v = await call(POCKET_ENDPOINTS.version, {});
1354
1354
  const meta = await (await fetch("https://registry.npmjs.org/dsh-pocket/latest", { cache: "no-store" })).json();
@@ -1361,9 +1361,12 @@ function PocketSettingsTab({ rpcCall }) {
1361
1361
  }
1362
1362
  } catch {
1363
1363
  }
1364
- })();
1364
+ };
1365
+ check();
1366
+ const t = setInterval(check, 5 * 60 * 1e3);
1365
1367
  return () => {
1366
1368
  alive = false;
1369
+ clearInterval(t);
1367
1370
  };
1368
1371
  }, [isDesktop]);
1369
1372
  const restartPocket = async () => {
package/client/index.jsx CHANGED
@@ -87,11 +87,13 @@ function PocketSettingsTab({ rpcCall }) {
87
87
  // 版本检测:host 当前版本 vs npm registry latest(registry 带 CORS *)
88
88
  // 两种情况显示横幅:① 有新版可更新;② 磁盘已更新但进程还是旧代码(重启生效)
89
89
  // cache: 'no-store' —— registry 响应带缓存头,浏览器会缓存旧版本号导致「小版本不提示」
90
+ // 周期重查(每 5 分钟):npm registry 的 /latest 走 CDN 边缘缓存,刚发布后打开页面
91
+ // 可能拿到旧版本号——周期性重查让更新提示在缓存刷新后自动出现,不用重开页面。
90
92
  // 桌面端(isDesktop):更新/重启由 DSH Desktop 管理,这里不做版本检测、不显示更新横幅
91
93
  useEffect(() => {
92
94
  if (isDesktop) return;
93
95
  let alive = true;
94
- (async () => {
96
+ const check = async () => {
95
97
  try {
96
98
  const v = await call(POCKET_ENDPOINTS.version, {});
97
99
  const meta = await (await fetch('https://registry.npmjs.org/dsh-pocket/latest', { cache: 'no-store' })).json();
@@ -104,8 +106,10 @@ function PocketSettingsTab({ rpcCall }) {
104
106
  setUpdateInfo({ current: v.current, latest: v.current, updating: false, result: 'ok', updated: true });
105
107
  }
106
108
  } catch { /* 网络失败静默 */ }
107
- })();
108
- return () => { alive = false; };
109
+ };
110
+ check();
111
+ const t = setInterval(check, 5 * 60 * 1000);
112
+ return () => { alive = false; clearInterval(t); };
109
113
  }, [isDesktop]);
110
114
 
111
115
  // 重启宿主(更新生效必需:刷新页面不会重载服务端代码)
package/package.json CHANGED
@@ -76,5 +76,5 @@
76
76
  "access": "public",
77
77
  "registry": "https://registry.npmjs.org/"
78
78
  },
79
- "version": "1.4.3"
79
+ "version": "1.4.4"
80
80
  }