Trek_CN/client
jubnl bfe84b3016
feat(notifications): add ntfy as a first-class notification channel
Adds ntfy.sh (and self-hosted instances) as a new push notification
channel with full parity to the existing webhook channel.

- Backend: NtfyConfig type, getUserNtfyConfig, getAdminNtfyConfig,
  resolveNtfyUrl, sendNtfy (header-based API with Title/Priority/Tags/
  Click headers), testNtfy, NTFY_EVENT_META (priority + emoji tags per
  event), SSRF guard via existing checkSsrf + createPinnedDispatcher
- notificationPreferencesService: ntfy added to NotifChannel union,
  IMPLEMENTED_COMBOS, getActiveChannels parser, getAvailableChannels,
  ADMIN_GLOBAL_CHANNELS, and AvailableChannels interface
- notificationService: per-user ntfy dispatch after webhook block;
  admin-scoped ntfy via getAdminGlobalPref for version_available events
- Routes: POST /api/notifications/test-ntfy with saved-token fallback
- authService: admin_ntfy_server/topic/token in ADMIN_SETTINGS_KEYS,
  masked + encrypted on read/write
- settingsService: ntfy_token added to ENCRYPTED_SETTING_KEYS
- Frontend: ntfy topic/server/token inputs + Save/Test/Clear buttons in
  NotificationsTab; admin Ntfy panel in AdminPage; testNtfy API method
- i18n: full English strings; English placeholders in 14 other locales
- Tests: resolveNtfyUrl, sendNtfy, dispatch integration, UI tests,
  MSW handler for test-ntfy endpoint
2026-04-15 13:59:25 +02:00
..
public ui(trip): replace plane loading animation with TREK logo GIF 2026-04-05 17:28:04 +02:00
scripts Add PWA support for iOS home screen install 2026-03-21 22:21:23 +01:00
src feat(notifications): add ntfy as a first-class notification channel 2026-04-15 13:59:25 +02:00
tests feat(notifications): add ntfy as a first-class notification channel 2026-04-15 13:59:25 +02:00
index.html feat: Journey addon — travel journal with entries, photos, public sharing & PDF export 2026-04-11 19:01:34 +02:00
package-lock.json Merge pull request #664 from mauriceboe/main 2026-04-15 07:38:11 +02:00
package.json Merge pull request #664 from mauriceboe/main 2026-04-15 07:38:11 +02:00
postcss.config.js Initial commit — NOMAD (Navigation Organizer for Maps, Activities & Destinations) 2026-03-18 23:58:08 +01:00
tailwind.config.js Initial commit — NOMAD (Navigation Organizer for Maps, Activities & Destinations) 2026-03-18 23:58:08 +01:00
tsconfig.json test(front): add test suite frontend (WIP) 2026-04-07 12:31:09 +02:00
vite.config.js fix(csp): disable Vite module preload polyfill to prevent inline script violation 2026-04-10 01:10:32 +02:00
vitest.config.ts fix(tests): restore native AbortController for undici fetch compatibility 2026-04-14 15:08:55 +02:00