Files
social-media/docs/TASKS/product-feedback/003-feedback-comments-activity-notifications.md

59 lines
2.1 KiB
Markdown

# Task: Feedback comments, activity, and notifications
## Goal
Add the conversation, activity timeline, and in-app notification behavior for feedback.
## Feature Spec
- `docs/FEATURES/product-feedback.md`
## Scope
- Add feedback comments visible to both reporters and developers.
- Add feedback activity entries for status/type/tag changes and cancellation.
- Return a mixed timeline of comments and activity from feedback detail endpoints.
- Add API endpoints for:
- reporter adds comment to own feedback
- developer adds comment to any feedback
- detail timeline retrieval if not included in existing detail endpoints
- Use the existing Notifications module for:
- new feedback report: notify all `Developer` users
- developer comment: notify reporter
- developer status change: notify reporter
- reporter comment: notify developers who have previously commented on that report
- Do not notify for developer type/tag changes.
- Extend notification payloads so feedback notifications can open feedback detail pages.
- Add read/unread support needed for My Feedback unread indicators, or expose enough data for the frontend to derive unread state from notifications.
## Likely Files
- `backend/src/Socialize.Api/Modules/Feedback/**`
- `backend/src/Socialize.Api/Modules/Notifications/**`
- `backend/src/Socialize.Api/Data/AppDbContext.cs`
- `backend/tests/Socialize.Tests/**`
## Notes
- Internal/private comments are out of scope.
- Email notifications are out of scope.
- Avoid adding assignment/owner workflow.
## Validation
```bash
dotnet build backend/Socialize.slnx
dotnet test backend/Socialize.slnx
```
## Done When
- [ ] Reporters and developers can comment according to access rules.
- [ ] Status/type/tag/cancel actions create activity entries.
- [ ] Feedback detail includes a mixed comment/activity timeline.
- [ ] New reports notify all developers.
- [ ] Developer comments and status changes notify the reporter.
- [ ] Reporter comments notify participating developers.
- [ ] Feedback notifications include route-target data for frontend navigation.
- [ ] Backend tests cover comment access and notification side effects.