Agent
f9878fdff1
feat(settings): merge email digest schedule controls onto email-notifications
...
CI / lint-check-build (pull_request) Successful in 3m19s
Resolves PR #5 conflict resolution: rebased the digest-schedule work (from
flotilla-fc1, built against dev) onto the email-notifications branch.
- settings.ts: add emailHour/emailMinute/emailDayOfWeek/emailTimezone to
SettingsValues + defaults (17:00, device timezone, dayOfWeek undefined)
- alerts/+page.svelte: keep the email-notifications card (gated on
EMAIL_NOTIFICATION_SERVER, communities warning, error state, NIP-98
register/enable flow); add HH:MM time input + weekly day-of-week picker;
weekly select defaults dayOfWeek to Monday; publish schedule fields via
AppData publishSettings
- mail/index.ts: register() accepts hour/minute/dayOfWeek/timezone and PUTs
them to mailship; enable()/sync() pass stored schedule through
Dropped dev-based duplicates: src/app/mail.ts, VITE_MAILSHIP_URL (.env +
env.ts) — the email-notifications mail adapter and
VITE_EMAIL_NOTIFICATION_SERVER are canonical. PUT contract matches mailship
PR #28 : {email, frequency, hour, minute, dayOfWeek, timezone}.
2026-09-23 14:09:39 -04:00
mplorentz
609a2f65ea
Email digest: GET-first restore on boot so reloads stop re-sending confirmations
...
CI / lint-check-build (pull_request) Successful in 3m25s
Mail.sync's boot reconcile now GETs the existing subscription (NIP-98
auth) before deciding what to do. When a subscription already exists for
the pubkey with the same email and frequency, its key/callback are
restored in memory and the PUT is skipped entirely. Only a matching
subscription missing the requested params triggers a PUT, so a page
refresh of an unconfirmed address no longer makes mailship re-send a
confirmation email (previously each reload sent one).
2026-09-22 12:31:56 -04:00
mplorentz
63cf801ef1
Fix settings hydration
CI / lint-check-build (pull_request) Successful in 3m23s
2026-09-21 16:14:02 -04:00
mplorentz
b90a20424e
Fix Mail.sync to only fire when the user saves, or when contents are loaded from disk
CI / lint-check-build (pull_request) Successful in 4m9s
2026-09-21 11:54:19 -04:00
hudson
ce8920123f
Keep signer-not-responding toast; drop only the dead Details action button
CI / lint-check-build (pull_request) Successful in 4m14s
2026-09-17 16:40:09 -04:00
hudson
1cff79dba2
Remove signer-not-responding toast with dead Details link
CI / lint-check-build (pull_request) Failing after 1m40s
2026-09-16 15:13:47 -04:00
Agent
3981ed9608
fix email notifications: match mailship PUT API with full-URL NIP-98 and payload tag
...
CI / lint-check-build (pull_request) Successful in 3m19s
- register(): sign makeHttpAuth with full URL (/subscription/email),
method PUT, and serialized body so both u-tag and payload tag match
mailship's verifyNip98Auth. Drop pubkey from request body (server
reads it from the auth event).
- unregister(): sign makeHttpAuth with full URL (/subscription/:key)
and method DELETE, matching mailship's u-tag expectation.
Closes PR #4
2026-09-16 13:50:47 -04:00
mplorentz
d6f0e47edf
debounce subscription syncing
CI / lint-check-build (pull_request) Successful in 4m4s
2026-09-03 13:43:10 -04:00
mplorentz
cbba1035e7
Fix bug where email 30390s would be deleted if push notifications were toggled off.
CI / lint-check-build (pull_request) Has been cancelled
2026-09-03 13:04:29 -04:00
mplorentz
42561c8c02
Use salt instead of device id for email settings
2026-09-03 12:47:36 -04:00
mplorentz
2b2515b1be
check for nip-9a support
2026-09-03 12:40:28 -04:00
mplorentz
a7b948740c
Omit email digest UI if env variable is not set.
2026-09-03 12:03:34 -04:00
mplorentz
8047a4f084
Always PUT email subscription (remove GET-first lookup)
...
CI / lint-check-build (pull_request) Has been cancelled
Mailship's /subscription/email is now an idempotent PUT upsert. Drop the
lookup-before-register dance and always PUT the settings; mailship skips the
confirmation email when nothing changed or only the frequency changed.
2026-09-03 11:52:31 -04:00
mplorentz
3e892d76f6
Sync email settings only when changed
CI / lint-check-build (pull_request) Has been cancelled
2026-09-01 15:59:30 -04:00
mplorentz
83a8bb1572
Send include_event tag with 30390
CI / lint-check-build (pull_request) Has been cancelled
2026-08-27 15:44:37 -04:00
mplorentz
dd1182cb32
Save email notification prefs to app settings
CI / lint-check-build (pull_request) Has been cancelled
2026-08-27 15:08:37 -04:00
Agent
49df66a58a
Fix error message when saving email prefs fails
CI / lint-check-build (pull_request) Has been cancelled
2026-08-25 10:32:51 -04:00
mplorentz
c0f545350c
Merge branch 'dev' into email-notifications
CI / lint-check-build (pull_request) Has been cancelled
2026-08-24 14:40:44 -04:00
mplorentz
645174447d
Merge branch 'dev' into email-notifications
2026-08-24 14:36:08 -04:00
Jon Staab
637be41a8b
Await deletions
CI / lint-check-build (push) Waiting to run
2026-08-22 12:36:25 -07:00
Jon Staab
35ed7bc09f
React to addressed events getting updated for delete status
2026-08-22 11:40:05 -07:00
Jon Staab
735231f8bc
Make some event rendering components reactive
2026-08-22 11:30:30 -07:00
Jon Staab
8d7b640d0f
Fix thread permalinks
2026-08-22 11:20:33 -07:00
Jon Staab
99be43f396
Fix pagination collapse
2026-08-22 11:11:57 -07:00
Jon Staab
2edcfd9a79
Fix a test, avoid link nesting in article cards
2026-08-22 11:00:22 -07:00
Jon Staab
08821d27f4
Bump eslint
2026-08-22 10:32:51 -07:00
Jon Staab
a28a4fd72a
Show error toast on failed report resolution
2026-08-21 15:54:11 -07:00
Jon Staab
0e35cadebe
Fix role create/edit colors
2026-08-21 14:11:13 -07:00
Jon Staab
3e4ae49eed
Include space urls in hints for profile derivation
2026-08-21 13:47:06 -07:00
Jon Staab
5ecb811b24
Auto-cleanup
2026-08-21 11:29:15 -07:00
Agent
5cbc1e459c
Show email registration errors in UI
...
- Add error field to EmailNotificationState type
- Set user-friendly error messages in MailNotifications.register() for:
missing signer, missing server config, NIP-98 auth failure,
network errors, and server errors
- Clear error on successful registration
- Show inline error banner in the email settings card
- Return early on registration failure (like push does)
- Clear error when user edits email/frequency or clicks reset
2026-08-20 12:22:53 -04:00
mplorentz
725ef45d9d
Fix signer error
2026-08-20 11:51:26 -04:00
Agent
fee6f565ff
Email notifications: settings UI + mail adapter
...
- Add VITE_EMAIL_NOTIFICATION_SERVER env var
- Extend notificationSettings with email, emailFrequency, emailAddress
- Add emailNotificationState store in push/adapters/common.ts
- New src/app/mail/index.ts with MailNotifications class:
register/unregister with mailship via NIP-98 auth,
publish kind 30390 NIP-9a subscription events
- Wired into alerts settings save handler
- Email Digest Settings card in alerts UI
2026-08-20 11:15:35 -04:00
Jon Staab
ce4ecedf7e
De-emphasize link meta
2026-08-18 14:44:43 -07:00
Jon Staab
0a9d3cfb49
Use nip 86 for claim management
2026-08-18 12:55:08 -07:00
Jon Staab
8a0918d551
Merge tracker/events store into a single indexeddb store
2026-08-18 11:32:39 -07:00
Jon Staab
45cbd1d6ba
Fix loading events to avoid lost provenance
2026-08-18 09:20:30 -07:00
Jon Staab
20f12a48a4
Fix session persistence on android
2026-08-17 16:10:00 -07:00
Jon Staab
b8ec94e548
Patch requestIdleCallback for android
2026-08-17 15:33:12 -07:00
Jon Staab
f71cdf3f8d
Add lnvps link
2026-08-17 15:30:45 -07:00
Jon Staab
c62ef3fc3c
Undo reaction by tapping
2026-08-17 15:25:53 -07:00
Jon Staab
847d89845e
Use new welshman membership helpers
2026-08-17 15:14:18 -07:00
Jon Staab
3dfb5e60de
Hide emoji picker border in dialog
2026-08-17 15:14:12 -07:00
Jon Staab
974c6413af
Add article support
2026-08-17 14:12:33 -07:00
Jon Staab
4c4b6b50a7
Fix author hint for quotes
2026-08-17 11:24:49 -07:00
Jon Staab
b06b855a42
Clean up thread create initial values
2026-08-17 11:18:38 -07:00
Aditya Chaudhary
dfb971e7dd
feat: add "Convert to Thread" action on room messages ( #370 )
...
Co-authored-by: Aditya Chaudhary <30+useradityaa@noreply.coracle.social>
2026-08-17 18:13:37 +00:00
Jon Staab
01a79d570b
Cache space nav items and fix meta storage
2026-08-17 10:49:28 -07:00
Aditya Chaudhary
0f448e0b5a
Restore mic state on full voice reconnect after a dropout ( #373 )
...
Co-authored-by: Aditya Chaudhary <30+useradityaa@noreply.coracle.social>
2026-08-17 17:19:13 +00:00
Jon Staab
25f7d6892d
Fix nip 55
2026-08-17 09:44:13 -07:00