📋 Description
The dashboard "What's New" surface is built from components/Dashboard/WhatsNewPanel.tsx, components/Dashboard/WhatsNewBadge.tsx, and lib/context/WhatsNewContext.tsx, with a changelog helper at lib/changelog.ts. The panel needs to read real changelog entries, track read/unread per user, and clear the badge once viewed.
Why this matters: an unread badge that never reflects real updates trains users to ignore it. A working changelog surface is how the product communicates new features (recurring sends, insurance) to existing users.
🎯 Requirements & Context
Functional requirements
Context & constraints
- SSR-safe persistence (read on mount).
- Keep the badge/panel visual design unchanged.
🛠️ Suggested Execution
git checkout -b feat/whats-new-changelog-wiring
- Wire context to changelog, track read state, clear badge, add TSDoc.
npm run lint
npx tsc --noEmit
npm run test:coverage
npm run build
- Edge cases: no entries, all read, new entry arrives, storage unavailable, reduced motion, mobile.
- a11y: badge has accessible label with count; panel headings structured.
- i18n: entry rendering locale-aware dates.
Example commit message
feat(dashboard): wire What's New panel to changelog + unread tracking
Sources entries from lib/changelog, tracks last-seen id in storage,
and clears the badge on open.
✅ Acceptance Criteria & Guidelines
| Requirement |
Target |
| Real changelog entries rendered |
Required |
| Unread tracking + badge clear |
Required |
| Empty state |
Required |
| Persistence SSR-safe |
Required |
| Accessibility + responsive + i18n |
Required |
| Lint + typecheck + build clean |
Required |
| Timeframe |
96 hours from assignment |
💬 Community & Support
Join the RemitWise contributor community on Discord: https://discord.gg/CtQuPZFMA
Comment to claim before starting. 🚀
📋 Description
The dashboard "What's New" surface is built from
components/Dashboard/WhatsNewPanel.tsx,components/Dashboard/WhatsNewBadge.tsx, andlib/context/WhatsNewContext.tsx, with a changelog helper atlib/changelog.ts. The panel needs to read real changelog entries, track read/unread per user, and clear the badge once viewed.🎯 Requirements & Context
Functional requirements
lib/changelog.tsand expose them throughWhatsNewContext.localStorage/preferences) soWhatsNewBadgeshows unread count and clears on open.WhatsNewPanelwith newest first.Context & constraints
🛠️ Suggested Execution
Example commit message
✅ Acceptance Criteria & Guidelines
💬 Community & Support
Join the RemitWise contributor community on Discord: https://discord.gg/CtQuPZFMA
Comment to claim before starting. 🚀