Add accepted-routine timestamps to the store (Vikunja #366)
Data layer only. Migration #8 adds accepted_ts and last_fired_ts to proposed_routines, plus ListAcceptedRoutines and MarkRoutineFired so the tick loop can own the schedule. Accepting no longer links a reminder id. Look at the TODO(vikunja#366) in cmd/mavend/tick.go for the next commit. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CGeSZxh1DCtRxmFVSYVGvJ
This commit is contained in:
@@ -186,6 +186,10 @@ func (t *tickLoop) tick(ctx context.Context, now time.Time) {
|
||||
// LLM-phrased — so a routine can't hallucinate. severity comes from config.
|
||||
t.fireRoutines(ctx, now, state)
|
||||
|
||||
// TODO(vikunja#366): fire accepted routines here — read
|
||||
// store.ListAcceptedRoutines, pick the ones whose interval has passed, nudge
|
||||
// them through the gate, then MarkRoutineFired.
|
||||
|
||||
// morning routines: daily checklists (medicine/water/pets/...), nagged at
|
||||
// most once per day per routine, and only for items still unevidenced at
|
||||
// nudge time. See internal/morning for the "why not four timers" rationale.
|
||||
|
||||
+2
-1
@@ -1429,7 +1429,8 @@ func (h *reactiveHandler) resolveConfirm(ctx context.Context, text string) (stri
|
||||
log.Printf("voice: create routine reminder: %v", err)
|
||||
return "не получилось поставить напоминание.", true
|
||||
}
|
||||
if err := h.dataStore.AcceptProposedRoutine(ctx, pr.routineID, remID); err != nil {
|
||||
_ = remID // TODO(vikunja#366): stop creating a reminder here; the tick loop fires accepted routines.
|
||||
if err := h.dataStore.AcceptProposedRoutine(ctx, pr.routineID, h.now()); err != nil {
|
||||
log.Printf("voice: accept proposed routine: %v", err)
|
||||
}
|
||||
return "буду напоминать.", true
|
||||
|
||||
Reference in New Issue
Block a user