Live Change Log

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

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

Resolve remaining Long/UUID type mismatches in controllers and beans

Fixes LeadVendorController, LeadMarketController, LeadImportController, ImagingController, AccountController, MediaStreamController, POSController, MemberContro...

Kamo·5mo ago
Fixkamo-shared-library

Resolve remaining Long/UUID type mismatches in services and DTOs

Fixes compilation errors in CommerceService, OrganizationService, ExternalAuthProviderService, Img*Service, Lead*Service, LeadVendorService, ImageService, and a...

Kamo·5mo ago
Fixkamo-internal

Include required fields in create book payload

The backend DTO requires isOrgDefault, isOrgLevel, and isVisible fields — sending only name caused a 415 Unsupported Media Type.

kamo·5mo ago
Fixkamo-internal

Prevent recipient popover from flashing at top-left corner

The popover initialized at position {0,0} and repositioned in a useEffect (after paint), causing a visible fly-in from the top-left. Fixed by using useLayoutEf...

kamo·5mo ago
Fixkamo-internal

Portal all overlays out of tool window stacking context

ToolWindowShell applies `transform: translateY(0)` which creates a CSS stacking context. This caused all `position: fixed` overlays (autocomplete dropdown, popo...

kamo·5mo ago
Fixkamo-internal

Fix autocomplete — infinite loop, missing API, auth

Three root causes fixed: 1. Infinite re-render loop: existingEmails was a new array reference every render, causing the search useEffect to re-fire endlessl...

kamo·5mo ago
Fixkamo-internal

Fix untyped recipient inputs and match Subject field styling

- Fixed drag handler blocking input focus by skipping preventDefault when clicking on INPUT elements or buttons - Rewired RecipientField from Tailwind classes...

kamo·5mo ago
Fixkamo-internal

Integrate recipient fields into tool window composer

The previous commit added the recipient components but modified the wrong composer (MessageComposer.tsx). This integrates RecipientField into MessageTool.tsx — ...

kamo·5mo ago
Fixkamo-internal

Add book buttons per source, remove redundant manage icon

- Remove redundant "+" manage sources icon from sources view header (already accessible via bottom "Manage Contact Sources" button) - Add "Add book" icon butt...

kamo·5mo ago
FixVOIPService

Explicitly stringify Long IDs in SmsController responses

**************** Long-as-string approach was not taking effect. Directly call .toString() on all Long IDs in the controller flat-map responses to guarantee no J...

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

Use string conversationId throughout SMS tool to handle 64-bit IDs

Backend now serializes Long as string; update all conversationId types from number to string to match. Also enable send button when an attachment is present wit...

kamo·5mo ago
FixVOIPService

Serialize Long IDs as strings to prevent JS precision loss

CockroachDB unique_rowid() generates 64-bit integers larger than Number.MAX_SAFE_INTEGER (2^53-1). JS JSON.parse silently rounds them, causing conversation ID m...

Kamo·5mo ago
Fixkamo-internal

Remove duplicate Back button from RingCentralConfig

Parent PhoneProviderSetup already renders an IconButton with ArrowLeft in the config view header, making the Back button inside RingCentralConfig a duplicate.

kamo·5mo ago
FixVOIPService

Return flat map from send endpoint to prevent LazyInitializationException

VoipMessage.conversation is FetchType.LAZY; after @Transactional commits, Jackson serializing the entity would throw LazyInitializationException causing a 500, ...

Kamo·5mo ago
FixVOIPService

Fall back to org mainPhoneNumber when member has no VOIP config

Members without an individual MemberVoipConfig (or no fromPhoneNumber set) now use the org's mainPhoneNumber from VoipProviderConfig as the outbound number, ins...

Kamo·5mo ago
FixVOIPService

Remove getJwtKey() from WebhookController after OAuth migration

Signature validation used jwtKey as HMAC secret which no longer exists on VoipProviderConfig. Skip validation for now consistent with ****************

Kamo·5mo ago
Fixkamo-internal

Use plain img tags for local SVG provider logos

next/image does not reliably serve local SVGs without unoptimized flag. Plain img tags load /public assets directly with no issues.

kamo·5mo ago
FixVOIPService

Use correct session key casing for orgID and memberID

KSessionService stores keys as orgID and memberID (capital D). Both controllers were calling .get("orgId") and .get("memberId") which always returns null, causi...

Kamo·5mo ago
Fixkamo-internal

Always show softphone and SMS buttons in NavTop

Removed isVoip gate so the buttons are always visible regardless of feature flag state.

kamo·5mo ago
Fixkamo-internal

Use feature type name as key before numeric id in org feature preprocessing

Java returns features with `type: "VOIP"` and a numeric `id`. The preprocessing chain had `obj.id` before `obj.type`, causing all features to get numeric string...

kamo·5mo ago
FixMediaService

Add voip.> to NATS stream subjects and handle IllegalStateException in VoipStompRelayController

The NATS stream only covered chat.> so subscribing to voip.> threw IllegalStateException ([SUB-90007] No matching streams). Added voip.> to the stream subjects ...

Kamo·5mo ago
FixEmailService

Add security-service.*** to K8s ConfigMap

KamoJwtService requires this property for Bearer token validation in DavAuthFilter, but the K8s ConfigMap overrides application.yml and was missing it — causing...

Kamo·5mo ago
Fixkamo-internal

Show Phone System(s) settings unconditionally so orgs can configure VOIP before enabling it

- Remove isVoip gate from phone section on /settings page — Provider Setup card has no condition so it always appears; Agents and Dial Plans still gated by isVo...

kamo·5mo ago
Fixkamo-internal

Guard against non-array API responses in useContacts hook

setBooks, fetchContacts, and searchContacts now safely handle error objects and Spring paginated wrappers instead of crashing with 'e.map is not a function'.

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