mplorentz
d143a563ba
Process nostr events included directly in the callback.
2026-08-27 11:28:03 -04:00
mplorentz
4e8918c1f3
Add branding to email confirmation screen
2026-08-27 10:30:46 -04:00
mplorentz
77e35c26c7
log errors
2026-08-26 17:21:00 -04:00
mplorentz
a799e1ba1c
add permissive CORS headers
2026-08-20 12:42:31 -04:00
Agent
f220301154
Add integration test script, fix root handler, add DATA_DIR support
...
- test/integration.sh: runs full E2E flow against fresh server
- pnpm test and pnpm test:server scripts added
- Root endpoint handles missing web UI gracefully (returns JSON)
- database.ts reads DATA_DIR env var for test isolation
- .gitignore updated for test artifacts
2026-08-18 12:35:20 -04:00
Agent
25645e1d0e
Fix unsubscribe page path, remove pool override, handle Postmark error gracefully
...
- Fix unsubscribe page path (unsubscribe-success.html → unsubscribe.html)
- Remove netContext.pool.get override that crashed load()
- Handle Postmark registration error gracefully by returning subscription from DB
- Add getSubscriptionByPubkey import to server.ts
2026-08-18 12:26:07 -04:00
Agent
21e7058862
Initial mailship fork from anchor
...
Fork anchor, strip all push notification code (APNs, FCM, WebPush),
rename from anchor to mailship, add new database schema for
subscriptions + events tables, and add HTTP API for email
notification registration and NIP-9a relay push callbacks.
- POST /subscription/email — register for email digests
- DELETE /subscription/:key — unsubscribe
- POST /notify/:id — NIP-9a relay push callback
- GET /confirm?token=... — confirm email
- GET /unsubscribe?token=... — unsubscribe
Co-authored-by: mplorentz
2026-08-18 12:21:22 -04:00