Commit graph

24 commits

Author SHA1 Message Date
senke
7004d57ee0 [INT-016] int: Add authentication token refresh flow
- Added proactive token refresh mechanism (5 minutes before expiration)
- Implemented JWT decoding to check token expiration
- Added seamless refresh integration with login/logout flows
- Improved error handling and cleanup
- Integrated with auth store and API client

Files modified:
- apps/web/src/services/tokenRefresh.ts
- apps/web/src/services/api/auth.ts
- apps/web/src/stores/auth.ts
- VEZA_COMPLETE_MVP_TODOLIST.json
2025-12-25 15:45:30 +01:00
senke
703704916a [FE-TYPE-010] fe-type: Add type safety for API client
- Created fully typed API client wrapper (typedClient.ts):
  * TypedApiClient interface with fully typed methods
  * typedApiClient implementation wrapping apiClient
  * TypedRequestConfig extending InternalAxiosRequestConfig
  * TypedApiRequestBuilder class for type-safe requests
- Added helper types:
  * ApiResponseData: Extract data from ApiResponse
  * UnwrappedApiResponse: Remove ApiResponse wrapper
- Added helper functions:
  * createTypedRequest: Create typed request builder
  * isApiResponseWrapper: Type guard for ApiResponse
  * extractApiData: Extract data from response
- Ensures full type safety for all API client methods
2025-12-25 14:48:35 +01:00
senke
1311c095e3 [FE-TYPE-003] fe-type: Add Zod schemas for all API requests
- Created comprehensive Zod schemas (apiRequestSchemas.ts) for:
  * LoginRequest, RegisterRequest, CreateUserRequest
  * UpdateUserRequest, UpdateProfileRequest
  * SendMessageRequest, UpdateMessageRequest
  * CreateConversationRequest, UpdateConversationRequest
  * UploadTrackRequest, UpdateTrackRequest
  * PaginationParams and list/search request types
- Added validation utilities:
  * validateApiRequest: Validate requests before sending
  * safeValidateApiRequest: Safe validation with error handling
  * validateApiRequestWithError: Validation with custom error handler
- Integrated validation into API client request interceptor
- Enhanced validatedApiClient with request validation support
- Automatic validation prevents invalid requests from being sent
- Comprehensive test suite (19 tests, all passing)
- Ensures runtime type safety for all API requests
2025-12-25 14:36:32 +01:00
senke
5ab46f3fe4 [FE-TYPE-002] fix: Remove unused strict parameter from validation functions 2025-12-25 14:33:19 +01:00
senke
e7348b8b61 [FE-TYPE-002] fix: Resolve TypeScript errors in Zod schemas
- Removed strict() and passthrough() calls (not available on all Zod types)
- Simplified validation to use parse() directly
- Fixed type issues in clientWithValidation.ts
2025-12-25 14:32:30 +01:00
senke
3b4b36bd72 [FE-TYPE-002] fe-type: Add Zod schemas for all API responses
- Created comprehensive Zod schemas (apiSchemas.ts) for:
  * User, Track, Playlist, Conversation, Message
  * Session, AuditLog, Notification
  * PaginationData, ApiError, ApiResponse
- Added validation utilities:
  * validateApiResponse: Validate and normalize responses
  * safeValidateApiResponse: Safe validation with error handling
  * validateApiResponseArray: Validate arrays of items
  * validatePaginatedResponse: Validate paginated responses
- Integrated validation into API client interceptor
- Created validatedApiClient for type-safe API calls
- Automatic ID normalization during validation
- Comprehensive test suite (13 tests, all passing)
- Ensures runtime type safety for all API responses
2025-12-25 14:30:55 +01:00
senke
e43a20b122 [FE-STATE-004] fe-state: Add state invalidation 2025-12-25 13:45:49 +01:00
senke
c3d1d53787 [FE-API-017] fe-api: Add request caching 2025-12-25 13:29:43 +01:00
senke
276b04bca6 [FE-API-016] fe-api: Add request deduplication 2025-12-25 13:26:27 +01:00
senke
e3ebc039f9 [FE-API-015] fe-api: Add offline support 2025-12-25 13:24:19 +01:00
senke
c9f6955da7 [FE-API-014] fe-api: Add request timeout handling 2025-12-25 13:22:15 +01:00
senke
18d409e4e1 [FE-COMP-005] fe-comp: Add toast notifications for all user actions 2025-12-25 11:32:53 +01:00
senke
54a03a6490 [FE-API-006] fe-api: Add API request/response logging 2025-12-25 11:18:27 +01:00
senke
241ea2fe24 [FE-API-005] fe-api: Add request cancellation support 2025-12-25 11:14:03 +01:00
senke
44046a2b50 [FE-API-004] fe-api: Add retry logic to API client 2025-12-25 11:11:54 +01:00
senke
e532b342d4 [FE-API-003] fe-api: Fix API client response unwrapping 2025-12-25 11:09:19 +01:00
senke
2c8d0ea5eb fix(MVP-013): Add error correlation with request IDs in logs 2025-12-22 23:13:49 +01:00
senke
872f11d264 fix(MVP-012): Add retry logic with exponential backoff for 502/503 errors 2025-12-22 23:10:52 +01:00
senke
114f363c65 fix(MVP-006): Standardize environment variable names (VITE_API_BASE_URL → VITE_API_URL) 2025-12-22 22:56:37 +01:00
senke
9e942bc48b batch 1 2025-12-22 22:00:50 +01:00
senke
e301460bd8 fix(INT-000002): Multiple Auth Storage Mechanisms
- Unified token storage to use TokenStorage service
- Removed deprecated token-manager.ts
- Removed fallback storage logic in API client
- Updated tests and feature components to use TokenStorage

Resolves: INT-000002
Severity: P0
2025-12-22 09:53:47 -05:00
senke
4b5003bdbe stabilizing apps/web: SITUATION AWARENESS 2025-12-16 14:40:16 -05:00
senke
2dfde29f7d refonte: backend-api go first; phase 1 2025-12-12 21:34:34 -05:00
okinrev
327ac36a30 BASE: completing the initial repo state 2025-12-03 22:56:50 +01:00