Skip to content

Report completionDate as null and add --completed-since filter - #9

Merged
udondan merged 2 commits into
mainfrom
feat-completed-reminders
Sep 13, 2026
Merged

udondan merged 2 commits into
mainfrom
feat-completed-reminders

Conversation

@udondan

@udondan udondan commented Sep 13, 2026

Copy link
Copy Markdown
Owner

Summary

  • Always emit completionDate in JSON output, as null for incomplete reminders instead of omitting the key entirely.
  • Add --completed-since <date> to show/show-all, filtering completed reminders to those completed on or after a given date (inclusive lower bound, same natural-language date parsing as --due-date/--due-after). Requires --only-completed or --include-completed.

Note on deleting completed reminders (upstream issue keith/reminders-cli#95 / PR #103): this is already resolved on main via e41ba9a, which lets delete <list> <externalId> find a reminder regardless of completion state. PR #103 upstream is unmerged and solves it differently (via separate --id/--index flags); nothing from it needed to be pulled in here.

Test plan

  • swift build -Xswiftc -warnings-as-errors
  • swift test -Xswiftc -warnings-as-errors (89/89 passing, including new FilterTests cases for --completed-since)
  • Manual: reminders show-all --completed-since monday without --only-completed/--include-completed correctly errors
  • Manual: --help output shows the new --completed-since option on both show and show-all

Previously the completionDate key was omitted entirely for incomplete
reminders instead of being emitted as null, making the field
unreliable to consume from JSON output.
Lets callers scope completed reminders to a date range, e.g.
answering "what got completed this week", by filtering on
completionDate with an inclusive lower bound. Requires
--only-completed or --include-completed, since there's nothing to
filter otherwise.
@udondan
udondan merged commit e417d96 into main Sep 13, 2026
1 check passed
@udondan
udondan deleted the feat-completed-reminders branch September 13, 2026 14:07
udondan added a commit that referenced this pull request Sep 13, 2026
)

* feat: always include completionDate in JSON output

Previously the completionDate key was omitted entirely for incomplete
reminders instead of being emitted as null, making the field
unreliable to consume from JSON output.

* feat: add --completed-since filter to show and show-all

Lets callers scope completed reminders to a date range, e.g.
answering "what got completed this week", by filtering on
completionDate with an inclusive lower bound. Requires
--only-completed or --include-completed, since there's nothing to
filter otherwise.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant