Commit Graph

29 Commits

Author SHA1 Message Date
Peter Steinberger
883ae25791
fix: resolve reminder indexes from show view
Some checks failed
CI / build (push) Has been cancelled
2026-05-08 15:13:00 +01:00
Peter Steinberger
de80b37c45
ci: update homebrew tap on release
Some checks are pending
CI / build (push) Waiting to run
2026-05-07 03:56:52 +01:00
Dinakar Sarbada
74beefa96a
docs: integrate Homebrew tap update into release flow
Some checks failed
CI / build (push) Has been cancelled
Co-authored-by: Dinakar Sarbada <dinakars777@users.noreply.github.com>
2026-05-04 09:04:27 +01:00
Wenyou Yi
f3cd4eb683
docs: add remindctl skill for agentic tools
Add an apple-reminders skill that documents the current remindctl command surface for agentic tools.

Refined before merge to match the 0.2.0 release: macOS/Homebrew requirements, JSON aliases, open filter, metadata fields, recurrence, alarms, location trigger constraints, permissions, and EventKit limitations.

Co-authored-by: Allen Yi <yiwenyou_allen@outlook.com>
2026-05-04 06:50:51 +01:00
Peter Steinberger
1aff71567c
ci: update actions to node 24 runtime 2026-05-04 06:25:32 +01:00
Peter Steinberger
568457e27e
ci: opt in to node 24 actions runtime 2026-05-04 06:23:45 +01:00
Peter Steinberger
cd0ab4c1f4
docs: rewrite README 2026-05-04 06:21:45 +01:00
Peter Steinberger
4b79188ab5
docs: refresh README feature guide 2026-05-04 06:13:23 +01:00
Peter Steinberger
85a589366e
feat: add location reminder triggers
Co-authored-by: Octavio Froid <froid@bohm.com>
2026-05-04 05:58:14 +01:00
Peter Steinberger
20e868d615
feat: expose reminder modification metadata
Co-authored-by: Allen Yi <yiwenyou_allen@outlook.com>
2026-05-04 05:55:33 +01:00
Peter Steinberger
09b25089e1
feat: add simple recurrence support
Co-authored-by: Weber Wei <weberwcwei@users.noreply.github.com>
2026-05-04 05:54:01 +01:00
Peter Steinberger
b7f1ac959f
feat: add EventKit alarm support
Co-authored-by: 杨林 <yanglin@M1.local>
2026-05-04 05:51:03 +01:00
Peter Steinberger
57a73aaae1
feat: expose reminder URL metadata 2026-05-04 05:44:15 +01:00
Peter Steinberger
50cc4f56ba
feat: expose reminder creation date
Co-authored-by: Travis Irby <travis.irby@gmail.com>
2026-05-04 05:42:54 +01:00
Peter Steinberger
0dcfe4cdf1
docs: note open filter 2026-05-04 05:27:59 +01:00
Peter Peirce
f948ec77ea
feat: add open filter to show all incomplete reminders
The existing filters don't cover incomplete reminders without due dates.
`upcoming` requires a due date, so undated items (e.g. grocery lists)
are only visible via `all` which includes completed items too.

`remindctl open` returns all uncompleted reminders regardless of
due date status.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit c5019fd566da5861dafc932d4ca9792cf33b6e46)
2026-05-04 05:27:54 +01:00
Peter Steinberger
bc92d10262
docs: add Reminders prompt workaround 2026-05-04 05:27:06 +01:00
Peter Steinberger
0c1b48dad2
chore: bump version to 0.2.0 2026-05-04 05:24:29 +01:00
Peter Steinberger
3d8d1a9e01
fix: preserve reminder due date intent 2026-05-04 05:24:23 +01:00
Peter Steinberger
a2215b6e8b
chore: update Commander dependency 2026-05-04 02:04:22 +01:00
Peter Steinberger
49026a5d54 chore(release): v0.1.1 2026-01-11 10:22:21 +00:00
Peter Steinberger
ce8556df82
Merge pull request #3 from daveonkels/fix/swift6-concurrency-violation
Fix Swift 6 strict concurrency violation in fetchReminders
2026-01-11 10:19:33 +00:00
Dave Onkels
7c902d083b Fix Swift 6 strict concurrency violation in fetchReminders
This fixes the "Incorrect actor executor assumption" error that occurred
when running `remindctl list`.

## Problem
The `fetchReminders` method was calling the actor-isolated `item(from:)`
method from inside a non-isolated EventKit completion handler. Additionally,
`EKReminder` objects are not `Sendable`, which violates Swift 6's strict
concurrency checking.

## Solution
Restructured `fetchReminders` to:
1. Extract all needed data from `EKReminder` objects inside the callback
   (where it's safe to access them)
2. Store that data in a local `Sendable` struct (`ReminderData`)
3. Pass the Sendable data across the concurrency boundary
4. Convert to `ReminderItem` on the actor using the safe data

This ensures all actor-isolated code runs on the correct executor and
all data crossing concurrency boundaries is Sendable.

## Testing
- Built successfully with Swift 6.0
- All commands tested: list, show, status
- JSON output verified
2026-01-05 22:55:55 -08:00
Peter Steinberger
9258c16278 docs: add release process and notarization script 2026-01-04 01:53:56 +01:00
Peter Steinberger
d88c59321d docs: add manual test note and tagline 2026-01-03 15:39:05 +01:00
Peter Steinberger
5582c26016 feat: add permissions commands and dev tasks 2026-01-03 13:20:56 +01:00
Peter Steinberger
beb10cebcd ci: use macos-15 runner 2026-01-03 07:17:52 +01:00
Peter Steinberger
d8f9510112 feat: initial remindctl cli 2026-01-03 07:14:56 +01:00
Peter Steinberger
e8a3d14f52
Initial commit 2026-01-03 07:14:05 +01:00