KamoCRM

Live Change Log

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

17,662
Total Changes
6,080
Features
5,341
Fixes
30
Projects
Filter by project
All Projects17,662AIService261APIService174BillingService158ConversionService110DaemonService138DocsService223ESigService91EmailService587InitializerService329KBService151KlusterServices744MCPGatewayService261MediaService604RAGService79SecurityService1,874TranslateService62VOIPService250VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,413kamo-login340kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,682kamo-signer-monorepo57kamolos114
Filter by type
All TypesBuild16CI523Chore776Docs3,257Feature6,080Fix5,341Other998Performance165Refactor278Revert23Style42Test162Upgrade1
May 10, 2026
FixKlusterServices

Scala a 2 repliche per assorbire il traffico di sincronizzazione + runtime

Una singola replica è il collo di bottiglia per il flusso di lavoro di sincronizzazione del dizionario: ogni operaio di gunicorn gestisce una richiesta poi auto...

Kamo·5mo ago
FixTranslateService

Bump LibreTranslate per-call timeout fino a 90s; mantenere il singolo traslato retrocompat

Due follow-up per il ritry/failedKeys cambiano: 1. Per-call richiesta timeout era 30s. La produzione ha calli runtime (chat, notifiche, ecc.) colpendo lo stess...

Kamo·5mo ago
FixTranslateService

Recuperare gli errori transitori e le chiavi di superficie guasto (non falsi passanti)

Due modalità di guasto sono stati indistinguibili nella risposta, quindi lo script non poteva dir loro a parte e tenuto "tradurre" le stesse chiavi di inglese s...

Kamo·5mo ago
FixTranslateService

Alias zh -> zh-Hans così en->zh realmente traduce

LibreTranslate's /languages endpoint pubblicizza cinese sotto il codici specifici della regione "zh-Hans" e "zh-Hant" (mai nudo "zh"), anche se POST /translate ...

Kamo·5mo ago
May 9, 2026
FixEmailService

Conservare il nome del file originale e il tipo di contenuto sul download dell'allegato

I punti finali (entrambi i punti personali) e controller di posta elettronica condivisa) emettono Contenuto-Disposizione: allegato con nessun parametro nome fil...

Kamo·5mo ago
Fixkamo-internal

Immagini inline rotte, download di allegati e flicker view-pane

- Strip <img> con cid: src nella e-mail sanitizer così immagini incorporate non rendering come un'icona di immagini rotti e nascondere immagini che non riescono...

kamo·5mo ago
FixTranslateService

Guida obiettivi supportati da /languages, non elenco stale

Sono stati supportati i SUPPORTED TARGETS in codice duro, ma sono stati supportati non esistono pacchetti argos pubblici per quelli, quindi ogni en->sw / en->ta...

Kamo·5mo ago
FixKlusterServices

Goccia non riconosciuta --lavoratori arg causa crashloop

Il libretranslate CLI non accetta --lavoratori, solo il gunicorn processo dentro di esso. Passandolo ha causato il pod a fallire argparse su boot e CrashLoopBac...

Kamo·5mo ago
May 1, 2026
FixMediaService

Pubblicare NATS CREATE evento dopo la transazione si impegna a risolvere la gara di allegato immagine

Il messaggio NATS è stato pubblicato all'interno del corpo @Transactional, che significava i destinatari potrebbero ricevere l'evento CREATE e richiedere l'imma...

Kamo·6mo 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·6mo 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·6mo 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·6mo 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·6mo 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·6mo 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·6mo 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·6mo 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·6mo ago
FixMediaService

Use split First/After queries for chat sessions paged endpoint

Addresses empty Chats tab by dispatching to ****************

Kamo·6mo ago
Fixkamo-shared-library

Split findChatSessionsForMemberPaged into First/After to fix empty Chats tab

HAVING CAST(null AS TIMESTAMP) IS NULL did not evaluate as expected in CockroachDB,

Kamo·6mo ago
Fixkamo-internal

Goccia pulsanti intestazione di chat ridondanti; integrare le schede Membri/Cambia con il design del pannello

ChatHeader aveva una propria minimizzazione / chiudere IconButtons ma la finestra di chat tool cromo già fornisce quelle offerte — sono stati duplicati quando e...

kamo·6mo ago
Fixkamo-shared-library

Passare MediaObjTransit a @MapsId modello derivato-identità

@IdClass combinato con @Id @OneToOne non è supportato in modo affidabile in Hibernate 6 — JpaRepository <MediaObjTransit, inizializzazione UUID> fallisce con "n...

Kamo·6mo ago
Fixkamo-internal

Goccia @ts-expect-error in streaming fetch corpo

Il `come RequestInit` getta già silenzia l'errore di tipo; la direttiva è ridondante sotto TS modalità rigorosa e rompe la costruzione di produzione.

kamo·6mo ago
Fixkamo-shared-library

Aggiungi @IdClass per MediaObjTransit così i dati di primavera JPA possono esporre il suo ID derivato

Il metamodello di Spring Data richiede @IdClass per le entità la cui chiave principale è una @Id @OneToOne identificatore derivato. Senza di esso, JpaRepository...

Kamo·6mo ago
April 30, 2026
FixKlusterServices

Probe timeout 10s and 2 gunicorn workers

LibreTranslate's /languages probe blocks on the gunicorn worker event loop. With a single worker translating a long chat message, the probe times out at the def...

Kamo·6mo ago
FixMediaService

Raise client read timeout to 120s for long messages

LibreTranslate runs CPU-only argos models — a paragraph-length chat message takes 20-30s to translate, and longer ones can push past 60s. The 8-second read time...

Kamo·6mo 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·6mo ago
Fixkamo-internal

Attaccare le corde su..

Il proxy Next.js stava rilasciando la stringa di richiesta durante l'inoltro a MediaService, che significava la cronologia delle chat ?lang= param era silenzios...

kamo·6mo ago
FixSecurityService

Proprietario di zecca OTK con diritti di sovvenzione senza DB

Dopo aver assegnato l'Amministratore ruolo e scrive member rights applied, il blocco OTK-minting era rileggere quelle righe per mezzo di... dentro lo stesso @Tr...

Kamo·6mo 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·6mo 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·6mo 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·6mo 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·6mo ago
April 29, 2026
Fixkamo-internal

Cancellare la velocità di trascinamento ereditata sul rilascio

Il trascinatore aggiorna il valore di movimento della testa con mx.set rapido(nx) chiamate, che framer-motion utilizza per calcolare la velocità. Quando il rila...

kamo·6mo 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·6mo ago
Fixkamo-login

Rifiutare quando la sessione ogID non corrisponde a host org

auto-login ha accettato qualsiasi *** e ha coniato un OTK puntando indietro ad esso, indipendentemente da quale sia la destinazione interna.* host appartiene. U...

Kamo·6mo ago
Fixkamo-internal

Per-cluster spacing + regole di gruppo di stessa dimensione

La cella del cluster e l'adiacenza dell'esa sono ora derivati dal più grande cluster membro invece della scala globale, e gli MV seguinti includono un centro-al...

kamo·6mo ago
Fixkamo-internal

Nascondi popover quando Invite to Meeting apre la finestra di dialogo

Il popover usato per rimanere aperto sotto la finestra di dialogo della riunione perché il finestra di dialogo è stato condizionalmente reso all'interno del can...

kamo·6mo 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·6mo 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·6mo ago
Fixkamo-shared-library

Utilizzare CommerceMarket.getId() invece di getUid() nella fornituraCompSubscription

CommerceMarket utilizza @Id UUID id (non uid), quindi Lombok genera getId().

Kamo·6mo ago
Fixkamo-internal

CustomerMemberId è una stringa di ID membro, risolve i conti da primarioMemberId

- posApi: AccountSummary uid string, add primarioMemberId; *****************************************************************************************************...

kamo·6mo ago
Fixkamo-shared-library

Serializzare il clienteMemberId come stringa per preservare la precisione lunga

- AccountSummaryDTO: annotate uid con **************************************************************************************************************************...

Kamo·6mo 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·6mo ago
Fixkamo-internal

Legacy getCurrentSubscription stub deve lanciare, non restituire null

Ritorno null fatto FeaturesManager trattare ogni org come senza abbonamento (billingLoaded=true, hasSubscription=false), bloccando tutte le funzionalità alle sp...

kamo·6mo ago
Fixkamo-internal

Moduli ambientali json per messaggi gitignored/*.json importazioni

`tsc` e IDE risolvono i messaggi/` JSON dopo unione senza richiedere file impegnati sotto messaggi/. Esecuzione include per tipi/**/*.d.ts.

kamo·6mo ago
Fixkamo-internal

Spostare le impostazioni dell'account aiutare i pannelli ai tasti dei messaggi

Sostituire tutte le copie di aiuto codice duro sulla pagina dell'account dell'organizzazione con scopod useTasti di traduzione. Estendere i18n-audit per segnala...

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