重复待办打勾后应自动推进到下一期(completeRecurringRound 是否接入打勾流程) #41

Closed
opened 2026-11-04 00:13:48 +00:00 by laoyang · 1 comment
Owner

现象

待办编辑弹层有「重复」选项,TodoService.setRecurrence 也在写 RRULE,
但打勾完成后是否自动推进到下一期未确认。

TodoService.completeRecurringRound 方法存在,但需核查是否真的接进了打勾链路。

需要做的事

  1. 先核查 Index.toggleTodo → setCompleted 路径是否处理了 recurring
  2. 若未接入:打勾时对重复待办改走 completeRecurringRound
  3. 推进后给出提示:「已完成本次,下期截止:X月X日」
  4. 非重复待办仍走原 setCompleted

验收标准

  • 每天重复的待办打勾后,DUE 推进到明天,条目仍留在未完成列表
  • 服务器端 RRULE 保留,DUE 已更新
  • 非重复待办打勾后正常进入已完成

为什么单独建单

重复待办打勾推进是行为逻辑问题(completeRecurringRound 是否接入 toggleTodo),与提醒、列表交互、字段扩展都不同

## 现象 待办编辑弹层有「重复」选项,`TodoService.setRecurrence` 也在写 RRULE, 但**打勾完成后是否自动推进到下一期**未确认。 `TodoService.completeRecurringRound` 方法存在,但需核查是否真的接进了打勾链路。 ## 需要做的事 1. 先核查 `Index.toggleTodo` → `setCompleted` 路径是否处理了 `recurring` 2. 若未接入:打勾时对重复待办改走 `completeRecurringRound` 3. 推进后给出提示:「已完成本次,下期截止:X月X日」 4. 非重复待办仍走原 `setCompleted` ## 验收标准 - 每天重复的待办打勾后,`DUE` 推进到明天,条目仍留在未完成列表 - 服务器端 RRULE 保留,DUE 已更新 - 非重复待办打勾后正常进入已完成 --- ### 为什么单独建单 重复待办打勾推进是行为逻辑问题(completeRecurringRound 是否接入 toggleTodo),与提醒、列表交互、字段扩展都不同
Author
Owner

验收记录(核查结论)

提交:413900b

结论:功能已实现且完整,本次未改逻辑

Index.toggleTodo 已经做了正确的分流:

const isRecurring = t.recurRule !== '';
if (isRecurring && !t.completed) {
  nextDue = await TodoService.completeRecurringRound(ctx, t.id);
}

completeRecurringRound 实现健全:

  • 从 FREQ 推下一个基准
  • 保留「基准 → DUE」的偏移(9:00 截止的,下次还是 9:00)
  • 先把 STATUS 复位为未完成,再推进 DTSTART/DUE
  • 写回服务器后更新本地 etag

本次只补了一处

打勾后没刷新桌面卡片和提醒,已补(属共性遗漏,四个写操作统一处理)。

## 验收记录(核查结论) 提交:`413900b` ### 结论:功能**已实现且完整**,本次未改逻辑 `Index.toggleTodo` 已经做了正确的分流: ```ts const isRecurring = t.recurRule !== ''; if (isRecurring && !t.completed) { nextDue = await TodoService.completeRecurringRound(ctx, t.id); } ``` `completeRecurringRound` 实现健全: - 从 FREQ 推下一个基准 - **保留「基准 → DUE」的偏移**(9:00 截止的,下次还是 9:00) - 先把 STATUS 复位为未完成,再推进 DTSTART/DUE - 写回服务器后更新本地 etag ### 本次只补了一处 打勾后没刷新桌面卡片和提醒,已补(属共性遗漏,四个写操作统一处理)。
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: laoyang/FamilyBook#41