feat(notifications): trigger notifications on follow, message, and ap…#220
Merged
1 commit merged intoJul 10, 2026
Merged
Conversation
…plication events Wire the existing create_notification service into real events (new follower, message received, application created/accepted/rejected) so notifications work end-to-end. Adds the missing notification schema and a NotificationService.notify helper that never notifies the actor and never breaks the primary action. Celery/Redis async delivery is intentionally left for a follow-up PR. Part of nensii21#161 (ECSoC 2026).
There was a problem hiding this comment.
🎉 Thank you for your first Pull Request to DevLink!
We appreciate your contribution to our open-source community.
Before your PR is reviewed, please ensure:
- ✅ The project builds successfully.
- ✅ Your code follows the project's coding standards.
- ✅ You have tested your changes.
- ✅ Related documentation has been updated if necessary.
Our maintainers will review your PR as soon as possible.
Thank you for helping improve DevLink! 💙
Owner
|
add screenshots and videos showing what changes have been made and also your CI jobs are failing please update it. |
Contributor
Author
@nensii21 these are seeded data
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Pull Request
Summary
Wire the existing
create_notificationservice into real application events (follow, message, application create/accept/reject) so notifications work end-to-end, synchronously. Adds the missing notification Pydantic schema and aNotificationService.notifyhelper with a self-notification guard.Related Issue
Part of #161 (ECSoC 2026)
Type of Change
Changes Made
backend/app/schemas/notification.py— was missing, imported by existing router and servicenotify()static method toNotificationService— never notifies the actor, never breaks the primary actionfollow_user→FOLLOWnotification to the followed usersend_message→MESSAGEnotification to all other conversation memberscreate_application→APPLICATIONnotification to the project owneraccept_application/reject_application→APPLICATION_ACCEPTED/APPLICATION_REJECTEDto the applicant (addedcurrent_userdependency to both endpoints)backend/tests/test_notifications_events.py— 3 testsScreenshots (if applicable)
N/A — backend-only change.
Testing
Additional testing notes: Tested with SQLite in-memory via
TestClient. Celery/Redis async delivery is explicitly deferred to PR 2.Checklist
Additional Notes
Pre-existing breakage (out of scope):
main.pyimports three routers that don't exist on disk (builders,builder_flare—singular mismatch,ai). Local stubs were used for testing. Flagged in issue #161.Event → Notification type map:
POST /followers/{user_id}FOLLOWPOST /messages/MESSAGEPOST /applications/APPLICATIONPATCH /applications/{id}/acceptAPPLICATION_ACCEPTEDPATCH /applications/{id}/rejectAPPLICATION_REJECTED