KamoCRM

Live Change Log

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

May 4, 2026
Otherkamo-internal

Translate remaining UI strings outside main batches

NavInfo (placeholder name), NavTab (Print/Share buttons), NotImplemented (message), SecureIFrame (iframe title), useUserInfo HOCs (Loading/Please log in/permiss...

kamo·46m ago
Otherkamo-internal

Translate POS6 (10 final files) — pos batch complete

97 strings across MarketCardGrid, MarketAgreementTemplates, MarketRentalAssets, MarketSubscriptionPlans, and 6 SubscriptionPlan* tabs (AddOns, Bundles, Details,...

kamo·51m ago
Otherkamo-internal

Translate provider help (10 setup guides)

117 strings across BigCommerce, Ecwid, Magento, OpenCart, PrestaShop, Shift4Shop, Shopify, Squarespace, Wix, WooCommerce setup guides. Step text uses t.rich() w...

kamo·1h ago
Otherkamo-internal

Translate POS4 ****************

74 strings. **************** **************** keys.

kamo·1h ago
Otherkamo-internal

Translate POS3 ****************

92 strings. **************** **************** keys.

kamo·1h ago
Otherkamo-internal

Translate MarketProducts + MarketCustomers

118 strings. **************** marketCustomers}.* keys with ICU plural patterns and refactored SUB_VIEWS/ATTR_TYPE_LABELS to hold translation keys instead of lit...

kamo·1h ago
Otherkamo-internal

Translate MarketTaxShipping + MarketDiscounts

151 strings (78+73). **************** marketDiscounts}.* keys with ICU plural patterns for method/entry counts. DiscountTypeBadge refactored from helper into su...

kamo·1h ago
Otherkamo-internal

Translate E5 (16 small files) — email batch complete

61 strings. **************** **************** **************** **************** signatureTemplateSelector}.* keys. All 27 email files now at 0 audit hits.

kamo·1h ago
Chorekamo-internal

Trigger redeploy

kamo·2h ago
Otherkamo-internal

Translate E4 ****************

62 strings. **************** **************** keys.

kamo·6h ago
Otherkamo-internal

Translate E3 ****************

74 strings. **************** domainManager,caldavPersonal}.* keys.

kamo·6h ago
Otherkamo-internal

Translate E2 ****************

92 strings. **************** **************** keys.

kamo·6h ago
Otherkamo-internal

Translate EmailTemplateEdit (114 strings)

Largest file in the email batch. Refactored module-level legalTextOptions constant into buildLegalTextOptions(t) function for runtime translation. Inner EmailFr...

kamo·6h ago
Otherkamo-internal

Translate P5 (6 medium tabs)

96 strings across VerticalSection, EngagementsTab, RetailFulfillmentTab, RetailCustomersTab, VendorsTab, SignupsTab. Uses t() with **************** ************...

kamo·7h ago
Otherkamo-internal

Translate Commitments tab

34 strings. Uses t() with **************** keys.

kamo·7h ago
Otherkamo-internal

Translate P3 (Applications+Dashboard) + P4

7 files. P3 partial — Commitments reverted (rate-limit kill mid-batch), Applications and Dashboard salvaged with 0 audit hits. P4 complete (ServiceRequests, Ret...

kamo·7h ago
Otherkamo-internal

Translate WorkOrders + Procurement tabs

116 strings. Reused existing **************** procurementTab keys aggressively plus common.fields/actions/states.

kamo·19h ago
Otherkamo-internal

Translate Bookings + Orders tabs

101 strings. Reused existing **************** keys plus common.* (status, dates, fields, actions).

kamo·19h ago
Otherkamo-internal

Translate 5 essential settings managers

206 strings across DepartmentManager, JobTitleManager, LabelManager, SecurityRoleManager, SubdomainBranchesDialog. Uses t() with **************** **************...

kamo·19h ago
Otherkamo-internal

Translate 6 security settings tabs

195 strings across APIManager, AccessBlockManager, OAuth2Manager, SuspiciousManager, SystemAccessLogsManager, SystemDebug. Uses t() with **************** access...

kamo·19h ago
Otherkamo-internal

Translate 7 account settings components

130 strings across BranchSetupManager, DefaultRoleTemplatesSection, FeaturesManager, RelationshipManager, **************** **************** StatsManager. Uses t...

kamo·19h ago
Otherkamo-internal

Translate 6 AI settings tabs

98 strings across AiGeneralSettings, McpServersTab, ProviderSetupTab, SalesAgentSetupTab, SecurityModelsTab, UsageOverviewTab. Uses t() with **************** us...

kamo·20h ago
Otherkamo-internal

Translate all 4 webinar files

LeadWebinarsSection, MyWebinarsTab, WebinarScheduleWizard, settings/ WebinarSettingsTab. Uses t() with **************** scheduleWizard,settings}.* keys. Reused ...

kamo·20h ago
Otherkamo-internal

Translate OrderWizard

42 strings. Uses t() with **************** keys. Reused common.actions/states/fields. Existing tUi placeholder hook preserved alongside new top-level t.

kamo·20h ago
Otherkamo-internal

Translate ****************

3 files (94 strings). Extracted agreement template defaults (HTML body, sample data, type colors, helper) into a sibling .ts file so the audit no longer flags t...

kamo·20h ago
Otherkamo-internal

Translate AddOns/Bundles/VolumeDiscounts

3 files (57 strings). Uses t() with **************** bundles,volumeDiscounts}.* keys. Reused common.actions/fields/states.

kamo·20h ago
Otherkamo-internal

Translate MatrixCell + DashboardCards

Partial start of subscription batch — 2 small files (5 strings): MatrixCell "Unlimited" pill labels in ReadMode and NumericEditor; SubscriptionDashboardCards ti...

kamo·20h ago
Otherkamo-internal

Translate UI

30 files: leads (BusinessCard/Header/Manager); tools (ai-chat 5 files, calculator 6 files, media-player, message 2 files, sms 2 files); image-to-svg ***********...

kamo·20h ago
May 3, 2026
Otherkamo-internal

Translate UI strings

27 files: **************** **************** ManageSourcesDialog}; **************** **************** **************** messages/{ConversationListView, ***********...

kamo·1d ago
Otherkamo-internal

Translate settings features components

12 files in **************** meets: **************** settings tabs. phone: multi/AggregatedTabs **************** and multi/ProvidersTab. docs: AssocConfigPanel,...

kamo·1d ago
Otherkamo-internal

Translate CRM settings components

11 files in **************** CustomFormManager, FieldMappingInterface, LeadAutoImportManager, LeadManualImportManager, LeadMarketManager, LeadStatusLabelManager...

kamo·1d ago
Otherkamo-internal

Translate small components subdirs

24 files across **************** **************** hardcoded UI strings now use t() with keys grouped by directory under components.* namespace. SmsChatTab.tsx d...

kamo·1d ago
Otherkamo-internal

Translate error/loading/not-found pages

Use t() for ERROR badge, headline, subtitle, action buttons, and support link on error.tsx; loading message on loading.tsx; random message and description array...

kamo·1d ago
Otherkamo-internal

Translate hardcoded UI

commerce (10 files): applications, bookings, commitments, orders, procurement, requests, service, service-requests, signups, subscriptions detail pages. setting...

kamo·1d ago
May 1, 2026
FeatureKlusterServices

Add pricing@kamocrm.com mailbox and external IMAP NodePort

- New Service mail/dovecot-imap-external (NodePort 30143 -> 143) so IMAP can be reached from outside the cluster on $NODE:30143. - Seed pricing@kamocrm.com in...

Kamo·2d ago
FixMediaService

Publish NATS CREATE event after transaction commit to fix image attachment race

The NATS message was published inside the @Transactional body, which meant recipients could receive the CREATE event and request the image via /imaging/proxy/{o...

Kamo·3d ago
Featurekamo-internal

Redesign ChatsList rows — elegant layout, no horizontal scroll, online dots, unread badge, relative timestamps

kamo·3d ago
FixMediaService

Serialize attachments in WS relay and message history; allow attachment-only sends

Three bugs fixed: 1. ChatSessionSubscriptionManager was building the STOMP messageMap manually and omitting attachments, sourceLanguageId, readMemberId, msg...

Kamo·3d ago
Fixkamo-shared-library

Add attachments and event fields to ChatMessageDto; ignore unknown fields

ChatMessageDto was missing `attachments`, `readMemberId`, `msgIdLastViewed`, `dateLastViewed`, `addedMemberId`, `objImgId`, `transitMemberId`, and `isJoin` fiel...

Kamo·3d ago
ChoreMediaService

Kick MediaService redeploy for getChatSessions NPE fix

Kamo·3d ago
FixMediaService

Fix NPE in getChatSessions from Map.of() rejecting null nextcoder

java.util.Map.of() throws NullPointerException when nextcoder is null (no more pages). Replace with HashMap that accepts null values. Also wrap entire handler i...

Kamo·3d ago
Fixkamo-internal

Increase gap between Meet and Add Member toolbar icons

kamo·3d ago
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·3d ago
FeatureMediaService

Add GET /sessions/{guid}/members endpoint with display-name priority

Returns member list with name resolved via usernameAlias → fullName → alias → username, matching the same priority as the chat sessions list. This feeds ChatBox...

Kamo·3d ago
FixMediaService

Fix upload 500 (missing EmbRecordState) and empty chats tab (Timestamp cast)

Defect A: ChatAttachmentService.upload omitted **************** causing a NOT NULL violation on imgs.is_active. Added the default recordState. Also hardened Cha...

Kamo·3d ago
CIkamo-internal

Retry build after transient npm ci ECONNRESET

kamo·3d ago
CIMediaService

Rebuild with updated kamo-shared-library (paged chat query fix)

Kamo·3d ago
FixMediaService

Prefer usernameAlias over User.name in memberDisplayName

Switches display name priority to: Member.usernameAlias → User.name → User.alias → User.username. Also includes the paged query dispatch fix from the previous c...

Kamo·3d 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·3d 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·3d ago