Live Change Log

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

17,933
Total Changes
4,614
Features
4,543
Fixes
32
Projects
Filter by project
All Projects17,933AIService110APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService373InitializerService300KBService74KlusterServices546MCPGatewayService43MediaService461RAGService61SecurityService1,523TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,579kamo-login319kamo-marketing585kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,322kamo-signer-monorepo50kamolos102
Filter by type
All TypesBuild24CI523Chore670Docs226Feature4,614Fix4,543Other6,781Performance136Refactor274Revert23Style48Test70Upgrade1
March 31, 2026
Fixkamo-marketing

Move offer to /pricing/offer, add Pricing dropdown, fix mobile nav

- Move offer page from /offer to /pricing/offer as a sub-page of pricing so breadcrumbs (Pricing > Prelaunch Offer) are correct - Add Pricing dropdown in head...

Kamo·5mo ago
Fixkamo-marketing

Align Terms of Service and Privacy Policy with current pricing page

Terms of Service: - Fix "business phone" to "third-party phone integration (via RingCentral)" - Add custom domain requirement and branding inclusion on all plan...

Kamo·5mo ago
Fixkamo-marketing

Update pricing model — remove phone system, add shared storage pool, adjust tiers and rates

- Remove phone system/VOIP from all plans (not yet available), replace with RingCentral integration on Business+ - Custom domain & branding now included on all ...

Kamo·5mo ago
Fixkamo-marketing

Move Demo from Company dropdown to CTA button between Login and Start Free

Desktop: Demo button with green border accent sits between Login and Start Free. Mobile: Demo button added to the bottom CTA row as a third button.

Kamo·5mo ago
Fixkamo-marketing

Remove all third-party audit, certification, and HIPAA claims

Kamo follows compliance standards but has not been audited or certified. Changes across 7 files: - "SOC 2 Compliant" → "SOC 2 Aligned" (TrustBar, CTAStrip, Dem...

Kamo·5mo ago
Fixkamo-marketing

Remove hexagon-divider class from TrustBar that clipped content

The hexagon-divider CSS sets height:60px and overflow:hidden, cutting off the trust indicator text. Removed the class to let content display fully.

Kamo·5mo ago
Fixkamo-marketing

Force full page reload from homepage footer, pure inline styles on PageHero

Root cause: Next.js 16 intercepts <a> tag clicks for client-side navigation. When navigating from homepage to sub-pages, the homepage's CSS context (Tailwind cl...

Kamo·5mo ago
Fixkamo-marketing

Align sub-nav links left, CTA buttons right

Split the nav into two groups: nav links (left-aligned next to logo) and CTA buttons (right-aligned). Uses flex with justify-content: space-between on the outer...

Kamo·5mo ago
Fixkamo-marketing

Align Home link in sub-nav, replace "Get Mine" with "Start Free" on homepage

- SubNavigation: Home link now wrapped in same div structure as category items with matching flex display and padding for consistent alignment - Homepage Navi...

Kamo·5mo ago
Fixkamo-marketing

Remove Framer Motion from breadcrumbs and footer links

Framer Motion's hydration was causing layout inconsistencies between homepage and sub-pages. Replaced: - Breadcrumbs: plain divs with explicit flexbox inline st...

Kamo·5mo ago
Fixkamo-marketing

Breadcrumbs use inline styles to guarantee single-line, footer uses dynamic import

- Breadcrumbs: replaced Tailwind classes with explicit inline styles to prevent any CSS cascade from breaking the single-line layout - Footer: loaded via dyna...

Kamo·5mo ago
Fixkamo-marketing

Nav links navigate to homepage sections when on sub-pages

- Desktop: ScrollSpyNav now accepts baseHref prop; on sub-pages it navigates to /{hash} instead of trying to scroll to non-existent elements - Mobile: menu li...

Kamo·5mo ago
Fixkamo-marketing

Breadcrumbs render inline on single line, footer moved inside main

- Breadcrumbs now use inline-flex with whitespace-nowrap to prevent wrapping - Footer moved inside <main> to match homepage DOM structure for consistent renderi...

Kamo·5mo ago
Fixkamo-marketing

Sub-page nav visibility, breadcrumb wrapping, and background consistency

- Set shouldAnimate=true on Navigation so it's visible without preloader - Add flex-wrap and whitespace-nowrap to breadcrumbs for clean line handling - Set expl...

Kamo·5mo ago
Fixkamo-marketing

Use LucideIcon type in roadmap page — verified with local build

All 24 routes compile and generate successfully.

Kamo·5mo ago
Fixkamo-marketing

Use React.JSX namespace for React 19 compatibility

JSX.Element is not a global namespace in React 19; must use React.JSX.Element.

Kamo·5mo ago
Fixkamo-marketing

Achievement badge z-index so it renders above the navbar

Nav uses zIndex 10001; badge was at z-100 and getting clipped underneath.

Kamo·5mo ago
Fixkamo-marketing

Trust bar z-index, remove Docs/Microsoft branding, deduplicate trademark notice, fix Most Popular badge clipping

- Increase TrustBar z-index so hexagon graphics don't overlap text - Replace Word/Excel/PowerPoint with generic terms (documents, spreadsheets, presentations) -...

Kamo·5mo ago
Fixkamo-internal

Pre-select entire image on crop, default to color vectorization

- Crop tool now starts with the full image pre-selected with 8 handles - Users can adjust from there or continue immediately — no "Use full image" needed - Defa...

kamo·5mo ago
Fixkamo-internal

Show logo image on background picker step using img element

Canvas element wasn't rendering because it started with 0x0 dimensions. Use a visible <img> for display and an offscreen canvas for pixel sampling.

kamo·5mo ago
Fixkamo-internal

Combine docker login, build, and push in single step to preserve auth

Separate steps lose docker credentials between Forgejo runner step boundaries. Running login+build+push in a single shell ensures the auth config persists.

kamo·5mo ago
Fixkamo-internal

Use docker build/push directly instead of build-push-action

The docker/build-push-action with driver:docker loses auth credentials during the push phase. Using plain docker build + docker push ensures the login credentia...

kamo·5mo ago
Fixkamo-internal

Connect WebSocket directly to vector.{domain} subdomain

Next.js rewrites don't proxy WebSocket upgrade requests. Connect directly to the VectorService via its own subdomain, same pattern as media WebSocket.

kamo·5mo ago
Fixkamo-internal

Update service references to vectorservice

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

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