Live Change Log

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

18,042
Total Changes
4,671
Features
4,589
Fixes
32
Projects
Filter by project
All Projects18,042AIService114APIService140BillingService133ConversionService87DaemonService109DocsService191ESigService80EmailService392InitializerService304KBService76KlusterServices550MCPGatewayService45MediaService466RAGService63SecurityService1,532TranslateService47VOIPService175VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,606kamo-login319kamo-marketing590kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,332kamo-signer-monorepo50kamolos104
Filter by type
All TypesBuild24CI523Chore670Docs231Feature4,671Fix4,589Other6,781Performance136Refactor274Revert23Style48Test71Upgrade1
March 30, 2026
FixRAGService

Lower embedding batch size to 8 to match model backend limit

The TEI backend forces max_batch_requests=8 regardless of client config. Batches of 32 were still failing with connection errors.

Kamo·5mo ago
FixRAGService

Batch embedding requests to respect model's max batch size of 32

The embedding model rejects requests with more than 32 inputs, but articles with large content produce 46-198 chunks. All embedding attempts were failing with 4...

Kamo·5mo ago
FixAIService

Lower RAG min-score threshold from 0.5 to 0.25 to stop filtering relevant KB results

The 0.5 threshold was silently discarding valid results from the embedding model, especially for domain-specific content with smaller 384-dim vectors.

Kamo·5mo ago
FixKBService

Defer NATS event publishing until after transaction commits to prevent RAG race condition

Events were firing inside @Transactional methods, causing RAGService to read stale data from CockroachDB before the commit. Also auto-defaults aiVisibleToMember...

Kamo·5mo ago
Fixkamo-internal

Add missing Docs nav item to NavPri sidebar

kamo·5mo ago
FixKlusterServices

JVB_ADVERTISE_IPS must be public IP, not Wireguard IP

Was 10.8.1.1 (Wireguard private) — guests' browsers can't reach this. Changed to 75.83.113.11 (public IP). This is why guests kept getting ICE restarts every ~1...

Kamo·5mo ago
FixKlusterServices

Disable mod_token_verification via custom plugin override to stop guest kicks

The MUC token_verification module re-validates tokens and demotes guests from PARTICIPANT to VISITOR after ~60 seconds, causing Jicofo to kick them. The module ...

Kamo·5mo ago
FixKlusterServices

Add guest domain to token_verification_allowlist, increase smacks timeout

Guests authenticate via Meet-anonymous on guest.meet.Meet but the MUC token_verification module was re-checking them and demoting their role from PARTICIPANT to...

Kamo·5mo ago
FixKlusterServices

Disable Jicofo auth module to prevent 1-minute participant kick

Jicofo's AbstractAuthAuthority has a hardcoded 1-minute auth session lifetime that ignores the config file setting. After 60 seconds, Prosody demotes participan...

Kamo·5mo ago
FixKlusterServices

Use room names (not full JIDs) for all brewery MUC configs

Both Jicofo and JVB Docker images append @XMPP_INTERNAL_MUC_DOMAIN to the brewery room name automatically. Using full JIDs like **************** caused double-d...

Kamo·5mo ago
FixKlusterServices

Use TCP probe on port 9090 for JVB health checks instead of HTTP on 8080

JVB's REST API port 8080 conflicts with CockroachDB's admin UI on the same hostNetwork. The JVB_OHTTP_SERVER_PORT env var is not recognized by this JVB image ve...

Kamo·5mo ago
FixKlusterServices

Resolve JVB crash loop — wrong MUC JID + port 8080 conflict

Two issues causing JVB to crash in a loop for 43+ hours: 1. JVB_BREWERY_MUC was **************** (full JID) but JVB appends XMPP_INTERNAL_MUC_DOMAIN automat...

Kamo·5mo ago
FixKlusterServices

JVB_BREWERY_MUC should be room name only, not full JID

Was **************** which caused JVB to construct a double-domain JID **************** with an @ in the domain part — crashing JVB with XmppStringprepException...

Kamo·5mo ago
Fixkamo-meet

Extend JWT expiry from 5 minutes to 24 hours

Prosody re-validates the JWT when new participants join or conference state changes. With a 5-minute expiry, the presenter's JWT expired mid-meeting causing "Un...

Kamo·5mo ago
Fixkamo-meet

Force-set avatar via Redux dispatch after JWT redirect

The JWT delayed-load pipeline for avatars fails silently with disableThirdPartyRequests. Three-layer approach now: 1. Avatar.tsx _mapStateToProps falls back to...

Kamo·5mo ago
Fixkamo-meet

Use participant avatarURL directly as fallback in Avatar component

The loadableAvatarUrl pipeline (preload check → setLoadableAvatarUrl) was never setting the URL due to disableThirdPartyRequests and the delayed-load flow clear...

Kamo·5mo ago
FixSecurityService

Query avatar_photos extension via SQL instead of Hibernate proxy

avatarRepository.findById() returns a Hibernate proxy (Avatar$HibernateProxy) that fails instanceof AvatarPhoto check. This caused the file extension to always ...

Kamo·5mo ago
Fixkamo-meet

Extract CockroachDB IDs as strings before JSON.parse loses precision

CockroachDB unique_rowid() IDs (e.g. 1161936315562426374) exceed JavaScript's Number.MAX_SAFE_INTEGER (9007199254740991). JSON.parse silently corrupts them — 11...

Kamo·5mo ago
Featurekamo-internal

Add date/time scheduler to Start Meeting dialog

Adds a Now/Schedule pill toggle to the meeting creation dialog. When Schedule is selected, an MUI DateTimePicker slides in with 15-minute intervals and a format...

kamo·5mo ago
Fixkamo-meet

Fetch avatar URL from SecurityService API instead of constructing from hash

The static URL construction from the session hash was returning 404/500 because Avatar Creator SVGs aren't always stored at the expected MinIO path. Now the si...

Kamo·5mo ago
Fixkamo-meet

Set avatar URL directly without preload check, add sidecar logging

The preload check in _getFirstLoadableAvatarUrl was failing because the theme CDN URL couldn't be preloaded from within the browser's security context with disa...

Kamo·5mo ago
Otherkamo-analytics

Merge pull request #4112 from ****************

fix: use settings timezone in revenue chart date range

Mike Cao·5mo ago
Fixkamo-meet

Logo variant race condition, defaultLobbyEnabled ignored, and whoCanRecord not passed to config

- Defer logoUrl resolution in overrides.js until org config loads to prevent flashing the wrong logo variant (SIMPLE vs FULL) - Fire kamo-branding-loaded even...

Kamo·5mo ago
Fixkamo-meet

Allow avatar photos when disableThirdPartyRequests is true and redesign virtual background settings layout

Avatar URLs from the JWT context are first-party theme CDN URLs, not third-party requests. The disableThirdPartyRequests guard was preventing them from loading,...

Kamo·5mo ago
Otherkamo-analytics

Remove fs-extra dependency in favor of native node:fs

Mike Cao·5mo ago
Otherkamo-analytics

Merge pull request #3606 from fauzora/fix/tracker-single-init

fix(tracker): prevent multiple initialization when script injected more than once

Mike Cao·5mo ago
Fixkamo-meet

Redesign close pages to match welcome page styling

- Background slideshow with fade/scale animation (8s interval) - 15% primary color overlay + gradient atmosphere overlay - Glass morphism card (rgba(255,255,255...

Kamo·5mo ago
Fixkamo-meet

Branded close pages and correct avatar URL construction

- Close pages (close.html, close2.html) now use org background image, logo, favicon, and glassmorphism styling matching the welcome page - Changed close messa...

Kamo·5mo ago
FixSecurityService

Store full avatar relative path in session instead of bare file hash

The login SQL now also fetches avatar_type and file_extension from avatar_photos so the session stores a complete relative path like **************** or *******...

Kamo·5mo ago
FeatureMediaService

Include org static background images in meet virtual backgrounds

Fetch backgroundImageCount from the org's theme config.json and generate URLs for /img/bg/{n}.webp so org-level static backgrounds appear alongside meet-specifi...

Kamo·5mo ago
Fixkamo-meet

Double org logo watermark size and force white text in embed dialog

- Double watermark base dimensions (71x32 → 142x64) in _variables.scss - Double .leftwatermark max constraints (140x70 → 280x140) in _base.scss - Force white co...

Kamo·5mo ago
Featurekamo-meet

Derive display name from first/last name and construct avatar URL from session

Use memberFirstName and memberLastName from *** session to build proper display names instead of falling back to usernameAlias. Construct full avatar URL from t...

Kamo·5mo ago
FeatureSecurityService

Add first name, last name, and avatar hash to *** session

Include memberFirstName, memberLastName, and memberAvatarUrl in Redis session data so cross-domain services like KamoMeet can display proper user identity witho...

Kamo·5mo ago
Fixkamo-internal

Handle meetReturn redirect to send users back to meeting after login

- Detect meetReturn query param on home page (from KamoMeet auth redirect) - Generate OTK and redirect authenticated users back to meet with token - Use session...

kamo·5mo ago
FixMediaService

Resolve org theme backgrounds not appearing in meet virtual backgrounds

- Add domain-based theme URL resolution for internal K8s service-to-service calls - getPublicBackgrounds now accepts optional domain param to derive correct the...

Kamo·5mo ago
Fixkamo-meet

Resolve OTK auth failure and login redirect issues in KamoMeet

- Fix Redis key lookup in validate-otk (was missing *** prefix, causing all OTK validations to fail) - Map SecurityService session field names correctly (member...

Kamo·5mo ago
FixMediaService

Upload meet backgrounds to public MinIO bucket with hash-based naming

Was uploading to private 'imaging-meet-recordings' bucket via **************** which caused: - MinIO region mismatch errors on the primary node - Connection tim...

Kamo·5mo ago
Fixkamo-meet

Replace Meet's native login dialog with org portal redirect for KamoMeet auth

KamoMeet uses OTK → JWT authentication exclusively. When Meet's auth middleware would normally show a username/password login dialog, redirect to the org's inte...

Kamo·5mo ago
March 29, 2026
Fixkamo-internal

Remove client-side OTK from multipart upload, add upload debug logging

The client was generating a wasted OTK before upload (the Next.js route generates its own server-side OTK for the backend). Removed the client OTK to simplify t...

kamo·5mo ago
Otherkamo-internal

Add logging to meet backgrounds POST handler

kamo·5mo ago
FixMediaService

Return serialization-safe Maps instead of raw JPA entities in MeetConfigController

All config/background endpoints were returning raw JPA entities with @ManyToOne(fetch=LAZY) Organization references. Jackson failed to serialize the Hibernate p...

Kamo·5mo ago
Fixkamo-meet

Remove stock Meet virtual backgrounds, use only org-level backgrounds

- Removed hardcoded IMAGES array from constants.ts (7 stock Meet backgrounds) - VirtualBackgrounds component now uses dynamic branding backgrounds directly wi...

Kamo·5mo ago
Fixkamo-internal

Simplify NavTop display name lookup and correct MediaService URL scheme

- Remove usernameAlias lookup from getDisplayName, use member record directly - Fix MediaService K8s URL from https:8443 to http:80

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