Live Change Log

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

18,037
Total Changes
4,666
Features
4,589
Fixes
32
Projects
Filter by project
All Projects18,037AIService114APIService140BillingService133ConversionService87DaemonService109DocsService191ESigService80EmailService391InitializerService303KBService76KlusterServices550MCPGatewayService45MediaService465RAGService63SecurityService1,532TranslateService47VOIPService175VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,605kamo-login319kamo-marketing590kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,331kamo-signer-monorepo50kamolos104
Filter by type
All TypesBuild24CI523Chore670Docs231Feature4,666Fix4,589Other6,781Performance136Refactor274Revert23Style48Test71Upgrade1
April 29, 2026
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·4mo ago
Fixkamo-login

Refuse when session orgID does not match host org

auto-login accepted any *** and minted an OTK pointing back at it, regardless of which org the destination internal.* host belongs to. A stale or cross-org *** ...

Kamo·4mo 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·4mo ago
FeatureSecurityService

Mint owner ***+OTK on org create

After createOrganizationOwner, mint a fresh *** bound to the new owner TeamMember and return its OTK alongside id/members. Without this the creator stays on the...

Kamo·4mo 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·4mo 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·4mo 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·4mo 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·4mo 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·4mo ago
Revertkamo-shared-library

Remove @PostConstruct COMP provisioner — fix existing orders directly in DB

approveOrder() already handles new COMP orders. One-time data gap for existing orders is corrected directly in the database.

Kamo·4mo ago
RefactorSecurityService

Remove manual provision-comp endpoint — startup self-heals

COMP orders are now provisioned automatically on SecurityService startup via SubscriptionService @PostConstruct. Manual endpoint no longer needed.

Kamo·4mo ago
Featurekamo-shared-library

Self-heal unprovisioned COMP orders on startup

On @PostConstruct, scan all APPROVED COMP orders and provision any that lack an AccountSubscription. Idempotent — find-or-create means safe to run repeatedly.

Kamo·4mo ago
Fixkamo-shared-library

Use CommerceMarket.getId() instead of getUid() in provisionCompSubscription

CommerceMarket uses @Id UUID id (not uid), so Lombok generates getId().

Kamo·4mo 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·4mo ago
FeatureSecurityService

Add provision-comp endpoint to activate COMP subscription from approved order

POST **************** calls **************** then invalidates entitlements for the target org via EntitlementService.

Kamo·4mo ago
Featurekamo-shared-library

COMP order approval auto-provisions AccountSubscription and assigns license

- SubscriptionOrder: add targetOrganization (nullable FK to orgs) - **************** add targetOrganizationId string - AccountRepository: add findByPrimaryMembe...

Kamo·4mo ago
Fixkamo-internal

CustomerMemberId is member ID string, resolve accounts by primaryMemberId

- posApi: AccountSummary uid string, add primaryMemberId; **************** customerMemberId string; **************** customerId string - SubscriptionOrderWizard...

kamo·4mo ago
Fixkamo-shared-library

Serialize customerMemberId as string to preserve Long precision

- AccountSummaryDTO: annotate uid with **************** and add primaryMemberId string field populated from primary_member_id - CreateSubscriptionOrderRequest: ...

Kamo·4mo ago
Featurekamo-internal

Replace click-to-open with action popover + size controls

Clicking a hex head now opens a polished glass-morphism popover with contextual actions instead of immediately opening its tool window. Member chat heads expose...

kamo·4mo ago
FeatureInitializerService

Add MEMBER_UI_PREFERENCES table (order 60)

Idempotent CREATE for the generic per-member UI-preference store backing the hex-head popover size selector and future per-member UI settings. Schema mirrors th...

Kamo·4mo ago
FeatureSecurityService

Add MemberUiPreferenceController for per-member UI settings

Backs the new hex-head popover size selector and any future small per- member UI preference. Endpoints under /api/security/members/me/ui- preferences resolve th...

Kamo·4mo ago
Featurekamo-shared-library

Add MemberUiPreference entity for per-member UI prefs

Generic per-member UI preference store (memberId, prefKey, JSONB value) for small persisted UI settings. First consumer is the hex-head popover size selector.

Kamo·4mo ago
Fixkamo-internal

Complete next-intl for System Diagnostics

Wire remaining MySQL, Redis, statistics, request, and accordion UI copy to components.settings.diagnostics keys; use locale-aware time and translated heap badge...

kamo·4mo ago
Otherkamo-internal

Revert "feat(billing): wire FeaturesManager to platform subscription for child-org gating"

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

kamo·4mo ago
OtherSecurityService

Revert "feat(billing): add platform-subscription endpoint for cross-org feature gating"

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

Kamo·4mo ago
Featurekamo-internal

Wire FeaturesManager to platform subscription for child-org gating

FeaturesManager was calling legacy **************** which throws (ungated fallback) instead of reading the real platform subscription. Now calls **************...

kamo·4mo ago
FeatureSecurityService

Add platform-subscription endpoint for cross-org feature gating

Child-org admins (like GNosia's owner Daniel) have their COMP subscription orders on the root KamoCRM org, not on their own org. FeaturesManager was querying t...

Kamo·4mo ago
Fixkamo-internal

Legacy getCurrentSubscription stub must throw, not return null

Returning null made FeaturesManager treat every org as having no subscription (billingLoaded=true, hasSubscription=false), locking all feature toggles behind an...

kamo·4mo ago
Featurekamo-internal

Use translated aria-label for SettingsView tabs

Reads **************** from next-intl.

kamo·4mo ago
Fixkamo-internal

Ambient json modules for gitignored messages/*.json imports

`tsc` and the IDE resolve `messages/` JSON after merge without requiring committed files under messages/. Extend include for types/**/*.d.ts.

kamo·4mo ago
Featurekamo-internal

I18n for legacy hub content/sidebar via settingsLegacyHub

Replace hard-coded English with next-intl. Introduces stable topic id constants; activeTopic is compared against ids instead of translated display strings.

kamo·4mo ago
Refactorkamo-internal

Scope SettingsSearchBar to components.settings namespace

Use **************** with searchBar.* keys instead of global t() with full dotted paths.

kamo·4mo ago
Featurekamo-internal

Wire landing page to settingsLanding translations

Replace hardcoded feature cards and section copy with useTranslations- backed strings from **************** including ICU branch label for branch types cards. C...

kamo·4mo ago
Fixkamo-internal

Move account settings help panels to message keys

Replace all hardcoded help copy on the organization account page with scoped useTranslations keys. Extend i18n-audit to report files missing translation hooks f...

kamo·4mo ago
Fixkamo-internal

Wire organization account hero and tabs to i18n keys

Use **************** strings for SettingsView title, subtitle, and tab labels so the UI shows translated copy instead of raw placeholders left in dictionary ove...

kamo·4mo ago
Chorekamo-internal

Empty commit

kamo·4mo ago
Featurekamo-marketing

Move translations to kamo-translation-dictionary

All 22 locale files move to the centralized kamo-translation-dictionary repo. The CI now clones that repo and copies the kamo-marketing/ folder into messages/ b...

Kamo·4mo ago
Featurekamo-internal

Move translations to kamo-translation-dictionary

All 22 locale files move to the centralized kamo-translation-dictionary repo. The CI now clones that repo and copies the kamo-internal/ folder into messages/ be...

kamo·4mo ago
Chorekamo-internal

Checkpoint bn [skip ci]

Kamo CI·4mo ago
Chorekamo-internal

Checkpoint ar [skip ci]

Kamo CI·4mo ago
Chorekamo-internal

Checkpoint fr [skip ci]

Kamo CI·4mo ago
Chorekamo-internal

Checkpoint es [skip ci]

Kamo CI·4mo ago
Chorekamo-internal

Checkpoint hi [skip ci]

Kamo CI·4mo ago
Chorekamo-internal

Checkpoint zh [skip ci]

Kamo CI·4mo ago
Featurekamo-internal

Wire MUI Tooltip titles through common.actions and common.tooltips

Replace literal single-line Tooltip title strings with tCommon("actions.*") or tCommon("tooltips.*"), merge keys into messages/en.json, and fix nested component...

kamo·4mo ago
Chorekamo-internal

Sync translation hash [skip ci]

Kamo CI·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