Add MeetingDialog for creating meetings with room name and member selection
Add useMeeting hook for meeting creation, OTK launch, and invite sending
Remove Janus-based WebRTC integration (useWebRTC, VideoCallPanel, call API routes)
Remove old Janus WebRTC voice/video/screen share code in preparation for KamoMeet (Meet-based) replacement. Deletes useWebRTC hook, VideoCallPanel, CallInitiati...
Add MeetingRecord and MeetingParticipant entities for meeting history
Add nginx config with BOSH/WS proxy, sidecar API routing, and SPA fallback
Add dynamic org branding system with MinIO theme resolution
Loads org logos, CSS color variables, favicon, and site name from MinIO-hosted theme assets at runtime via branding/overrides.js, and wires the branding data in...
Strip all Meet branding from user-visible UI
Remove static Meet branding to prepare for dynamic org-based theming: - Replace "Meet Meet" app name with generic "Meeting" in configs - Clear Meet watermark, l...
Add Meet service deployment steps to CI/CD pipeline for k1m1 and k2m1
Add distributed JVB pool with per-node StatefulSets on k1m1 and k2m1
Add Jicofo conference focus with JVB brewery and lobby enforcement
Add Prosody XMPP server deployment with JWT auth and lobby support
Make visibility checkboxes and Train AI toggle independent controls
Visibility (Members, Team Members, Public) controls who can access the article in the KB UI. Train AI is a separate toggle for RAG indexing, not a parent of the...
Replace Chat Now member count with real-time unread message indicator
- NavTop badge now shows total unread messages instead of online member count - Chat button icon color derived from --color-primary theme variable - MemberItem ...
Add unread count API endpoint, mark-as-read endpoint, and WebSocket broadcast
- GET /api/media/sessions/chat/unread returns per-session and per-sender unread counts - PUT /api/media/sessions/{guid}/read marks a session as read for current...
Add unread message count queries and mark-as-read service methods
Leverage existing msgIdLastViewed field in MediaSessionMember to compute per-session unread counts and mark sessions as read for the chat unread indicator featu...
Add Train AI toggle and audience visibility checkboxes to KB article editor
Add aiEnabled master toggle with collapsible visibility checkboxes for Members, Team Members, and Public using org-customized labels from behavior-labeling sett...
Pass memberType through RAG search for audience-scoped KB results
Resolve member type from MemberRepository and include it in RAG search requests so the vector DB can filter KB articles by audience visibility.
Add audience-scoped AI visibility filtering to RAG pipeline
Store **************** in Qdrant payload, filter search results by memberType, skip indexing when aiEnabled is false, and add visibility index creation for exis...
Support AI visibility toggles in KB article create/update
Accept aiEnabled and visibility flags in create/update endpoints. Handle AI toggle changes by publishing delete events when AI is disabled, triggering re-indexi...
Add AI visibility fields to KbArticle entity
Add aiEnabled, aiVisibleToPublic, aiVisibleToMembers, and aiVisibleToTeamMembers boolean fields to control per-article AI training and audience-scoped RAG acces...
Preserve upstream X-Forwarded-Host instead of overwriting with own Host
When an upstream proxy (Next.js) sets X-Forwarded-Host to the browser's original host, APIService now preserves it instead of overwriting with its own Host head...
Use internal K8s URL for API routing to fix avatar upload for non-KamoCRM orgs
The API proxy was computing external URLs (https://api.{domain}) for every org, which only resolved for KamoCRM. Now uses API_SERVICE_URL env var for direct int...
Re-fetch notes after create/update to show decrypted content in preview
The backend returns encrypted content/contentPlain in POST/PUT responses, causing NoteCard previews to display ciphertext until page refresh. Now re-fetches via...
Strip SchemaCleanupRunner to only post-Hibernate fixups
Hibernate ddl-auto: update handles all table/column creation from JPA entities. Removed all redundant CREATE TABLE/ADD COLUMN statements that duplicated what Hi...
Disable all auto-link behaviors in KB editor to prevent paste-as-hyperlink bug
The linkExtension singleton from @lexkit/editor retains internal paste handler state across component remounts. Disabling autoLinkUrls, autoLinkText, and linkSe...
Structured citation post-processing ensures RAG sources are always cited
Goal/Funnel mobile friendly changes. Polish event-data filters UI/UX
Like what you see shipping?
Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.