audiobookshelf/server
Mikkel Mikkelsen 9391a940f5 Add ntfy.sh as notification provider alongside Apprise
Support sending notifications via ntfy.sh or self-hosted ntfy servers
as an alternative to Apprise. Each notification can be configured to
use either provider via a dropdown in the create/edit modal.

Server changes:
- Add ntfyUrl and ntfyToken fields to NotificationSettings
- Add ntfyTopic field to Notification model with getNtfyPayload()
- Route notifications to Apprise or ntfy based on ntfyTopic presence
- Add null guard for appriseApiUrl before sending
- Add undefined guards in update() to prevent partial PATCH from
  resetting unrelated fields

Client changes:
- Add ntfy.sh settings section on the notifications config page
- Add provider dropdown (Apprise/ntfy) in notification edit modal
- Extract shared saveSettings() helper to deduplicate form submissions
- Use i18n for all user-visible strings
2026-04-15 11:02:02 +02:00
..
auth Update API Key jwtAuthCheck to check user active status 2026-03-18 16:17:45 -05:00
controllers Add ntfy.sh as notification provider alongside Apprise 2026-04-15 11:02:02 +02:00
finders Improved subtitle parsing to account for bare colon in title 2026-02-06 14:31:09 -05:00
libs Add fuse.basic.min.js in libs instead of full npm package, use lower threshold for quick matching 2025-06-13 17:23:24 -05:00
managers Add ntfy.sh as notification provider alongside Apprise 2026-04-15 11:02:02 +02:00
migrations Update migration file to v2.33.0 2026-03-12 16:45:08 -05:00
models Update JS docs 2026-03-30 16:22:27 -05:00
objects Add ntfy.sh as notification provider alongside Apprise 2026-04-15 11:02:02 +02:00
providers Fix server crash on audible match #4931 2025-12-23 16:44:29 -06:00
routers Fix item_removed payload to include libraryId 2026-03-31 22:02:52 +03:00
scanner Auto-formatting 2025-12-21 14:45:04 -06:00
utils Merge pull request #5115 from rktjmp/fix-mka-opus-desktop-streaming 2026-04-10 16:54:18 -05:00
Auth.js Add additional debug logs for OIDC login 2025-08-15 17:23:20 -05:00
Database.js Update API Keys to be tied to a user, add apikey lru-cache, handle deactivating expired keys 2025-06-30 14:53:11 -05:00
Logger.js Simplify log level determination 2025-03-08 12:46:36 -07:00
Server.js Update for nextjs client, pass all remaining requests through to nextjs 2025-09-28 09:41:15 -05:00
SocketAuthority.js Replace cover search with streaming version 2025-10-02 13:30:03 +03:00
Watcher.js Add: generic function to ignor files 2025-02-22 12:28:51 -07:00