Add daily planning, projects, routines, and offline capture - #6
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
| for (const task of db.prepare(`SELECT id,title,waiting_on,follow_up_date FROM tickets WHERE status NOT IN (${CLOSED_LIST}) AND waiting_on IS NOT NULL AND follow_up_date IS NOT NULL`).all()) { | ||
| lines.push(...event({ uid: `followup-${task.id}@homelab`, stamp, date: task.follow_up_date, summary: `Follow up: ${task.title}`, description: task.waiting_on })); | ||
| } |
There was a problem hiding this comment.
Snoozed follow-ups stay visible
Snoozing a waiting task is supposed to defer its follow-up visibility, and the dashboard, digest, and notification queries honor that state. This calendar query emits every follow-up without checking snoozed_until, so a follow-up due today but snoozed until next week still appears on today's calendar.
| for (const task of db.prepare(`SELECT id,title,waiting_on,follow_up_date FROM tickets WHERE status NOT IN (${CLOSED_LIST}) AND waiting_on IS NOT NULL AND follow_up_date IS NOT NULL`).all()) { | |
| lines.push(...event({ uid: `followup-${task.id}@homelab`, stamp, date: task.follow_up_date, summary: `Follow up: ${task.title}`, description: task.waiting_on })); | |
| } | |
| for (const task of db.prepare(`SELECT id,title,waiting_on,follow_up_date FROM tickets WHERE status NOT IN (${CLOSED_LIST}) AND waiting_on IS NOT NULL AND follow_up_date IS NOT NULL AND (snoozed_until IS NULL OR snoozed_until <= app_today())`).all()) { | |
| lines.push(...event({ uid: `followup-${task.id}@homelab`, stamp, date: task.follow_up_date, summary: `Follow up: ${task.title}`, description: task.waiting_on })); | |
| } |
Prompt To Fix With AI
This is a comment left during a code review.
Path: src/api/calendar.js
Line: 68-70
Comment:
**Snoozed follow-ups stay visible**
Snoozing a waiting task is supposed to defer its follow-up visibility, and the dashboard, digest, and notification queries honor that state. This calendar query emits every follow-up without checking `snoozed_until`, so a follow-up due today but snoozed until next week still appears on today's calendar.
```suggestion
for (const task of db.prepare(`SELECT id,title,waiting_on,follow_up_date FROM tickets WHERE status NOT IN (${CLOSED_LIST}) AND waiting_on IS NOT NULL AND follow_up_date IS NOT NULL AND (snoozed_until IS NULL OR snoozed_until <= app_today())`).all()) {
lines.push(...event({ uid: `followup-${task.id}@homelab`, stamp, date: task.follow_up_date, summary: `Follow up: ${task.title}`, description: task.waiting_on }));
}
```
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.
Comments Outside DiffThese findings sit on lines the diff does not cover, so they could not be posted inline. Each one leaves this list once its file changes.
|
Changes
Task Hub now supports daily planning and reliable mobile capture alongside its existing Inbox and maintenance workflows. Users can select and order Today tasks, snooze work, track waiting reasons and follow-up dates, add checklists, organize projects, save filtered views, and create calendar-based or completion-based routines.
The iPhone-friendly capture screen saves text and attachment drafts locally. Explicit submission can resume after expired authentication or lost responses without duplicating tasks or uploads. The installable app caches its capture interface; existing server tasks are not cached for offline browsing.
Includes additive SQLite migrations, configurable civil-date handling, follow-up notifications, export/calendar integration, and usage, upgrade, and Apple Shortcut instructions in
docs/planning.md. Existing fixed-interval schedules retain their previous behavior.Validation
git diff --checkpassed.Remaining manual verification
Physical iPhone installation, share-sheet integration, and standalone offline launch have not been verified. Windows WebKit could not verify service-worker offline reload; its loaded-page offline edits and submission recovery passed. A physical-device checklist is included in the documentation.
No deployment is included.