senke
ef400ce6f1
api-versioning: add X-API-Deprecated header and frontend deprecation warning
...
- Backend: Add X-API-Deprecated header alongside existing X-API-Version-Deprecated
- Frontend: Show deprecation warning toast when deprecated API version detected
- Warning shown only once per session to avoid spam
- Includes sunset date in warning message if available
2026-01-15 16:56:21 +01:00
senke
e4711d684b
state-ownership: replace all useAuthStore().user with useUser() hook
...
- Migrated all hooks: useAuth, useChat, useLogin
- Migrated all components: Header, ProfileForm, FollowButton, LikeButton, PlaylistFollowButton, ChatMessage, ChatMessages, CommentThread, CommentSection, PlaylistList, ChatSidebar, SettingsPage, DashboardPage
- Updated storeSelectors.ts useAuthUser() to use React Query
- All production code now uses useUser() hook instead of Zustand store
- Action 4.1.1.3 and 4.1.1.4 complete
2026-01-14 01:45:42 +01:00
senke
671826b6db
state-ownership: audit all files using useAuthStore().user
...
Found 24 files using user from authStore:
- 18 components (Header, DashboardPage, Chat components, etc.)
- 4 hooks (useAuth, useChat, useLogin)
- 2 utilities (stateHydration, storeSelectors docs)
Created comprehensive audit document with migration strategy.
Action 4.1.1.2 complete
2026-01-14 01:40:42 +01:00
senke
5b35ebd1e3
state-ownership: remove domain data from library store
...
- Remove items, favorites, pagination, isLoading, error from LibraryState
- Remove fetchItems, fetchFavorites, uploadFile, toggleFavorite, deleteItem, clearItems, setLoading, setError from LibraryActions
- Remove undoRedo and stateMiddleware wrappers (no domain data to track)
- Update useLibraryActions() to use React Query for all domain data actions
- Store now only contains filters (UI state)
- Update useLibraryItemsNormalized() and useLibraryFavoritesNormalized() to return empty state (deprecated)
- Update useLibraryPagination() to return both camelCase and snake_case for compatibility
Action 4.1.2.4 complete
2026-01-14 01:39:23 +01:00
senke
39f7967e1e
incus deployement fully implemented, Makefile updated and make fmt ran
2026-01-13 19:47:57 +01:00
senke
0b4cd9065e
state-ownership: update storeSelectors.ts to use React Query hooks
...
- Replace useLibraryItems() with React Query hook
- Replace useLibraryFavorites() with React Query hook
- Replace useLibraryPagination() to extract from React Query response
- Replace useLibraryStatus() to use React Query status
- Update useLibraryActions() to use queryClient.refetchQueries()
- Maintain same interface for backward compatibility
- Migrates DashboardPage components automatically
Action 4.1.2.3.3 complete
2026-01-12 13:37:02 +01:00
senke
c13dbcf9a6
state-ownership: audit components using library store domain data - found 2 DashboardPage components and storeSelectors utility
2026-01-11 18:21:08 +01:00
senke
96fb01c4f3
state-ownership: create React Query hooks for library items (useLibraryItems, useLibraryFavorites)
2026-01-11 18:19:52 +01:00
senke
c83f9de2f5
state-ownership: audit library store domain data - identified 3 domain fields and 3 UI state fields
2026-01-11 18:18:45 +01:00
senke
f54003ed9f
state-ownership: audit track queries React Query usage - only comments/likes use React Query
2026-01-11 18:18:15 +01:00
senke
fa5285c2be
state-ownership: update STATE_SELECTORS.md with correct auth store import path
2026-01-11 18:17:45 +01:00
senke
e4fac6470c
state-ownership: update STATE_DEBUGGING.md to reflect current store structure (Action 4.6.1.7)
2026-01-11 18:04:42 +01:00
senke
da08b67dff
state-ownership: remove obsolete state utilities (stateCleanup, stateVersioning, statePersistence)
2026-01-11 18:03:58 +01:00
senke
b86db19bc3
state-ownership: create React Query hook for user (Action 4.1.1.1)
2026-01-11 17:43:07 +01:00
senke
618058e5fd
error-propagation: integrate offline detection utility with error handler
2026-01-11 17:42:04 +01:00
senke
52493aeb30
error-propagation: add offline detection utility
2026-01-11 17:41:37 +01:00
senke
cc529f63ad
error-propagation: enhance network error detection to distinguish timeout, connection refused, and offline
2026-01-11 17:41:08 +01:00
senke
4e0fc84d87
error-propagation: fix retry handlers and mark Action 3.4.1.3 complete
2026-01-11 17:40:21 +01:00
senke
31159a30a2
error-propagation: implement retry for failed mutations (remaining handlers)
2026-01-11 17:39:51 +01:00
senke
a833aebe17
error-propagation: implement retry for failed mutations (ShareDialog, CommentSection)
2026-01-11 17:38:54 +01:00
senke
77ad72c17d
error-propagation: implement retry for failed mutations (MarketplaceHome, RolesPage, SettingsPage)
2026-01-11 17:38:15 +01:00
senke
9077022a8f
error-propagation: implement retry for failed mutations (AccountSettings)
2026-01-11 17:37:04 +01:00
senke
4f24ebf2bb
error-propagation: implement retry for failed mutations (Cart)
2026-01-11 17:36:33 +01:00
senke
1149d033db
error-propagation: implement retry for failed mutations (ProfileForm, LibraryPage)
2026-01-11 17:35:38 +01:00
senke
9088a2659e
error-propagation: enhance error boundary logging for monitoring
2026-01-11 17:33:03 +01:00
senke
e585869f61
error-propagation: update ErrorBoundary to use ErrorDisplay component
2026-01-11 17:32:25 +01:00
senke
bb7178f9e9
error-propagation: highlight form fields on validation errors
2026-01-11 17:31:12 +01:00
senke
2ac5c84c74
error-propagation: redirect to login on auth errors
2026-01-11 17:29:55 +01:00
senke
a54f57f648
error-propagation: integrate issue reporting with ErrorDisplay
2026-01-11 17:29:11 +01:00
senke
744d87c630
error-propagation: create support issue reporting utility
2026-01-11 17:27:45 +01:00
senke
8a77a5c65d
error-propagation: show offline indicator on network errors
2026-01-11 17:16:49 +01:00
senke
7fd3b2837d
error-propagation: add getErrorCategory function for error categorization
2026-01-11 17:14:49 +01:00
senke
3e3016ac39
error-propagation: fix leftover toast.error in LibraryPage confirmBulkDelete
2026-01-11 17:13:00 +01:00
senke
af4c4686dd
error-propagation: replace toast.error with ErrorDisplay in Cart component
2026-01-11 17:12:27 +01:00
senke
b0ea225ca8
error-propagation: replace toast.error with ErrorDisplay in AccountSettings
2026-01-11 17:11:51 +01:00
senke
e81eac29ad
error-propagation: replace toast.error with ErrorDisplay in ProfileForm
2026-01-11 17:11:03 +01:00
senke
8d5665c774
error-propagation: replace toast.error with ErrorDisplay in ChatSidebar and CreateRoomDialog
2026-01-11 17:10:27 +01:00
senke
a549c3658e
error-propagation: replace toast.error with ErrorDisplay in SharePlaylistModal and AddCollaboratorModal
2026-01-11 17:08:58 +01:00
senke
95b6f005c3
error-propagation: replace toast.error with ErrorDisplay in ShareDialog and CommentSection
2026-01-11 17:08:04 +01:00
senke
c404c95a14
error-propagation: replace toast.error with ErrorDisplay in SettingsPage (query and mutation errors)
2026-01-11 17:07:02 +01:00
senke
89e8f9a0b2
error-propagation: replace toast.error with ErrorDisplay in RolesPage (query and mutation errors)
2026-01-11 17:06:30 +01:00
senke
b46a8501f0
error-propagation: replace toast.error with ErrorDisplay in MarketplaceHome (query and mutation errors)
2026-01-11 17:05:54 +01:00
senke
d5bf823037
error-propagation: replace toast.error and inline error with ErrorDisplay in TrackDetailPage
2026-01-11 17:05:23 +01:00
senke
c33ceb0da6
error-propagation: update PlaylistErrorBoundary to use ErrorDisplay component
2026-01-11 17:04:42 +01:00
senke
b03431c2ab
error-propagation: update PlayerError to use ErrorDisplay component
2026-01-11 17:03:55 +01:00
senke
5456abb873
error-propagation: fix AuthErrorMessage tests for ErrorDisplay integration
2026-01-11 17:03:00 +01:00
senke
95911b7191
error-propagation: update AuthErrorMessage to use ErrorDisplay component
2026-01-11 17:02:34 +01:00
senke
3e1de23027
error-propagation: create error display strategy document
2026-01-11 17:01:27 +01:00
senke
6663a6501f
error-propagation: replace toast errors with ErrorDisplay in LibraryPage
2026-01-11 17:00:25 +01:00
senke
b28a96efaf
error-propagation: implement ErrorDisplay component with all variants and features
2026-01-11 16:58:54 +01:00