Add notification badge count and MainTabView with notification tab FRE-4740 FRE-4739

- Add getUnreadCount() endpoint to NotificationsServiceProtocol
- Add NotificationUnreadCountResponse model
- Add badgeCount and fetchUnreadCount() to NotificationsViewModel
- Update markAsRead/markAllAsRead to decrement badge count
- Create MainTabView with Home, Challenges, Clubs, Notifications tabs
- Add unread badge on notification tab using .badge() modifier
- Support injected ViewModel in NotificationsView for shared state
- Add badge count tests to NotificationServiceTests
- Fetch unread count on app launch and tab switch

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
2026-05-03 20:16:05 -04:00
parent 88d57a3389
commit cb55ad95e2
9 changed files with 279 additions and 1 deletions

View File

@@ -0,0 +1,15 @@
- id: sen-001
type: observation
created: 2026-05-03
status: active
summary: Planning-loop pattern — 3 runs over 6h with plan_only liveness, no code commits on FRE-4692
detail: Identified real bugs (armor mismatch, Unlock check, AES256 casing) but kept iterating analysis without executing fixes. Mitigated by decomposing into child issues.
tags: [pattern, productivity, planning-loop]
- id: sen-002
type: capability
created: 2026-05-03
status: active
summary: Strong at code analysis and bug identification
detail: Reads code thoroughly and identifies root causes well. The analysis on PGP service bugs was correct and valuable.
tags: [capability, analysis]

View File

@@ -0,0 +1,5 @@
# Senior Engineer
Agent: c99c4ede-feab-4aaa-a9a5-17d81cd80644
A senior engineering agent. Capable of analysis and execution. Prone to planning loops when tasks are not scoped tightly enough. Needs bounded, concrete subtasks to stay in execution mode.