Skip to content
This repository was archived by the owner on May 22, 2026. It is now read-only.

v2.4

Choose a tag to compare

@github-actions github-actions released this 04 May 08:03
· 37 commits to main since this release
d5e01db

主要变化

  • Android Web Push 在锁屏后会被系统压到下次亮屏,到点的番茄通知经常迟到几分钟到十几分钟,而 Web Push 协议层就没有 high-priority 的口子能透 Doze。这版本配套出一个 Android APK,把同一份网页装进套壳里,专走原生 FCM 通道发高优先级推送,到点真能即时弹。浏览器和 PWA 用户照旧拿 Web Push,装了 APK 的设备多一份并行原生投递。两条通道叠加而不是替换 —— 桌面 Chrome、iOS PWA 这些场景永远在 web 上。

  • APK 在本 release 下面 attach(arm64-v8a,arm64 手机基本都能装)。装机、登录、Settings 里点开启推送,剩下的事 APK 自己处理。不上 Play Store,sideload 一次就够。

修复

  • 几处"自动云同步把本地刚做的事抹掉"的暗坑。同种 pattern 的三个化身:

    • 启动番茄那台设备会偶尔自己变成"远端在跑"的只读视图,本端找不到任何控制路径。
    • 番茄运行时输入的"闪过的想法"刷新一次就消失。
    • 当天结算完后立刻关浏览器、再开,UI 重新允许结算,不留意会重复结算导致余额超记。

    共同根因都是:本地刚改过的字段在 autosave 还没推上云之前,被云端的旧 snapshot 在自动 merge 时覆盖回去。这版改成本地优先 / 取较新值,三处一起堵。

工程

  • 后端 push 投递从单通道扩成双通道(Web Push + 原生 FCM)并行,下游过期的设备自动剔除。
  • 仓库里多一个 capacitor/ 子工程,带各自的依赖;不上 Play Store 但每个 v* tag 触发 CI 出 arm64-v8a APK,自动建 GitHub Release 把 APK attach 上去。
  • 测试套里加了几条针对 local / cloud 同步竞态的回归 case。