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...
Add JOIN FETCH to eagerly load member in message queries
- Added JOIN FETCH m.member to both findBySessionAndIsRemovedFalse queries - Ensures member entity is eagerly loaded to avoid lazy loading issues - Fixes issue ...
Trigger pipeline - rebuild with NATS stream auto-creation fix
Automatically create NATS JetStream stream if it doesn't exist
- Added createStreamIfNotExists method to check and create the CHAT_MESSAGES stream - Stream is created with subjects from configuration (chat.>) - Fixes 'No ma...
Extract large IDs from raw JSON to prevent JavaScript precision loss
- Extract memberID, userID, orgID, and securityOrgId from raw JSON string before parsing - Prevents precision loss for IDs > Number.MAX_SAFE_INTEGER (9007199254...
Make NatsMessageService work with Optional JetStream injection
- Changed JetStream injection to Optional with @Autowired(required=false) to handle bean ordering issues - Removed @ConditionalOnBean to allow service creation ...
Trigger pipeline after kamo-shared-library annotation reorder
Reorder annotations in NatsMessageService to check property first, then bean
Correct import for ConditionalOnProperty in NatsMessageService
Add ConditionalOnProperty to NatsMessageService to ensure it only loads when NATS is enabled
Serialize memberID and other IDs as strings in user-info API to prevent JavaScript precision loss
Explicitly import NatsConfig to ensure NATS JetStream is enabled
Add detailed logging for WebSocket subscription and NATS message forwarding
Update ChatMessageDto memberId type to match useChatWebSocket
Serialize memberId as string in all API responses to prevent JavaScript precision loss
Complete memberId type updates in useChatWebSocket for string/number compatibility
Handle member IDs as strings consistently to fix message author detection
Update NavTop and NavTopPanel to accept string or number member IDs
Accept member IDs as string or number to handle precision loss
Serialize member IDs as strings to avoid JavaScript precision loss
Add logging to track member ID flow from MemberItem to ChatDock
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
Send memberId as string to avoid JavaScript precision loss with large numbers
Fix another const assertion error in WebSocket message handler
Correct TypeScript const assertion for conditional author assignment
Remove incorrect code in createChatSession - cascade handles chat saving
Trigger pipeline - kamo-shared-library updated with message persistence docs
Clarify that messages are saved to database even when recipient is offline
Clarify that messages are always saved to database, even if recipient is offline
Improve cleanup to handle typing indicator subscription properly
Add missing typingIndicatorCallbackRef declaration and improve cleanup
Trigger pipeline - kamo-shared-library updated with NATS logging
Improve title handling and WebSocket subscription timing for messages and typing indicators
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.
