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
April 27, 2026
Chorekamo-internal

Mirror live/snapshot address shape in CartItem2 and DraftOrderItem types

CartItem2 gains **************** and shippingAddress/billingAddress fields populated from the customer's primary shipping/billing AccountAddress profile. DraftO...

kamo·4mo ago
Featurekamo-internal

/account/new copy-from-lead UX, full name fields, dual phones, address; account-level address management

Frontend: - /account/new: per-section "Copy from Lead" buttons + header "Copy all from Lead" button (when leadId param) - Name section: prefix, first, middle, l...

kamo·4mo ago
Featurekamo-internal

Production-grade History + Voicemail tabs with media-player tool

History tab (SoftphoneHistoryTab.tsx): - Infinite scroll via IntersectionObserver inside the panel's scroll container - Filter chips: All / Inbound / Outbound /...

kamo·4mo ago
Fixkamo-internal

Remove redundant Field history title from history panel

Tab label already conveys context — title and subtitle were wasting screen space. Reload button moved inline into the toolbar.

kamo·4mo ago
Fixkamo-internal

Remove layout prop causing email body bouncing

The outer motion.div's `layout` prop fought with the inner AnimatePresence height: 'auto' animation, creating a FLIP feedback loop on emails with unstable heigh...

kamo·4mo ago
Featurekamo-internal

Add History tab — paginated audit timeline with search and filters

- LeadHistoryPanel: sticky filter toolbar with debounced search, **************** filters, MUI table with pagination, color-coded event chips, member-name resol...

kamo·4mo ago
Featurekamo-internal

Dynamic member type label in My Account page title

Title now reads "My {Member|Team Member} Account" using the org-configured behavior labels, switching automatically once the member's type is loaded.

kamo·4mo ago
Featurekamo-internal

Move Create Document button into DocManager toolbar

The button was only available on /doc/manager via the actions prop. Moved all logic (state, handler, DOC_TYPES, menu) into DocManager so it appears on every emb...

kamo·4mo ago
Fixkamo-internal

Always show Create Document button on doc manager page

Removed the getMemberId() > 0 guard that was hiding the button during the useUserInfo loading window. The page is already behind auth so no client-side membersh...

kamo·4mo ago
Fixkamo-internal

Restore organization import removed by accident

organization.id is still needed in the handleCreateDocument request body; only the isDocsEditor condition should have been removed.

kamo·4mo ago
Fixkamo-internal

Show Create Document button to all logged-in members

The org feature flag check (isDocsEditor → isDocs → hasFeature DOCS) was returning false because org features use deprecated key types. The button is now shown ...

kamo·4mo ago
Featurekamo-internal

International support — CountrySelect, LanguageSelect, SubdivisionField across all forms

- Add reusable CountrySelect (207 countries, flag icons), LanguageSelect (26 languages, flag icons), SubdivisionField (US state dropdown with flags; other cou...

kamo·4mo ago
Fixkamo-internal

Remove datagrid field-level filters and floating filter row

Disabled all column filters and the floating filter input row so the grid shows only column headers and data rows. Also removed the Filters tool panel from the ...

kamo·4mo ago
Fixkamo-internal

Move Upload button into DocManager toolbar

The Upload trigger was only in the /doc/manager page's actions prop, making it invisible when DocManager is embedded in other pages. Moved the Upload button dir...

kamo·4mo ago
Fixkamo-internal

Allow upload options to scroll in embedded DocManager

Uploads tab container was overflow:hidden, clipping per-file options (description, folder, doc type, access level) in height-constrained embedded contexts. Chan...

kamo·4mo ago
Fixkamo-internal

Fix 400 feed error and add communications sub-tabs with URL params

Fix double-? bug in MediaStream where feedEndpoint already contained query params but the fetch appended ?page=... instead of &page=..., causing a malformed URL...

kamo·4mo ago
Fixkamo-internal

Make 'All Leads' a real menu item with icons in agent filter

- Replace placeholder empty-value item with __ALL__ so the dropdown never shows blank when All Leads is selected - Add Group icon to All Leads and PersonOff i...

kamo·4mo ago
Featurekamo-internal

ASSIGN_LEADS right, agent filter unassigned option, grid column cleanup

- Gate 'Unassigned Leads' agent filter option behind ASSIGN_LEADS right - 'All Leads' excludes unassigned leads for members without the right - Remove Street, P...

kamo·4mo ago
Featurekamo-internal

Add Assign To field to Market & Assignment section on /leads/new

- Fetches active team members from **************** on mount - Groups members by department with alphabetically sorted departments and members - Formats names a...

kamo·4mo ago
Featurekamo-internal

Update Platform Administration cards to match unified tab structure

Replace the two stale cards (Organizations standalone page + Configuration) with five cards matching the actual tabs: General, Organizations, VOIP & SMS, System...

kamo·4mo ago
Featurekamo-internal

Full-width grid layout and move sync trigger from Advanced tab

- Redesign VOIP & SMS tab to use full content-area width: pipeline stats span the top row, Recording Processing and Global Sync Schedule sit side by side in...

kamo·4mo ago
Featurekamo-internal

Merge Organizations into Configuration page with unified tab nav

- Add Organizations as a tab in **************** (General · Organizations · VOIP & SMS · System User · Advanced order) - Delete **************** standalone page...

kamo·4mo ago
Featurekamo-internal

Surface PHONE_SERVER_ID on phone-instance overview tab

Operators configuring kamo-asterisk-support on a FreePBX host need to paste the matching VoipProviderInstance UUID into the helper's config file as PHONE_SERVER...

Kamo·4mo ago
Featurekamo-internal

Wire call features settings end-to-end through provider abstraction

- voipApi: add CallFeaturesDto type, getCallFeatures() and setCallFeatures() API calls - useSoftphone: add **************** state loaded from API on startup; ...

kamo·4mo ago
Featurekamo-internal

VOIP_RECORDING_UPLOADS scope + recording pipeline counters/tunables

- APIManager: new VOIP_RECORDING_UPLOADS scope option (used by kamo-asterisk-support on FreePBX hosts to upload voicemail and call recordings via APIService)....

Kamo·4mo ago
Featurekamo-internal

Replace mock contacts tab with fully-featured SoftphoneContacts

Extracts a new SoftphoneContacts component that wires the softphone contacts tab to the real contacts API via useContacts(). Replaces 4 hardcoded mock contacts ...

kamo·4mo ago
Fixkamo-internal

Cast voiceActivityDetection to bypass missing TS DOM type

voiceActivityDetection is a valid WebRTC MediaTrackConstraints property but is absent from TypeScript's DOM lib, causing a type error at build time.

kamo·4mo ago
Featurekamo-internal

Wire VAD + push-to-talk; remove unimplementable settings

- vadEnabled now passed as voiceActivityDetection in buildAudioConstraints so the browser honours the toggle when opening mic for a call - pushToTalk auto-mut...

kamo·4mo ago
April 26, 2026
Otherkamo-internal

debug+fix(softphone): inspect <audio> element state, auto-recover when bytes arrive but sound stays silent

WebRTC stats from a recent call showed inboundBytes=39680 / receivers unmuted / ICE pair succeeded — the bridge was delivering audio to the browser — yet the op...

kamo·4mo ago
Featurekamo-internal

Scrollable ringtone list with search filter

Make the ringtone catalog panel match the right-column height and scroll vertically when the list overflows, so members can navigate as more tones are added. Ad...

kamo·4mo ago
Otherkamo-internal

Dump WebRTC state again 5s after Established + track all state changes

The Established-time dump always shows receivers with muted=true because DTLS handshake and SRTP keying haven't completed yet. To diagnose "call connects but no...

kamo·4mo ago
Featurekamo-internal

Add seven more ringtones to the catalog

Adds Battleship Horn, Demon Horn, Land Line, 1985 Ring, Office Phone, Ringing Old Phone, and Olé under /public/sounds/ringtones/ and wires them into RINGTONE_CA...

kamo·4mo ago
Featurekamo-internal

Add Sci-Fi and Buzzer ringtones to the catalog

Drops two new ringtone assets under /public/sounds/ringtones/ and registers them in RINGTONE_CATALOG so they appear in the Ringtones subtab and can be set as th...

kamo·4mo ago
Otherkamo-internal

Dump WebRTC negotiation state on Established

To diagnose "call connects but no audio between parties", log the peer-connection state (ice / dtls / signaling) along with sender and receiver tracks (kind / e...

kamo·4mo ago
Fixkamo-internal

Live audio that survives load-interrupts, centered spinner, outbound ringback

Three coordinated fixes for the in-call audio path: 1. AbortError on remoteAudio.play() (visible in production console as "The play() request was interrupte...

kamo·4mo ago
Fixkamo-internal

Hangup tears down ALL live sessions, not just the primary

Self-call edge case left a session leaked: dialing your own extension creates an outbound session, then Asterisk loops the call back as a second inbound session...

kamo·4mo ago
Fixkamo-internal

Instant connecting feedback on outbound dial

Same problem the inbound Answer button had: clicking Call kicked off the SIP INVITE round-trip (1-3 seconds) but the button kept its idle "Call" appearance the ...

kamo·4mo ago
Fixkamo-internal

Connecting animation + audio that actually plays + ringtone unlock

Three coordinated fixes for the inbound-call path: 1. Visual feedback while accepting. Clicking Answer left both buttons responsive-looking but unresponsive...

kamo·4mo ago
Fixkamo-internal

Mount SoftphoneProvider above ToolDock so tool windows can read it

Opening the Softphone popup crashed the page with "This page couldn't load" because tool windows mount inside ToolDock, which lives in ToolProviders — a SIBLING...

kamo·4mo 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