feat: add release communications
All checks were successful
deploy-socialize / image (push) Successful in 1m12s
deploy-socialize / deploy (push) Successful in 19s

This commit is contained in:
2026-05-07 21:00:59 -04:00
parent 7a8a0a44bf
commit b6eb348605
61 changed files with 8594 additions and 4 deletions

View File

@@ -0,0 +1,54 @@
# Task: Frontend Whats New experience
## Goal
Add the user-facing Whats New experience for published release updates and unread state.
## Feature Spec
- `docs/FEATURES/release-communications.md`
## Scope
- Add feature-owned frontend code under `frontend/src/features/release-communications/`.
- Add `/app/updates`.
- Add an app shell entry or badge for unread release updates.
- Fetch visible published release updates from the backend.
- Show unread state for update entries.
- Mark an update as read when opened.
- Add a mark-all-read action.
- Optionally show a non-blocking login-time Whats New panel when unread updates exist.
- Add English and French locale strings.
- Keep developer authoring UI, commit reconciliation, and email digest out of this task.
## Likely Files
- `frontend/src/router/router.js`
- `frontend/src/layouts/main/**`
- `frontend/src/features/release-communications/**`
- `frontend/src/locales/en.json`
- `frontend/src/locales/fr.json`
## Notes
- The user-facing update feed must be curated and should not show raw commit SHAs, commit subjects, branch names, or internal-only work.
- Keep the UI compact and app-like. This is an operational app surface, not a marketing release notes page.
- Use the shared Axios API client in `frontend/src/plugins/api.js`.
## Validation
```bash
cd frontend
npm run build
```
## Done When
- [x] Authenticated users can open `/app/updates`.
- [x] The app shell shows unread update count.
- [x] Published visible updates are listed newest first.
- [x] Unread updates are visually distinct.
- [x] Opening an update marks it read.
- [x] Users can mark all visible updates read.
- [x] UI strings exist in English and French.
- [x] Frontend build passes.