KamoCRM

Live Change Log

Every feature, fix and improvement, posted as it ships. Nothing is held back for a launch.

15,120
Total Changes
5,169
Features
4,935
Fixes
30
Projects
Filter by project
All Projects15,120AIService197APIService161BillingService143ConversionService107DaemonService129DocsService215ESigService88EmailService518InitializerService318KBService105KlusterServices697MCPGatewayService85MediaService546RAGService71SecurityService1,658TranslateService55VOIPService205VectorService11kamo-apps25kamo-asterisk-support24kamo-capcha17kamo-capcha-widget4kamo-internal6,937kamo-login330kamo-marketing625kamo-nowww20kamo-register213kamo-shared-library1,455kamo-signer-monorepo53kamolos108
Filter by type
All TypesBuild11CI523Chore738Docs2,167Feature5,169Fix4,935Other986Performance157Refactor274Revert23Style42Test94Upgrade1
May 1, 2026
Fixkamo-internal

Defects C/D/E — title display name, toolbar layout, header lift

Defect C: Add GET proxy for /sessions/{guid}/members so ChatBox.loadMembers() can populate the SessionMember.name field. ChatTool already uses members[0].name f...

kamo·5mo ago
Featurekamo-internal

Derive and dispatch tool window title from session members

Adds onMembersChange callback to ChatBox; ChatTool derives the title (single name for 1-on-1, or '<name> (+N more)' for groups) and dispatches tool:title to upd...

kamo·5mo ago
Refactorkamo-internal

Collapse toolbar, remove ChatHeader, add members intro row

- Delete ChatHeader row from embedded chat; move Add Member icon into unified toolbar - Toolbar: search input on left, VideoCall icon + PersonAdd icon + scroll-...

kamo·5mo ago
Featurekamo-internal

Lift search above tab strip, share query across Members and Chats tabs

Moves the search TextField from MemberList into NavTopPanel above the Tabs. Passes searchQuery as a prop to both MemberList and ChatsList so a single field filt...

kamo·5mo ago
Fixkamo-internal

Show upload error toast in Composer when attachments fail

Catches errors thrown by uploadAll() and renders an MUI Alert above the input row. Root cause of Defect 4 was the missing MinIO bucket (imaging-chat-attachments...

kamo·5mo ago
Fixkamo-internal

Empty Chats tab — frontend already expects {rows} paged shape (no change needed)

The ChatsList component already reads data.rows. Backend fix (shared-lib + MediaService) is the root cause: HAVING CAST(null AS TIMESTAMP) IS NULL did not work ...

kamo·5mo ago
Fixkamo-internal

Drop redundant chat header buttons; integrate Members/Chats tabs with panel design

ChatHeader had its own minimize/close IconButtons but the chat tool window chrome already provides those affordances — they were duplicated when embedded. ChatH...

kamo·5mo ago
Fixkamo-internal

Drop unused @ts-expect-error on streaming fetch body

The `as RequestInit` cast already silences the type error; the directive is redundant under TS strict mode and breaks the production build.

kamo·5mo ago
Featurekamo-internal

Live chats-list updates via NATS unread channel

kamo·5mo ago
Featurekamo-internal

Inline attachment rendering and lightbox

kamo·5mo ago
Chorekamo-internal

Trigger ci/cd

kamo·5mo ago
Featurekamo-internal

Proxy routes for find-or-create, members, attachments, imaging proxy, mute, revoke

Extract shared **************** helper to app/lib/mediaServiceUrl.ts. Add proxy routes: find-or-create, members, receipts, attachments (streaming), mutes, revok...

kamo·5mo ago
April 30, 2026
Featurekamo-internal

Distinguish actively-translating vs queued messages

The streaming queue was already strictly sequential (one fetch at a time), but every queued message rendered "Translating…" because they all shared the same pen...

kamo·5mo ago
Featurekamo-internal

Show error icon when a message fails to translate

When the per-message translate call returns translated:false, errors out, or times out, the chat bubble now renders a small red ErrorOutline icon in place of th...

kamo·5mo ago
Fixkamo-internal

Persist language change and show current language in tooltip

The members endpoint accepts PUT not PATCH, so the language picker's PATCH was silently ignored — Member.language never actually updated, which is why refreshin...

kamo·5mo ago
Fixkamo-internal

Forward query string on ****************

The Next.js proxy was dropping the request query string when forwarding to MediaService, which meant the chat history fetch's ?lang=<locale> param was silently ...

kamo·5mo ago
Featurekamo-internal

Stream message translations newest-first on language switch

When the user picks a new language (or opens an existing chat in a language different from the messages' source), every bubble that needs translation immediatel...

kamo·5mo ago
Otherkamo-internal

Revert "fix(settings): show Plans & Billing tab regardless of root-org status"

This reverts commit ****************

kamo·5mo ago
Featurekamo-internal

Translate chat messages into the viewer's language

Adds a "My Language" flag picker in NavTop (left of the email tool, separated by a vertical rule). Selecting a language writes back to Member.language and syncs...

kamo·5mo ago
Fixkamo-internal

Show Plans & Billing tab regardless of root-org status

The !isRootOrg gate hid the tab on root orgs and blocked org owners and self-viewers from reaching their billing page from "My Account". The PlansBillingTab its...

kamo·5mo ago
Otherkamo-internal

Translate hardcoded UI strings

setup/dns (6 files): page, AliasStatusTable, DnsProgressView, DnsProvisioningPanel, DomainEntryForm, ManualDnsGuide. settings (10 files): diagnostics, essential...

kamo·5mo ago
Fixkamo-internal

Drop in place — jump every member, no softPush on release

The drift on release was softPushCluster firing on the user-drop path. A mega-cluster's bounds extend in all directions from the anchor, so the PADDING-margin /...

kamo·5mo ago
Otherkamo-internal

Translate hardcoded UI strings

account/view: 40 strings reused from existing namespace (no new keys). kb (13 files): translate article editor, viewer, reviews, resources, versions, navigation...

kamo·5mo ago
Otherkamo-internal

Translate remaining hardcoded UI strings

Tasks page: Save Changes, Close, Add Task Item To Automation Stream, Edit title tooltip. Notes page: Dismiss, Loading notes, Delete Note dialog title. Doc manag...

kamo·5mo ago
Otherkamo-internal

Replace hardcoded English with t() across leads pages

Translate remaining hardcoded UI strings in allotments, new, reports, and view/[id] to use next-intl. Add scripts/i18n-audit.py to detect remaining hardcoded st...

kamo·5mo ago
Fixkamo-internal

Drop firmly in place — tail-only throw + jump() to clear velocity

The previous fix still let heads drift on release because: 1. Throw detection averaged velocity across the full 110ms window. A user who flicked then decele...

kamo·5mo ago
Fixkamo-internal

Drop in place after a paused drag instead of drifting

Two cooperating bugs caused dropped heads (single or post-gather) to fly off to seemingly random positions when the user dragged fast, slowed to a stop, then re...

kamo·5mo ago
Featurekamo-internal

Add Personal + Chat/Docs/Notes/KB/HRS sections

The /settings index showed no sections to non-admins because every existing section was gated on an admin right (CONFIGURE_SYSTEM, MANAGE_*_SETTINGS, MANAGE_ACC...

kamo·5mo ago
Featurekamo-internal

Rotate goal opening based on viewport aspect ratio

The goal frame now tilts by atan2(viewportH, viewportW) so its open right side aims toward the viewport diagonal — for 16:9 monitors the opening points ~29° sou...

kamo·5mo ago
Featurekamo-internal

Throw-to-remove goal with score/miss celebrations

A 132×132 goal frame appears in the upper-left whenever a head is in solo-drag or active-throw, offset 56px from the corner so heads can miss past or behind it....

kamo·5mo ago
April 29, 2026
Featurekamo-internal

Throw physics with pool-table collisions and comet trail

Flicking a head past the throw threshold launches it across the viewport under explicit physics (friction, edge bounce, head-vs-head elastic collisions). Slow d...

kamo·5mo ago
Fixkamo-internal

Cancel inherited drag velocity on release

The drag handler updates the head's motion value with rapid mx.set(nx) calls, which framer-motion uses to compute velocity. When the release path triggered a so...

kamo·5mo ago
Fixkamo-internal

Crispen hexagon outline at all sizes/states

Four sources of softness eliminated: - **************** on the SVG - **************** on the visible outline so the stroke width does not stretch (and blur) u...

kamo·5mo ago
Featurekamo-internal

Use server-minted OTK to switch into new org

Prefer the otk returned by POST /api/security/org over the follow-up /api/security/enter-as round-trip. The server now mints a fresh owner session as part of or...

kamo·5mo ago
Fixkamo-internal

Per-cluster spacing + same-size grouping rules

Cluster cell and hex adjacency are now derived from the cluster's largest member instead of the global scale, and follower MVs include a center-alignment offset...

kamo·5mo ago
Fixkamo-internal

Hide popover when Invite to Meeting opens the dialog

The popover used to stay open underneath the meeting dialog because the dialog was conditionally rendered inside the popover's target gate. Capture the invitee ...

kamo·5mo ago
Refactorkamo-internal

Rewrite drag/cluster system with magnetic snap and gather gesture

Replace the monolithic HexHeadGroup (847 lines) with a modular cluster engine under app/components/chat/hexheads/. Single source of truth: every head lives in a...

kamo·5mo ago
Fixkamo-internal

Robust English fallback for missing and empty locale translations

- mergeWithFallback now treats empty-string locale values as untranslated, falling back to the English value instead of rendering nothing - Replace bare NextI...

kamo·5mo ago
Fixkamo-internal

Update orders page account uid type from number to string

AccountSummary.uid is now a string (Long precision fix). Also remove parseInt comparison and type="number" from the manual account ID field.

kamo·5mo ago
Featurekamo-internal

Move availability status dropdown to left side before My Businesses

Relocates the status pill from the right action bar to the left welcome section, placing it between the greeting separator and My Businesses with a divider. Rem...

kamo·5mo ago

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing