# 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.
