59 lines
2.1 KiB
Markdown
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.
|