Skip to content

feat(notif): add ntfy agent #4141

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

deecewan
Copy link

Description

adds support for ntfy notifications

heavily inspired by #2196

Screenshot (if UI-related)

CleanShot 2025-05-15 at 16 35 45@2x

To-Dos

  • Successful build yarn build
  • Translation keys yarn i18n:extract
  • Database migration (if required)

@Copilot Copilot AI review requested due to automatic review settings May 15, 2025 06:43
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Adds support for ntfy notifications by introducing a new settings page, integrating ntfy into the backend, and updating documentation.

  • Introduce a Next.js page and form component for configuring ntfy notifications
  • Register ntfy in server settings, routes, and as a notification agent
  • Add ntfy docs and update the notifications navigation

Reviewed Changes

Copilot reviewed 10 out of 12 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/pages/settings/notifications/ntfy.tsx New page component for ntfy notification settings
src/components/Settings/SettingsNotifications.tsx Include ntfy in the notifications navigation tabs
src/components/Settings/Notifications/NotificationsNtfy/index.tsx New form component with validation and test button
server/routes/settings/notifications.ts Added GET/POST/test endpoints for ntfy settings
server/lib/settings.ts Defined NotificationAgentNtfy and default settings
server/lib/notifications/agents/ntfy.ts Implemented NtfyAgent with payload construction
server/index.ts Registered NtfyAgent on application startup
docs/using-overseerr/notifications/ntfy.md Documentation for ntfy configuration
docs/using-overseerr/notifications/README.md Added ntfy to the list of supported agents
Files not reviewed (2)
  • overseerr-api.yml: Language not supported
  • src/i18n/locale/en.json: Language not supported
Comments suppressed due to low confidence (2)

src/components/Settings/Notifications/NotificationsNtfy/index.tsx:29

  • New component NotificationsNtfy lacks unit or integration tests; consider adding tests for form validation, API calls, and the test-notification flow.
const NotificationsNtfy = () => {

server/routes/settings/notifications.ts:417

  • New ntfy API routes are not covered by any tests; consider adding route tests to verify GET, POST, and test endpoints.
notificationRoutes.get('/ntfy', (_req, res) => {

@deecewan deecewan force-pushed the feature-ntfy-notifications branch from 6398fe1 to 4df5988 Compare May 15, 2025 06:48
Comment on lines 148 to 152
await axios.post(settings.options.url, notificationPayload, {
headers: {
'Content-Type': 'text/markdown',
},
});

Check failure

Code scanning / CodeQL

Server-side request forgery

The [URL](1) of this request depends on a [user-provided value](2).
@deecewan deecewan force-pushed the feature-ntfy-notifications branch from 4df5988 to bbf42fb Compare May 19, 2025 09:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant