Live Change Log

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

17,992
Total Changes
4,652
Features
4,558
Fixes
32
Projects
Filter by project
All Projects17,992AIService112APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService386InitializerService303KBService74KlusterServices547MCPGatewayService43MediaService462RAGService61SecurityService1,530TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,602kamo-login319kamo-marketing588kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,328kamo-signer-monorepo50kamolos102
Filter by type
All TypesBuild24CI523Chore670Docs231Feature4,652Fix4,558Other6,781Performance136Refactor274Revert23Style48Test71Upgrade1
March 29, 2026
Fixkamo-internal

Use subtle background tints on calendar page header and sidebar

Match the leads/allotments page styling with light color-mix backgrounds instead of heavily saturated primary colors.

kamo·5mo ago
FixMediaService

Switch MediaService to HTTP port 80 — TLS termination at Traefik

Internal cluster traffic doesn't need HTTPS. Traefik handles TLS for external clients. This aligns MediaService with all other services.

Kamo·5mo ago
Fixkamo-meet

Load org CSS/favicon immediately on every page load, widen settings to 800px, force dark text/icons in all dialogs, shrink video preview

1. Branding: loadThemeAssets() now runs FIRST before any auth flow, so org CSS (--navpri, --color-primary), favicon, and logo data are set even during the...

Kamo·5mo ago
Fixkamo-meet

Branding overrides, settings dialog layout, and display name lock via source modifications

- PreMeetingScreen: use CSS variable cascade for left column background color (--navpri/--color-primary fallback) - PreMeetingScreen: add favicon override from ...

Kamo·5mo ago
Fixkamo-internal

Clear stale hexheads on page refresh instead of restoring orphaned state

Minimized tool windows don't survive refresh, so restoring hexhead positions created orphaned heads with missing icons and non-functional click handlers. Now cl...

kamo·5mo ago
Fixkamo-meet

Make readOnlyName override more aggressive so Meet cannot overwrite it

Meet can replace window.config entirely during bootstrap, clearing the readOnlyName flag. Add Object.defineProperty trap on window.config to re-inject readOnlyN...

Kamo·5mo ago
Fixkamo-meet

Listen for async branding load event so logo and org colors render

PreMeetingScreen, Watermarks, and WelcomePage were reading window.__KAMO_MEET_BRANDING once during render, missing the data when the async loadBranding() comple...

Kamo·5mo ago
Fixkamo-meet

Resolve settings dialog quality issues — height, tab overflow, and white-on-white text

Change fixed 560px height to auto with 85vh max so content fits without scroll bars. Add flexWrap to tab bar so tabs wrap instead of clipping. Override white th...

Kamo·5mo ago
Fixkamo-internal

Hide member-specific tabs when memberID is "new" to prevent BAD_REQUEST errors

The /settings/member/new URL (from "Add Team Member" button) is caught by the [memberID] dynamic route, causing AccountActivityTab, MembershipPermissionsTab, an...

kamo·5mo ago
Fixkamo-meet

Validate OTK FIRST before loading any theme assets to prevent expiry

ROOT CAUSE: branding/overrides.js was loading org config, CSS, favicon BEFORE validating the OTK. These network requests took 10+ seconds, causing the OTK to ex...

Kamo·5mo ago
Fixkamo-internal

60s OTK TTL for meet windows, independent chat/email invites that don't block on backend

ROOT CAUSE: The OTK had a 10-second TTL. By the time the kamo-meet page loaded all its assets and branding/overrides.js ran to validate the OTK, it had already ...

kamo·5mo ago
Fixkamo-meet

Properly lock display name via config override + DOM mutation observer

Three-layer approach to ensure name is locked for authenticated users: 1. localStorage flag 'kamo-meet-authenticated' survives the OTK→JWT redirect 2. After red...

Kamo·5mo ago
Fixkamo-internal

Send chat invites via existing chat session API, email invites via multipart to EmailService

Chat invites: creates/gets a chat session via POST /api/media/sessions/chat then sends the meeting invite as a text message in that session. Uses the exact same...

kamo·5mo ago
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
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
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
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
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
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
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
Fixkamo-internal

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.

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