Live Change Log

See what we're building, in real-time. Every feature, fix, and improvement shipped across the platform.

17,896
Total Changes
4,600
Features
4,522
Fixes
32
Projects
Filter by project
All Projects17,896AIService110APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService364InitializerService299KBService74KlusterServices542MCPGatewayService43MediaService460RAGService61SecurityService1,519TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,565kamo-login318kamo-marketing584kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,320kamo-signer-monorepo50kamolos102
Filter by type
All TypesBuild24CI522Chore670Docs226Feature4,600Fix4,522Other6,781Performance136Refactor274Revert23Style48Test69Upgrade1
March 29, 2026
FixAPIService

Use getServerName() instead of getHeader(Host) for original host resolution

ForwardedHeaderFilter consumes X-Forwarded-Host and adapts getServerName() accordingly, while getHeader(Host) returns the raw HTTP Host which may be a K8s inter...

Kamo·5mo ago
Fixkamo-meet

Lock display name via Meet's native readOnlyName config for authenticated users

- Sidecar config.js now sets readOnlyName:true when user has *** cookie or JWT in the page URL (detected via referer/cookie headers) - nginx passes Cookie and...

Kamo·5mo ago
FixMediaService

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...

Kamo·5mo ago
Fixkamo-internal

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...

kamo·5mo ago
FeatureMediaService

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...

Kamo·5mo ago
Featurekamo-internal

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 ****...

kamo·5mo ago
Fixkamo-meet

Generate Prosody JWT from OTK session and redirect with ?jwt= for proper moderator auth

The OTK flow now: 1. Validates OTK via sidecar → gets session (memberId, displayName, etc.) 2. Saves display name to localStorage 3. Calls /api/auth/jwt to gene...

Kamo·5mo ago
Fixkamo-meet

Apply org nav color to entire pre-meeting left column, not just toolbar strip

Target .premeeting-screen (the full-height container) and its content panel children instead of generated class names. Also covers in-meeting toolbox and filmst...

Kamo·5mo ago
Featurekamo-meet

Full settings modal with Devices/Sounds/More/Shortcuts tabs, display name on main card, primary color overlay

- Display name is now a required field on the main card above the room input, not in settings. Users must enter their name before joining. - Settings modal ha...

Kamo·5mo ago
Fixkamo-login

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...

Kamo·5mo ago
FixAPIService

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.

Kamo·5mo ago
Featurekamo-meet

Validate room existence before anonymous join, add settings modal with device selection

Anonymous users must enter a valid meeting room name - the welcome page checks /api/meet/exists/{roomName} before allowing join. If the meeting doesn't exist or...

Kamo·5mo ago
Featurekamo-internal

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...

kamo·5mo ago
Fixkamo-internal

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...

kamo·5mo ago
Fixkamo-internal

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...

kamo·5mo ago
Fixkamo-meet

Lock display name input for authenticated users on pre-join screen

Authenticated members (arriving via OTK) get their name pre-filled and locked — the input is set to readOnly with pointer-events disabled. A MutationObserver en...

Kamo·5mo ago
Fixkamo-meet

Use relative BOSH/WS URLs in config.js, add OTK auth with name pre-fill, load org CSS for nav colors

Three fixes: 1. config.js BOSH URL changed from cluster-internal address to relative /http-bind (nginx proxies to Prosody). WebSocket uses host header. 2. br...

Kamo·5mo ago
Featurekamo-meet

Add custom welcome page with org-themed backgrounds, glassmorphism card, and room name input

Replaces Meet's default welcome screen with a custom landing page that: - Loads org backgrounds from MinIO theme with carousel transitions - Shows org logo and ...

Kamo·5mo ago
Fixkamo-internal

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.

kamo·5mo ago
Fixkamo-meet

Enable nginx SSI and copy missing HTML include files (head.html, base.html, fonts.html, body.html, plugin.head.html)

Meet Meet uses nginx Server Side Includes to compose index.html from multiple partial HTML files. Without SSI enabled and the include files present, the page re...

Kamo·5mo ago
FeatureKlusterServices

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.

Kamo·5mo ago
FeatureKlusterServices

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.

Kamo·5mo ago
Featurekamo-internal

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...

kamo·5mo ago
FeatureMediaService

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.

Kamo·5mo ago
Featurekamo-shared-library

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 ...

Kamo·5mo ago
Fixkamo-shared-library

Add explicit @JsonProperty annotations to KbArticle AI visibility fields

Ensure Jackson serializes/deserializes aiEnabled, aiVisibleToPublic, aiVisibleToMembers, aiVisibleToTeamMembers with correct field names.

Kamo·5mo ago
Fixkamo-internal

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...

kamo·5mo ago
Chorekamo-internal

Trigger deploy for MUI 7 fix

kamo·5mo ago
Fixkamo-internal

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...

kamo·5mo ago
March 28, 2026
ChoreMediaService

Trigger rebuild

Kamo·5mo ago
ChoreAPIService

Trigger build

Kamo·5mo ago
Featurekamo-shared-library

Add MeetingRecord and MeetingParticipant JPA repositories

Kamo·5mo ago

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing