Commit Graph
2 Commits
Author SHA1 Message Date
jif2.zhang 86335dfaa4 fix(离线库): 关闭 PowerSync 多标签共享 worker —— 修复 Windows 升级后任务页永久「加载中」
Docker Build and Push / build-image (push) Successful in 1m30s
现象: Windows 外壳 OTA 升级后, 任务页一直「加载中」; 其它不访问本地库的页面正常。
Android 正常。仅「原地升级/reload 之后」出现, 全新启动进程则正常。

根因: PowerSync Web 的 enableMultiTabs 默认在桌面端开启 (有 SharedWorker 时),
开启后会额外用 **共享 IndexedDB worker** 承载本地库。该 SharedWorker 跨页面 reload
存活, OTA applyUpdate 后 location.reload() 的新页面连上去时, 本地库读取永久挂起
—— 无异常、纯 pending, 所以 TaskPage 的 projects 一直是 null, 停在「加载中…」。
Android WebView 不支持 SharedWorker, 走独立 worker (随页面销毁), 因此不受影响。

实测 (真实 Windows 外壳 + WebView2 CDP):
- 修复前: 目标页 /me 正常; Page.reload 后落到 /task 显示「加载中…」, 再导航仍卡住;
  shared_worker 目标仍在 (worker-*.js 前后同 URL)。
- 修复后: reload 后 /task 正常渲染 25 个任务; shared_worker 目标消失;
  控制台仅剩 PowerSync「未启用多标签」提示。

修复: database.enableMultiTabs = false。本应用是单窗口外壳 (dock.html 不访问本地库),
不需要多标签同步; 该选项关闭后本地库改用随页面销毁的独立 worker, reload 干净。

注: 该问题与 OTA 包内容无关 (同一个包全新启动正常), 属 reload 路径的运行时缺陷。
2026-10-27 19:56:25 +08:00
jif2.zhang a4af607c41 feat(0.2.1): M3 前端 PowerSync 基础 (schema/connector/db) + 依赖; fix storage sslmode 2026-10-26 00:07:33 +08:00