Send chat invites to correct WebSocket topic /topic/chat/incoming/{memberId}
Was publishing to /topic/chat/member/{id} but kamo-internal subscribes to /topic/chat/incoming/{id}. Also fixed Member entity field access **************** inst...
Forward all meeting fields (sendChatInvite, sendEmailInvite, customMessage, roomAlias, joinUrl) to backend
The Next.js API route was stripping sendChatInvite, sendEmailInvite, customMessage, and roomAlias — only forwarding roomName and inviteMemberIds. Backend receiv...
Implement chat WebSocket and email invite sending for meetings
MeetController now reads sendChatInvite, sendEmailInvite, and customMessage from the create request body and triggers async invite sending. MeetService.sendInv...
Pass availableMembers to all MeetingDialog instances and self-fetch when not provided
- MemberList passes availableMembers to each MemberItem - MemberItem passes availableMembers to its MeetingDialog - MeetingDialog self-fetches members from ****...
Add glass transparency effect to feature cards on homepage and settings
Forward visitor IP and User-Agent to backend for accurate account activity logging
The Next.js API routes were not forwarding X-Forwarded-For, X-Real-IP, or User-Agent headers to the Java backend, causing account activity to log the Next.js po...
Use HTTP on port 80 for meet service URL to match other services
The HTTPS endpoint on 8443 causes SSL cert mismatch when routing through K8s internal DNS. All other services use HTTP on port 80.
Add GET /api/meet/exists/{roomName} endpoint for anonymous room validation
Add findByRoomNameAndStatusIn query to MeetingRecordRepository
Add custom message textarea to MeetingDialog for chat/email invitations
Shows a multiline text input when at least one notification option is enabled, allowing the meeting creator to add a personal note to the invitation. Hidden whe...
Show MeetingDialog for per-member meetings instead of bypassing directly
Both MemberItem (Interaction Center) and ChatBox (chat tool window) now open the MeetingDialog with the target member pre-selected, allowing the user to set the...
Route meet config API through APIService instead of direct MediaService
The existing meet/create route uses forwardToApi (APIService), which proxies to MediaService. The new config/background routes must follow the same pattern to w...
Add dnsPolicy ClusterFirstWithHostNet to JVB StatefulSets so hostNetwork pods can resolve cluster DNS
Move New Tab button after Chat Now as icon-only, remove duplicate Notes link
New Tab is now an icon button (no label) placed to the right of Chat Now. Notes removed from NavTop since it's already in NavPri.
Configure Prosody, Jicofo, and secrets for Jibri recording support
Enable recording in Prosody, add Jibri XMPP passwords to secrets, and configure Jicofo brewery MUC for Jibri instance discovery.
Add Jibri deployment manifests for Meet meeting recording
Kubernetes deployment, service, and configmap for Jibri (Meet Broadcasting Infrastructure) to enable meeting recording with MinIO storage integration.
Add /settings/features/meets page with 5 tabs for org-level video conferencing config
New settings page with General, Security & Access, Recording, Branding, and Notifications tabs. Includes meetApi client, MediaService proxy routes, logo variant...
Add MeetConfigController and MeetConfigService for org-level meet settings
REST endpoints for CRUD on OrgMeetConfig and MeetBackground entities. Supports config get/update, background upload/delete/reorder via MinIO storage.
Add OrgMeetConfig entity, MeetBackground entity, MEET_RECORDING ImageAssocType, and meet permissions
Adds org-level video conferencing configuration with defaults for lobby, guest access, recording, branding, and notifications. New permissions: RECORD_MEETINGS ...
Add explicit @JsonProperty annotations to KbArticle AI visibility fields
Ensure Jackson serializes/deserializes aiEnabled, aiVisibleToPublic, aiVisibleToMembers, aiVisibleToTeamMembers with correct field names.
Prevent infinite re-render loop in MeetingDialog caused by default prop array references
The useEffect had preSelectedMembers (defaulting to []) as a dependency, creating a new array on every render and triggering an infinite setState loop. Fixed by...
Match CHAT button color to meeting icon using CSS --color-primary variable
Replace deprecated InputProps with slotProps for MUI 7 compatibility in MeetingDialog
Add isOptionEqualToValue and null safety to MeetingDialog Autocomplete to prevent client crash
Make Chat Now icon white, sync email badge with message list, use CSS color-mix for theme colors
- NavTop: change ForumIcon color to white to match Chat Now label - MessageBrowser/MailButton: coordinate WebSocket email refresh via custom event so badge coun...
Reference *** instead of non-existent turn-secret in Prosody deployment
Add MeetController and MeetService for meeting creation and invite management
Restore full meeting flow with backend creation, invites, and OTK window opening
Simplify useMeeting to generate OTK and open meeting window directly
Backend meeting API endpoints don't exist yet - skip meeting record creation for now. Add error handling to all click handlers to prevent client-side crashes.
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.
