trentlarson
93168ae360
make the boolean checks consistent, and guard against mistakes
2026-09-14 11:43:22 -06:00
trentlarson
65eb1bee1e
add notify hour-minute setting, and a DELETE for an existing alert
2026-09-07 18:55:52 -06:00
trentlarson
6cea0e9b67
sms: create explicit allow & block management
2026-09-06 12:20:04 -06:00
trentlarson
bfac283690
add tests -- which have worked on Trent's machine... SMS sent!
2026-09-06 09:22:15 -06:00
trentlarson
f967db7373
Add SMS notifications. The PLAN is executed but this isn't tested yet.
2026-09-05 20:52:34 -06:00
Jose Olarte III
c9df679ac2
Document the real Docker/node dist/index.js production path, durable SQLite, single replica, and Firebase credential options so deploys are not treated as equivalent to tsx.
2026-09-01 16:07:21 +08:00
Jose Olarte III
cfc2cdefa3
Send a TimeSafari FCM digest after a completed daily alertSearch with updates, using JWT consumption to avoid repeat sends without changing WAKEUP_PING.
2026-08-31 21:41:34 +08:00
Jose Olarte III
10e80c6f41
Attach the alertSearch digest to each daily run so a completed retrieve is notification-ready without changing JWT consumption or cursor rules.
2026-08-31 20:44:04 +08:00
Jose Olarte III
49f50e36b7
Add a structured alertSearch digest of the six result buckets so the app can build a daily notification from records and counts, not a server-hardcoded message.
2026-08-28 20:58:13 +08:00
Jose Olarte III
209b346d16
Add a user-level alertSearch scheduler that runs each authorization-batch user once per pass, with an in-flight guard, without changing FCM wakeup.
2026-08-28 16:39:22 +08:00
Jose Olarte III
d45ea26bca
Add a callable daily alertSearch run that picks today’s unused delegated JWT from the batch timezone and consumes it only after both sources complete.
2026-08-28 15:46:39 +08:00
Jose Olarte III
131d2fc9d9
Add an explicit alertSearch cycle that loads cursors, retrieves, and advances only complete sources so scheduler integration can reuse a proven path.
...
Treat Partner LIMIT-50 pages with a tied oldest updatedAt as incomplete so exclusive beforeDate paging cannot skip remaining rows.
2026-08-27 20:55:13 +08:00
Jose Olarte III
eb5b286476
Persist independent Endorser and Partner alertSearch cursors per user so later daily runs can resume after the last complete retrieval.
...
Advance each cursor only on success, leave empty/pagination/error results unchanged, and keep this unwired from the scheduler.
2026-08-27 20:20:51 +08:00
Jose Olarte III
caeca10910
Fix Endorser alertSearch pagination so the next beforeId is the max of per-bucket minima, not the global min.
...
Treat a full plansNearby page as incomplete because the server orders that bucket by rowid while filtering jwtId.
2026-08-27 16:34:36 +08:00
Jose Olarte III
74e9c02669
Add an alertSearch retrieval layer so notify-api can query Endorser and Partner with a delegated JWT.
...
Keep Endorser and Partner cursors independent, paginate with the real beforeId/beforeDate contract, and leave scheduling and notification delivery for later.
2026-08-27 15:16:04 +08:00
Jose Olarte III
00cd0cf8f4
Add PUT /notifications/alert-authorization so the app can install a 100-JWT delegated batch without overloading device registration.
...
Store the batch atomically under the authenticated DID, replace unused JWTs on each setup, and reject Passkey identities that cannot mint future credentials.
2026-08-26 20:40:52 +08:00
Jose Olarte III and Cursor
9c7c7fa271
bump version to 0.1.4 and add to CHANGELOG
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-07 15:49:28 +08:00
trentlarson
a45150e25f
bump version to 0.1.3 and add to CHANGELOG
2026-07-30 20:21:03 -06:00
trentlarson
55d43a1a20
bump version to 0.1.2
2026-07-16 22:46:09 -06:00