Commit graph

21 commits

Author SHA1 Message Date
senke
c0e2fe2e12 fix(v0.12.6.1): remediate remaining 15 MEDIUM + LOW pentest findings
MEDIUM-002: Remove manual X-Forwarded-For parsing in metrics_protection.go,
  use c.ClientIP() only (respects SetTrustedProxies)
MEDIUM-003: Pin ClamAV Docker image to 1.4 across all compose files
MEDIUM-004: Add clampLimit(100) to 15+ handlers that parsed limit directly
MEDIUM-006: Remove unsafe-eval from CSP script-src on Swagger routes
MEDIUM-007: Pin all GitHub Actions to SHA in 11 workflow files
MEDIUM-008: Replace rabbitmq:3-management-alpine with rabbitmq:3-alpine in prod
MEDIUM-009: Add trial-already-used check in subscription service
MEDIUM-010: Add 60s periodic token re-validation to WebSocket connections
MEDIUM-011: Mask email in auth handler logs with maskEmail() helper
MEDIUM-012: Add k-anonymity threshold (k=5) to playback analytics stats
LOW-001: Align frontend password policy to 12 chars (matching backend)
LOW-003: Replace deprecated dotenv with dotenvy crate in Rust stream server
LOW-004: Enable xpack.security in Elasticsearch dev/local compose files
LOW-005: Accept context.Context in CleanupExpiredSessions instead of Background()
LOW-002: Noted — Hyperswitch version update deferred (requires payment integration tests)

29/30 findings remediated. 1 noted (LOW-002).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 06:13:38 +01:00
senke
76d95ecfb4 incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00
senke
4d67e8c059 api-contracts: add schema versioning to Zod schemas
- Completed Action 1.2.2.6: Added schema versioning infrastructure
- Created SCHEMA_VERSION constant (1.2.0) matching OpenAPI spec version
- Added createVersionedSchema helper to attach version metadata to schemas
- Versioned major schemas: userSchema, trackSchema, playlistSchema, apiErrorSchema, apiResponseSchema, paginationDataSchema
- Version metadata stored as non-enumerable properties to avoid serialization issues
- Enables tracking schema evolution and migration planning
- Type safety verified, no regressions
2026-01-11 16:42:19 +01:00
senke
7ea7475ca8 api-contracts: add remaining MEDIUM and LOW priority request schemas
- Completed Action 1.2.1.4: Added remaining missing request schemas
- MEDIUM priority: recordEventRequestSchema (analytics), createWebhookRequestSchema (webhooks)
- LOW priority: frontendLogRequestSchema (logging), resendVerificationRequestSchema (email verification)
- Total schemas added: 10 (2 HIGH, 6 MEDIUM, 2 LOW)
- All schemas validated against Swagger spec definitions
- Schema coverage: 9 → 15 schemas (36% → 60% of endpoints requiring bodies)
- Type safety verified, no regressions
2026-01-11 16:40:28 +01:00
senke
5b01b76d4e api-contracts: add HIGH and MEDIUM priority request validation schemas
- Completed Action 1.2.1.4: Added 6 missing request schemas
- HIGH priority (2FA security): verify2FARequestSchema, disable2FARequestSchema
- MEDIUM priority (core features): batchDeleteTracksRequestSchema, initiateChunkedUploadRequestSchema, completeChunkedUploadRequestSchema, uploadChunkRequestSchema
- All schemas validated against Swagger spec definitions
- Note: /auth/2fa/setup has no request body (generates secret/QR code)
- Note: /tracks/chunk uses formData (multipart), chunk file validated separately
- Type safety verified, no regressions
2026-01-11 16:39:16 +01:00
senke
cc2ebae4dc feat: Visual masterpiece - true light mode & premium UI
🎨 **True Light/Dark Mode**
- Implemented proper light mode with inverted color scheme
- Smooth theme transitions (0.3s ease)
- Light mode colors: white backgrounds, dark text, vibrant accents
- System theme detection with proper class application

🌈 **Enhanced Theme System**
- 4 color themes work in both light and dark modes
- Cyber (cyan/magenta), Ocean (blue/teal), Forest (green/lime), Sunset (orange/purple)
- Theme-specific glassmorphism effects
- Proper contrast in light mode

 **Premium Animations**
- Float, glow-pulse, slide-in, scale-in, rotate-in animations
- Smooth page transitions
- Hover effects with depth (lift, glow, scale)
- Micro-interactions on all interactive elements

🎯 **Visual Polish**
- Enhanced glassmorphism for light/dark modes
- Custom scrollbar with theme colors
- Beautiful text selection
- Focus indicators for accessibility
- Premium utility classes

🔧 **Technical Improvements**
- Updated UIStore to properly apply light/dark classes
- Added data-theme attribute for CSS targeting
- Smooth scroll behavior
- Optimized transitions

The app is now a visual masterpiece with perfect light/dark mode support!
2026-01-11 02:32:21 +01:00
senke
8a484833ec [INT-TYPE-006] Complete ApiError interface with all backend fields 2025-12-25 22:37:36 +01:00
senke
2b81d5156d [INT-TYPE-005] Create PlaylistVisibility enum aligned with backend 2025-12-25 22:36:51 +01:00
senke
8b4ef0abae [INT-TYPE-004] Create TrackStatus enum aligned with backend 2025-12-25 22:36:20 +01:00
senke
6aff5a7383 [INT-TYPE-003] Standardize Playlist.id to string everywhere 2025-12-25 22:35:38 +01:00
senke
e4ba1ef215 [INT-TYPE-002] Standardize Track.id to string everywhere 2025-12-25 22:34:55 +01:00
senke
9fe0328794 [INT-TYPE-001] Standardize User.id to string everywhere 2025-12-25 22:33:16 +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
d3ff88d667 [FE-TYPE-002] fix: Remove final strict reference 2025-12-25 14:33:47 +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
37120e8dd1 fix(MVP-015): Standardize remember_me field name to snake_case 2025-12-22 23:27:51 +01:00
senke
8e914d6932 fix(MVP-010): Fix error code type in Zod schemas (string → number) 2025-12-22 23:05:08 +01: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