-
-
Notifications
You must be signed in to change notification settings - Fork 52
feat(notifications): enhance notification system with Apprise integra… #842
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
base: main
Are you sure you want to change the base?
Conversation
|
@kmendell let me know if it's feasable as integration tested locally and it works with telegram i hope will make happy a lot of people! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Additional Comments (4)
-
backend/internal/models/notification.go, line 155-206 (link)syntax: unresolved merge conflict markers before new Apprise structures
-
backend/internal/api/notification_handler.go, line 119-143 (link)syntax: unresolved merge conflict in
CreateOrUpdateSettingsmethod -
backend/internal/api/notification_handler.go, line 197-351 (link)syntax: unresolved merge conflict before new Apprise handler methods
-
backend/internal/api/notification_handler.go, line 13-15 (link)logic:
appriseServicefield missing fromNotificationHandlerstruct but used in handler methods (lines 126, 203, 246, 280, 306, 337)
20 files reviewed, 16 comments
|
@spupuz im on a trip currently but I'll take a look once I get back for now I'd say just address the greptile comments that popped up |
not so expert about greptile comments :) is there something i can do? |
i applied suggestion from greptile |
|
@kmendell is there something else i can do? |
kmendell
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Start with this feedback i just got back from my trip, so im not fully here yet :O , but once this is done ill take another look.
| notifications.POST("/test/:provider", handler.TestNotification) | ||
| notifications.POST("/test/:provider", handler.TestNotification) | ||
|
|
||
| // New Apprise endpoints |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can remove comments like this that dont provide any true value
| return | ||
| } | ||
|
|
||
| <<<<<<< HEAD |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are still merge conflicts markers in some files these need to be handled and removed
| } | ||
|
|
||
| settings, err := h.notificationService.CreateOrUpdateSettingsEnhanced( | ||
| >>>>>>> 4100c9d5 (feat(notifications): enhance notification system with Apprise integration) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same here
|
|
||
| c.JSON(http.StatusOK, gin.H{"message": "Test notification sent successfully"}) | ||
| } | ||
| <<<<<<< HEAD |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
here
| // For now, return a placeholder response | ||
| c.JSON(http.StatusOK, []dto.NotificationLogResponse{}) | ||
| } | ||
| >>>>>>> 4100c9d5 (feat(notifications): enhance notification system with Apprise integration) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
here
| LastValidatedAt *time.Time `json:"lastValidatedAt,omitempty"` | ||
| CreatedAt time.Time `json:"createdAt"` | ||
| UpdatedAt time.Time `json:"updatedAt"` | ||
| >>>>>>> 4100c9d5 (feat(notifications): enhance notification system with Apprise integration) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
merge conflict marker
| return "notification_logs" | ||
| } | ||
|
|
||
| <<<<<<< HEAD |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
merge conflict marker
| } | ||
|
|
||
| // Legacy configurations (kept for backward compatibility) | ||
| >>>>>>> 4100c9d5 (feat(notifications): enhance notification system with Apprise integration) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
merge conflict marker
| TLSMode EmailTLSMode `json:"tlsMode"` | ||
| Events map[NotificationEventType]bool `json:"events,omitempty"` | ||
| } | ||
| <<<<<<< HEAD |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
merge conflict marker
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i would assume we can replace the old functionality with the new app rise stuff, so this can be put in the notificaiton service instead of its own file, We should keep the otehrs for users who set it up, but should be marked as deprecated.
|
@kmendell yeah I'm a little newbie in coding I tested all in local and was working so I need help from your side for merging pr stuff. I can try to locally on my fork merge new stuff you pushed and repush a pr? |
|
@spupuz Yes id make a new Pr with tehse chnageso n top of the currently main branch. If there are merge conflicts ill deal with them at that point , but let me know when you have that ready. |
…tion - Add comprehensive notification providers (Slack, Teams, Telegram, etc.) - Implement Apprise URL support for multiple notification services - Add database migrations for enhanced notification storage - Create API endpoints for notification management - Add frontend notification configuration UI - Support generic webhook notifications with custom payloads - Include validation for all provider configurations - Add comprehensive error handling and logging
29d3f9c to
723606b
Compare
- Fix missing Go dependencies resolved via 'go mod tidy' - Add complete AppriseService with 20+ notification providers support - Implement provider management: discovery, schemas, validation, testing - Add missing schema functions for Discord and Email providers - Create frontend apprise-service.ts with full TypeScript integration - Fix API request/response structure mismatches - Enable batch notifications and notification logging - Provide real-time provider configuration with dynamic schemas Technical Implementation: - Backend: Complete Apprise provider registry with Discord, Email, Slack, Telegram, Pushbullet, Pushover, Discord, Teams, Matrix, Rocket.Chat, Mattermost, Zulip, Gmail, Outlook, SendGrid, Mailgun, S3, Dropbox, Google Drive, OneDrive, RSS, XML, JSON, and Webhook support - Frontend: Full TypeScript service with provider management, validation, testing, and batch notification capabilities - API: RESTful endpoints for provider discovery, schema retrieval, validation, testing, and batch operations - DTOs: Complete data transfer objects with proper validation tags - Models: Enhanced notification models with provider metadata Provider Features: - Dynamic form generation from provider schemas - Real-time configuration validation - Test notifications for all supported providers - Batch notifications to multiple providers simultaneously - Notification logging and status tracking - Provider categorization (Chat, Email, Push, Custom, Storage) Closes: Missing Apprise notification provider integration
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can see from the diff and PR context that this appears to be related to the notification system enhancement with Apprise integration. However, I notice you've only provided a commit hash without a specific question.
Based on the extensive diff shown, this commit introduces comprehensive Apprise integration to replace the previous Discord/Email-only notification approach. The changes include:
Key Features Added:
- Complete Apprise service with 20+ provider support
- New database migrations for enhanced notification settings
- Updated frontend UI with simplified Apprise configuration
- Backward compatibility with existing Discord/Email providers
Critical Issues I Can See:
The PR summary mentions there are unresolved merge conflicts and compilation issues. From the diff, I can see:
-
Database Schema Enhancement: New columns added (
apprise_urls,labels,tags,validation_status,last_validated_at) -
Frontend Updates: New Apprise service and updated notification settings page
-
Backend Enhancements: New Apprise service, provider registry, and enhanced notification handlers
Could you please clarify what specific question you have about this commit? Are you asking about:
- How to resolve the merge conflicts mentioned in the PR?
- Implementation details of the Apprise integration?
- Database migration concerns?
- Testing the new functionality?
- Something else specific about this commit?
This will help me provide you with a more targeted and useful response.
merged my notification apprise modification with latest merge and tested |
|
@kmendell let me know if need to do something more |
…tion
The notification system has been significantly enhanced with comprehensive Apprise integration, supporting 20+ notification providers including Discord, Slack, Telegram, Email, Teams, and many others through a unified URL-based configuration approach.
Key improvements:
This enhancement allows users to configure notifications for dozens of providers using simple URL formats, replacing the previous limited Discord/Email-only approach with a modern, extensible notification infrastructure.
BREAKING CHANGE: Database schema changes require migration for enhanced notification features (labels, tags, apprise_urls columns)
Disclaimer Greptiles Review uses AI, make sure to check over its work
Greptile Overview
Updated On: 2025-11-03 21:47:59 UTC
Greptile Summary
This PR adds comprehensive Apprise integration to support 20+ notification providers. However, the PR contains critical unresolved merge conflicts that prevent compilation.
Key Issues:
<<<<<<<,=======,>>>>>>>)backend/internal/models/notification.go: 4 merge conflicts in model definitionsbackend/internal/api/notification_handler.go: 4 merge conflicts in handler methodsbackend/internal/services/notification_service.go: 1 merge conflict in service methodfrontend/src/lib/types/notification.type.ts: 1 merge conflict in type definitionsappriseServicefield inNotificationHandlerstruct but referenced in multiple methodsWhat Works:
Confidence Score: 0/5
backend/internal/models/notification.go,backend/internal/api/notification_handler.go,backend/internal/services/notification_service.go, and frontend type filefrontend/src/lib/types/notification.type.tsImportant Files Changed
File Analysis
appriseService, incorrect function calls - will not compileCreateOrUpdateSettingsEnhancedmethod