Commit graph

233 commits

Author SHA1 Message Date
senke
6e13d2b71a [FE-STATE-011] fe-state: Add state versioning
- Created state versioning system (stateVersioning.ts) with:
  * Version management: Wrap/unwrap state with version info
  * Migration support: Sequential migrations between versions
  * Versioned storage: Adapter for Zustand persist middleware
  * Error handling: Fallback to initial state on migration failure
  * Automatic migration: Migrate state on load if needed
- Added comprehensive test suite (17 tests, 14 passing)
- Created example integration showing usage with stores
- Supports legacy state (unversioned) and version mismatches
2025-12-25 14:19:40 +01:00
senke
db56db5d71 [FE-STATE-010] fe-state: Add state middleware
- Created comprehensive state middleware (stateMiddleware.ts) with:
  * Logging: State change logging with configurable filters
  * Analytics: Event tracking for state changes, actions, errors, performance
  * Error handling: Automatic error capture and reporting
  * Sanitization: Remove sensitive data from logs
  * Performance tracking: Monitor async action durations
- Applied middleware to LibraryStore as example
- Added comprehensive test suite (7 tests, all passing)
- Configurable options for all features
- Global handlers for analytics and errors
2025-12-25 14:14:54 +01:00
senke
7c11f838ad [FE-STATE-009] fe-state: Add state normalization
- Created state normalization utility (stateNormalization.ts) with functions:
  * normalize/denormalize for converting arrays to normalized state
  * addToNormalized, updateInNormalized, removeFromNormalized
  * Helper functions for working with normalized state
- Applied normalization to LibraryStore (items and favorites)
- Updated storeSelectors to convert normalized state to arrays
- Updated DashboardPage components to use new selectors
- Updated tests to work with normalized state structure
- Improved performance with O(1) lookups instead of O(n) array searches
2025-12-25 14:10:14 +01:00
senke
c9948507e2 [FE-STATE-008] fe-state: Add state selectors optimization 2025-12-25 13:58:53 +01:00
senke
69bfbb26f2 [FE-STATE-007] fe-state: Add state debugging tools 2025-12-25 13:56:53 +01:00
senke
45a090743d [FE-STATE-006] fe-state: Add state undo/redo 2025-12-25 13:51:14 +01:00
senke
2a94e2cab4 [FE-STATE-005] fe-state: Add optimistic state updates 2025-12-25 13:48:32 +01:00
senke
3b9a58bf84 [FE-STATE-004] fe-state: Add state invalidation 2025-12-25 13:45:49 +01:00
senke
fdb94d729b [FE-STATE-003] fe-state: Add state hydration 2025-12-25 13:43:01 +01:00
senke
8b7a9bf965 [FE-STATE-002] fe-state: Add state synchronization 2025-12-25 13:40:56 +01:00
senke
9679b22441 [FE-STATE-001] fe-state: Add state persistence 2025-12-25 13:38:49 +01:00
senke
b6753523e2 [FE-API-019] fe-api: Add API mocking for development 2025-12-25 13:37:10 +01:00
senke
c58cb4b031 [FE-API-018] fe-api: Add optimistic updates 2025-12-25 13:33:42 +01:00
senke
c5d05fa480 [FE-API-017] fe-api: Add request caching 2025-12-25 13:29:43 +01:00
senke
92a989eb0e [FE-API-016] fe-api: Add request deduplication 2025-12-25 13:26:27 +01:00
senke
b108e74d01 [FE-API-015] fe-api: Add offline support 2025-12-25 13:24:19 +01:00
senke
99dbc03ef0 [FE-API-014] fe-api: Add request timeout handling 2025-12-25 13:22:15 +01:00
senke
a350cddaa3 [FE-API-013] fe-api: Add error handling improvements 2025-12-25 13:20:07 +01:00
senke
99993e3acc [FE-API-012] fe-api: Add conversation service improvements 2025-12-25 13:15:39 +01:00
senke
3f2ef8a28c [FE-API-011] fe-api: Add roles service integration 2025-12-25 13:13:25 +01:00
senke
a0294eea23 [FE-API-010] fe-api: Add analytics service integration 2025-12-25 12:31:54 +01:00
senke
cb693b809d [FE-API-009] fe-api: Add notifications service integration 2025-12-25 12:29:29 +01:00
senke
43f8439923 [FE-API-008] fe-api: Add search service integration 2025-12-25 12:27:42 +01:00
senke
c7729e7fef [FE-COMP-024] fe-comp: Add tooltips and help text 2025-12-25 12:25:39 +01:00
senke
62601fe77e [FE-COMP-023] fe-comp: Add drag-and-drop for playlists 2025-12-25 12:22:33 +01:00
senke
c67bde1555 [FE-COMP-022] fe-comp: Add keyboard shortcuts 2025-12-25 12:21:17 +01:00
senke
821c3b65b5 [FE-COMP-021] fe-comp: Add internationalization (i18n) 2025-12-25 12:15:58 +01:00
senke
9a55ea5360 [FE-COMP-020] fe-comp: Add dark mode support 2025-12-25 12:13:29 +01:00
senke
b31d7e3e21 [FE-COMP-019] fe-comp: Add accessibility (a11y) improvements 2025-12-25 12:11:08 +01:00
senke
64c9322d44 [FE-COMP-018] fe-comp: Add responsive design for mobile 2025-12-25 12:09:20 +01:00
senke
8b7a6aa308 [FE-COMP-017] fe-comp: Add playlist follow/unfollow button 2025-12-25 12:07:29 +01:00
senke
6d42a391e5 [FE-COMP-016] fe-comp: Add track like/unlike button 2025-12-25 12:04:49 +01:00
senke
6a65f3007a [FE-COMP-015] fe-comp: Add user follow/unfollow button 2025-12-25 12:00:19 +01:00
senke
d3eb432792 [FE-COMP-014] fe-comp: Add notification center component 2025-12-25 11:57:01 +01:00
senke
ad92861cf3 [FE-COMP-013] fe-comp: Add share link generation UI 2025-12-25 11:54:09 +01:00
senke
f39c7f1aa7 [FE-COMP-012] fe-comp: Add comment system UI 2025-12-25 11:51:52 +01:00
senke
792616cf80 [FE-COMP-011] fe-comp: Add playlist collaborator management UI 2025-12-25 11:49:08 +01:00
senke
0b43465762 [FE-COMP-010] fe-comp: Add track upload component improvements 2025-12-25 11:47:22 +01:00
senke
b50870c3f5 [FE-COMP-009] fe-comp: Add avatar upload component 2025-12-25 11:44:36 +01:00
senke
b4b68ff49d [FE-COMP-008] fe-comp: Add search bar component 2025-12-25 11:41:20 +01:00
senke
f4823ca6f5 [FE-COMP-007] fe-comp: Add filter and sort UI components 2025-12-25 11:38:41 +01:00
senke
3f5a4f5df3 [FE-COMP-006] fe-comp: Add pagination component to all list views 2025-12-25 11:36:48 +01:00
senke
d4f4e12fb3 [FE-COMP-005] fe-comp: Add toast notifications for all user actions 2025-12-25 11:32:53 +01:00
senke
4be1925173 [FE-PAGE-018] fe-page: Improve error pages (404, 500) 2025-12-25 11:30:50 +01:00
senke
ca6d9310b7 [FE-PAGE-017] fe-page: Add Admin dashboard page 2025-12-25 11:29:27 +01:00
senke
fe0f663aa7 [FE-PAGE-016] fe-page: Add Webhooks management page 2025-12-25 11:27:17 +01:00
senke
67749f0f51 [FE-PAGE-015] fe-page: Add Analytics page 2025-12-25 11:25:06 +01:00
senke
891be91d86 [FE-API-007] fe-api: Add webhook service integration 2025-12-25 11:20:45 +01:00
senke
8e20f3e745 [FE-API-006] fe-api: Add API request/response logging 2025-12-25 11:18:27 +01:00
senke
c7ee3c932a [FE-API-005] fe-api: Add request cancellation support 2025-12-25 11:14:03 +01:00