Restore StorageController with correct session extraction method
Remove StorageController and use theme domain paths for all avatar URLs
Use theme domain paths instead of presigned URLs for avatar images to fix mixed content issues
Add storage proxy endpoint and use proxy URLs instead of direct MinIO URLs to fix mixed content issues
Ensure avatar URLs are always set (empty string if file missing), check file existence before generating presigned URLs
Organize MinIO storage with folder structure and add Avatar Creator SVG support
- Updated storage paths to use organized folder structure: * members/avatars/photos/ for photo avatars * members/avatars/vector/ for Avatar Creator SVG avat...
Add avatar, background, and member profile management endpoints
- Added AvatarController with CRUD operations for avatars (photo and Avatar Creator) - Added UserBackgroundController for managing user background images - Exte...
Use pre-authenticated session from OTKPreAuthFilter in getMyNetworks
- Fixed 401 error by checking for pre-authenticated session from OTKPreAuthFilter first - OTKPreAuthFilter already validates and consumes OTK, so controller sho...
Explicitly permit WebSocket endpoints in Spring Security
- Added explicit permitAll for /ws/** endpoints - WebSocket upgrade requests need explicit permission even in development mode - Fixes issue where WebSocket con...
Add detailed logging for WebSocket subscription requests
- Added logging to trace when subscribeToSession is called - Logs payload and sessionGuid extraction - Logs database lookup for session verification - Helps dia...
Add detailed logging for message member ID retrieval
- Added logging to trace member ID for each message being returned - Logs member class name to detect proxy/stub issues - Logs distinct member IDs in response t...
Explicitly import NatsConfig to ensure NATS JetStream is enabled
Add detailed logging for WebSocket subscription and NATS message forwarding
Serialize memberId as string in all API responses to prevent JavaScript precision loss
Serialize member IDs as strings to avoid JavaScript precision loss
Add detailed logging for member lookup to debug 'Member not found' error
Add detailed logging for memberID type conversion to debug ClassCastException
Handle String type for memberID and parentId to prevent ClassCastException
Handle memberId as string from JavaScript to avoid precision loss with large numbers
Trigger pipeline - kamo-shared-library updated with message persistence docs
Trigger pipeline - kamo-shared-library updated with NATS logging
Trigger pipeline - kamo-shared-library updated with message pagination
Support two-member chat sessions and message pagination (default 100 messages)
Add detailed logging for WebSocket message forwarding and subscription
Trigger pipeline - kamo-shared-library updated with MediaObj @PrePersist fix
Trigger pipeline - kamo-shared-library updated with MediaSessionMember @PrePersist fix
Trigger pipeline - kamo-shared-library updated with @PrePersist fix
Like what you see shipping?
All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.
