This repository was archived by the owner on May 22, 2026. It is now read-only.
Repository navigation
v4.4
主要变化
- 番茄串改成连续滚动:25 分钟一格,自动续约,不再插一段 60 秒的
缓冲期。设计回到番茄时间盒最初的样子——节奏稳,不被一段半空的
暂停打断。从前那段缓冲在体验上既挡视线又难手动结束(实际跑下
来还会偶尔卡死),加进来时是想给一个"喘口气"的窗口,结果变成
专注节奏的杂质,删掉是干净选择。 - 提前结束分两档。当前番茄不到 13 分钟,长按结束直接销毁,符合
从前的算法(已完成的算,进行中的丢)。超过 13 分钟,给两条路:
一是销毁,二是填一句"这段时间做了什么",按完整番茄计入。13
分钟的门槛是给真做了事但凑不到 25 的人一条体面路径,避免"做
了 24 分钟还要被算成零"产生的放弃情绪。代价是必须写一句话——
既是对 token 经济学的诚实,也强制做一次最小反思。 - Journey 的"最近 20 串"列表点开可以改 tag、改描述,也可以整条
删除。删除会把这条番茄当时拿到的 F 和 bonus 从余额里反扣,今
天的话连日计数一起回退。从前打错 tag 或写错任务名只能死着,
现在补救路径打开了;删除之所以连账本也一起冲销,是为了让账本
始终跟历史对得上,避免出现"番茄串里没有但 F 多了几个"的悬空
记录。 - 番茄和娱乐计时不再绑定 Kanban 卡片。开番茄、玩娱乐时不需要再
选 Kanban 卡,结束时也没有"完成此卡片"的勾选。绑定的本意是省
一次手动同步两个状态机,但实际跑下来更像摩擦——每开一个番茄要
先扫一眼 Kanban,每次结束又要决定 Kanban 那边的状态。Kanban
和番茄分开节奏看反而清爽。
修复
- 缓冲期偶尔跨不过去导致计时卡在第二个番茄之间的那种状态,长按
结束也只能扣到中间相位、跨设备同步还会显示成"另一端缓冲中"
下不去——整段相关代码随缓冲期一起退场,这条路彻底没了。
工程
- persist 版本升 9,迁移把进行中且处于旧缓冲态的会话平滑过渡到
新的下一个番茄,不会因为升级丢节奏。云快照里的旧字段保留兼容
位,新版本读取时忽略,老设备写出来仍能正常解析。 - 推送链单相位化:服务端每 25 分钟一跳,不再交替 running/buffer
两条 QStash 链。跨设备只读镜像跟着简化为单一节拍。 - 单元测试覆盖三个新口径:自动续约的多边界跨越、历史编辑的账本
联动、删除的余额反冲与今日计数回退。