audiobookshelf/server/controllers
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
..
ApiKeyController.js Update jwt secret handling 2025-07-08 16:39:50 -05:00
AuthorController.js Fix updating author name merging with same name authors in a different library #4628 2026-02-21 16:00:38 -06:00
BackupController.js Update API JS docs 2024-08-11 17:01:25 -05:00
CacheController.js Update API JS docs 2024-08-11 17:01:25 -05:00
CollectionController.js Update collection create/update endpoints to strip html tags from collection name 2026-03-19 16:53:21 -05:00
CustomMetadataProviderController.js Update API JS docs 2024-08-11 17:01:25 -05:00
EmailController.js Fix local playback sync 2025-01-04 15:35:05 -06:00
FileSystemController.js Fix pathexists filepath back to posix 2025-06-11 16:37:07 -05:00
LibraryController.js Fix item_removed payload to include libraryId 2026-03-31 22:02:52 +03:00
LibraryItemController.js Fix item_removed payload to include libraryId 2026-03-31 22:02:52 +03:00
MeController.js Fix IDOR bugs 2026-02-15 22:01:36 -05:00
MiscController.js Update settings update endpoint to validate allowedOrigins is array 2025-10-10 18:00:37 -05:00
NotificationController.js Add ntfy.sh as notification provider alongside Apprise 2026-04-15 11:02:02 +02:00
PlaylistController.js Update playlist create/update endpoint to strip all html tags 2026-03-19 16:57:22 -05:00
PodcastController.js Update podcast episode update endpoint to sanitize subtitle 2026-03-18 17:01:19 -05:00
RSSFeedController.js Remove old Feed/FeedEpisode/FeedMeta objects 2024-12-15 17:54:36 -06:00
SearchController.js Fix Upload Lookup 2025-11-29 11:02:42 +01:00
SeriesController.js Remove old Feed/FeedEpisode/FeedMeta objects 2024-12-15 17:54:36 -06:00
SessionController.js Fix admin user unable to close sessions of other users #4746 2025-10-13 09:50:01 -05:00
ShareController.js Update PlaybackSession to use new library item model 2025-01-03 11:16:03 -06:00
StatsController.js Add admin middleware for StatsController 2025-03-29 17:37:13 -05:00
ToolsController.js Replace advanced options with presets/advanced card 2025-05-02 17:24:46 -05:00
UserController.js Update sessions modal to show username & update sessions endpoints to always return username 2025-07-16 16:56:07 -05:00