Live Change Log

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

17,865
Total Changes
4,581
Features
4,512
Fixes
32
Projects
Filter by project
All Projects17,865AIService110APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService348InitializerService299KBService74KlusterServices539MCPGatewayService43MediaService460RAGService61SecurityService1,519TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,553kamo-login318kamo-marketing584kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,320kamo-signer-monorepo50kamolos102
Filter by type
All TypesBuild24CI522Chore670Docs226Feature4,581Fix4,512Other6,781Performance136Refactor273Revert23Style48Test68Upgrade1
April 26, 2026
Fixkamo-internal

Smart multi-column layout for Add Lead form

Restructure the page into a top-level grid so sections compose horizontally instead of stretching individual fields: - Market & Assignment uses a 3-col interio...

kamo·4mo ago
Fixkamo-internal

Use /api/security/members/names for assigned-member name resolution

The by-department endpoint filters to active TeamMembers only, missing assignments to base Members or inactive members. Switch to /names which returns all membe...

kamo·4mo ago
FeatureSecurityService

Add /names endpoint returning id→name for all members regardless of state

The by-department endpoint filters to active TeamMembers only, but extension assignments may reference base Members or inactive members. Use /names for ID→name ...

Kamo·4mo ago
Refactorkamo-internal

Make Best Contact Time a free-text field

Replace the Morning/Afternoon/Evening dropdown on the Add Lead and Lead View edit forms with a plain text input so members can describe specific windows (e.g., ...

kamo·4mo ago
Fixkamo-internal

Full-width Add Lead form and clearance for sticky footer

Drop the 1200px max-width on /leads/new so the form spans the page area, and bump bottom padding so the sticky action bar no longer overlaps the last form secti...

kamo·4mo ago
Featurekamo-internal

Single-lead Add Lead form at /leads/new

Refactor Add Lead from an in-page multi-tab pane into a dedicated route at /leads/new so it can be linked directly. The current market is passed through as ?mar...

kamo·4mo ago
FeatureSecurityService

Add **************** endpoint

Returns salesType, subType, and customForms for a market by marketId so the Add Lead form can render sub-type fields and intake custom forms without first creat...

Kamo·4mo ago
FixSecurityService

Resolve display name with correct priority in by-department endpoint

Priority: member.usernameAlias → user.name.formatFull() → user.alias → user.username

Kamo·4mo ago
Featurekamo-shared-library

Add isDisplayOnIntake to create/update request DTOs

Kamo·4mo ago
Featurekamo-shared-library

Expose isDisplayOnIntake in FormFieldDTO

Kamo·4mo ago
Featurekamo-shared-library

Add IS_DISPLAY_ON_INTAKE column to FormField entity

Kamo·4mo ago
Fixkamo-internal

Probe master model endpoint and fix appliedModel org ID

- Replace appliedModel.source-based gate with a direct probe of /api/security/master-model on mount; r.ok=false (409) means the org is governed by a branch ...

kamo·4mo ago
Chorekamo-marketing

Update locale translations and hash [skip ci]

Kamo CI·4mo ago
Fixkamo-internal

Gate censorship tab options by applied model constraints

- Hide EDIT MASTER MODEL button when org is governed by a branch type (use appliedModel.source instead of unreliable org context branchTypeID) - Hide ATF fiel...

kamo·4mo ago
Featurekamo-internal

Persist active mailbox in URL query params

Switching mailboxes now updates the URL (?mailboxType, ?mailboxId, ?mailbox) so refreshing the browser restores the same mailbox. MessageBrowser reads window.lo...

kamo·4mo ago
Featurekamo-marketing

Add Flowroute to integrations hub page

Kamo·4mo ago
Featurekamo-marketing

Add Flowroute to INTEGRATED WITH banner

Kamo·4mo ago
Fixkamo-internal

Mark-as-read and message fetch for shared/member mailboxes

Classic mode now loads shared mailbox messages via the correct /messages/{folder} endpoint (was calling the non-existent /conversations endpoint). Fetching a fu...

kamo·4mo ago
FixEmailService

Mark-as-read for shared and member mailboxes

EmailController.setFlags now accepts an optional mailboxId query param and routes through resolveProviderWithMailbox so member-mailbox flags are set against the...

Kamo·4mo ago
Featurekamo-internal

Show accurate provider connection status from isConnected field

Replaces the old logic that showed "Connected" for any provider with no sync error (including brand-new providers that were never tested). New three-state badg...

kamo·4mo ago
FeatureVOIPService

Persist connection test result to isConnected field

- test() endpoint saves isConnected=true/false to DB after every health check - update() resets isConnected to null when configJson changes (credentials may h...

Kamo·4mo ago
Featurekamo-shared-library

Add isConnected field to VoipProviderInstance

Nullable Boolean: null = never tested, true = last test passed, false = failed. Requires KamoInitializerService schema migration to add IS_CONNECTED column.

Kamo·4mo ago
FixVOIPService

Use extensionId as external ID, not Relay node id

FreePBX returns the same Relay id (ZXh0ZW5zaW9uOg== = "extension:") for every extension because the id field is not populated. Using it caused all extensions to...

Kamo·4mo ago
FixEmailService

Handle IMAPInputStream in getMessage to prevent ClassCastException

JavaMail can return an IMAPInputStream instead of a decoded String from part.getContent() when message content has not been pre-fetched. The direct (String) cas...

Kamo·4mo ago
Featurekamo-marketing

Show active offer banner with live millisecond countdown

Fetches the active promotion server-side on the home page and renders a HeroOfferBanner between the subheadline and the free-forever callout. The banner shows t...

Kamo·4mo ago
Featurekamo-internal

Wire Available/Unavailable switch to backend and fix OFFLINE presence bug

- Rename Paused/Active chip to Available/Unavailable in NavTop - Fetch initial availability on mount and persist toggles via new me/availability API - Add isAva...

kamo·4mo ago
FeatureInitializerService

Backfill is_available = TRUE for existing members

Kamo·4mo ago
Featurekamo-shared-library

Add isAvailable field for member availability toggle

Kamo·4mo ago
FixVOIPService

Rewrite all GQL queries/mutations against live schema introspection

Verified every field name and type against the actual FreePBX 17 schema. Full set of corrections: Queries: - fetchAllExtensions: remove non-existent 'voicemail...

Kamo·4mo ago
Fixkamo-internal

Pass selectedFolder to ThreadDetailView so email:folder-changed fires with a valid folder

conversation.folder is always undefined because the Java ConversationEntity has folderIds (text[]) not a folder string field. This caused loadThread to call mar...

kamo·4mo ago
FixVOIPService

Correct GraphQL field name to fetchAsteriskDetails

FreePBX API returns "Did you mean fetchAsteriskDetails?" — rename the health check query and its data path accessor accordingly.

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