KamoCRM

Live Change Log

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

17,644
Total Changes
6,069
Features
5,335
Fixes
30
Projects
Filter by project
All Projects17,644AIService260APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService583InitializerService329KBService151KlusterServices744MCPGatewayService261MediaService604RAGService79SecurityService1,872TranslateService62VOIPService250VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,408kamo-login340kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,678kamo-signer-monorepo56kamolos114
Filter by type
All TypesBuild16CI523Chore775Docs3,257Feature6,069Fix5,335Other998Performance165Refactor278Revert23Style42Test162Upgrade1
March 30, 2026
FixMediaService

Resolve org theme backgrounds not appearing in meet virtual backgrounds

- Add domain-based theme URL resolution for internal K8s service-to-service calls - getPublicBackgrounds now accepts optional domain param to derive correct the...

Kamo·7mo ago
FixMediaService

Upload meet backgrounds to public MinIO bucket with hash-based naming

Was uploading to private 'imaging-meet-recordings' bucket via **************** which caused: - MinIO region mismatch errors on the primary node - Connection tim...

Kamo·7mo ago
March 29, 2026
Fixkamo-internal

Rimuovere OTK lato client da upload multipart, aggiungere il debug di upload

Il client stava generando un OTK sprecato prima di caricare (il percorso Next.js genera il proprio server-side OTK per il backend). Rimuoveto il client OTK per ...

kamo·7mo ago
FixMediaService

Return serialization-safe Maps instead of raw JPA entities in MeetConfigController

All config/background endpoints were returning raw JPA entities with @ManyToOne(fetch=LAZY) Organization references. Jackson failed to serialize the Hibernate p...

Kamo·7mo ago
Fixkamo-internal

Semplifica il nome del display NavTop e corregge lo schema di URL MediaService

- Rimuovere il nome utenteAlias lookup da getDisplayName, utilizzare il record del membro direttamente - Fissare l'URL di MediaService K8s da https:8443 a http:...

kamo·7mo ago
Fixkamo-internal

Utilizzare forwardToApi per soddisfare gli upload di sfondo invece di fetch manuale

La presa manuale con l'inoltro di FormData stava rompendo i confini multipart. Ora ricostruisce FormData e utilizza in avantiToApi che gestisce correttamente le...

kamo·7mo ago
Fixkamo-shared-library

Utilizzare sottoquery per trovare gli sfondi tema org per l'adesione all'utente invece di partecipare direttamente

Il precedente INNER JOIN su tb.member ha escluso gli sfondi dove membro era NULL, che è la maggior parte degli sfondi di livello utente. Ora utilizza un sottoqu...

Kamo·7mo ago
FixMediaService

Remove duplicate endpoints from MeetController, add org-themes to MeetConfigController

MeetConfigController already handled config/background endpoints. The duplicate endpoints in MeetController caused ambiguous mapping. Added org-theme background...

Kamo·7mo ago
Fixkamo-internal

Porta il modello di firma direttamente da EmailService con OTK auth, aggiungi il debug logging

forwardToApi per /api/email/signature-templates è andato attraverso APIService gateway invece del proxy di posta di Next.js. Ora fetches direttamente da EmailSe...

kamo·7mo ago
Fixkamo-internal

Leggi sessione da Redis direttamente (stesso come /api/user-info), utilizzare forwardToApi per tutte le chiamate di servizio

Causa radice: il profilo del mittente ha mostrato 'il tuo collega' perché il sessione fetch chiamato un endpoint SecurityService non esistente. Firma è stato ma...

kamo·7mo ago
Fixkamo-internal

Replicate exact email composer data flow for meeting invite emails

The previous implementation only filled 8 of 20+ SignatureContent fields, causing malformed signatures with no images, name, or contact info. Now replicates th...

kamo·7mo ago
Fixkamo-internal

Pulire la riunione invitare e-mail — rimuovere il logo, risolvere soggetto / host, inserire correttamente messaggio personalizzato

Modifiche del modello: - immagine logo rimossa (maschera di firma maniglie di marcatura) - Rimossa "Ciao, il tuo collega ti ha invitato" - sostituito con person...

kamo·7mo ago
Fixkamo-internal

Le email di invito di riunione di Wrap con il modello di firma di org (header/footer/signature) e includono il messaggio personalizzato

Ora replica la stessa e-mail che avvolge il compositore e-mail: 1. Modello di firma di Fetches da EmailService (USER campo, fallback della SOCIETÀ) 2. Profilo m...

kamo·7mo ago
FixMediaService

Update health probes to HTTP port 80 to match new server config

Startup, readiness, and liveness probes were still pointing to port 8443 with HTTPS scheme, causing pod restart loops.

Kamo·7mo ago
Fixkamo-internal

Invia email di invito di riunione DIRECTLY a EmailService, non tramite gateway APIService

Causa radice: forwardToApi percorsi attraverso il gateway Java di APIService che non conserva i confini multipart FormData correttamente. L'email compositore fu...

kamo·7mo ago
Fixkamo-internal

Utilizzare sottili sfumature di sfondo sull'intestazione della pagina del calendario e la barra laterale

Abbina lo stile della pagina dei lead/allotments con sfondi di colore-mix leggeri invece di colori primari fortemente saturi.

kamo·7mo ago
FixMediaService

Switch MediaService to HTTP port 80 — TLS termination at Traefik

Internal cluster traffic doesn't need HTTPS. Traefik handles TLS for external clients. This aligns MediaService with all other services.

Kamo·7mo ago
Fixkamo-internal

Clear stale hexheads a pagina rinfrescare invece di ripristinare lo stato orfano

Minimized tool windows non sopravvivere rinfresco, in modo da ripristinare posizioni esagonali creato teste orfane con icone mancanti e gestori di clic non funz...

kamo·7mo ago
Fixkamo-internal

Nascondi schede specifiche dei membri quando l'ID membro è "nuovo" per evitare errori BAD REQUEST

Il /settings/member/new URL (dal pulsante "Add Team Member") viene catturato dal [memberID] percorso dinamico, causando AccountActivityTab, MembershipPermission...

kamo·7mo ago
Fixkamo-internal

60 OTK TTL per soddisfare le finestre, chat/email indipendenti invita che non bloccano sul backend

L'OTK aveva un TTL di 10 secondi. Quando la pagina kamo-meet ha caricato tutti i suoi beni e branding/overrides.js correva per convalidare OTK, era già scaduto ...

kamo·7mo ago
Fixkamo-internal

Invia chat invita tramite API di sessione di chat esistente, e-mail invita via multipart a EmailService

Chat invita: crea/ottene una sessione di chat via POST /api/media/sessions/chat poi invia l'invito dell'incontro come messaggio di testo in quella sessione. Uti...

kamo·7mo ago
FixAPIService

Use getServerName() instead of getHeader(Host) for original host resolution

ForwardedHeaderFilter consumes X-Forwarded-Host and adapts getServerName() accordingly, while getHeader(Host) returns the raw HTTP Host which may be a K8s inter...

Kamo·7mo ago
FixMediaService

Send chat invites to correct WebSocket topic /topic/chat/incoming/{memberId}

Was publishing to /topic/chat/member/{id} but kamo-internal subscribes to /topic/chat/incoming/{id}. Also fixed Member entity field access **************** inst...

Kamo·7mo ago
Fixkamo-internal

Invia tutti i campi di incontro (sendChatInvite, sendEmailInvite, customMessage, roomAlias, joinUrl) per backend

Il percorso API Next.js stava spogliando sendChatInvite, sendEmailInvite, usanzaMessage, e stanzaAlias — solo inoltro cameraName e invitareMemberIds. Backend no...

kamo·7mo ago
Fixkamo-login

Inoltra IP e User-Agent per eseguire il backend per la registrazione accurata dell'attività dell'account

Le rotte API Next.js non sono state inoltrate X-Forwarded-For, X-Real-IP, o Intestazioni Utente-Agent al backend Java, causando l'attività dell'account per regi...

Kamo·7mo ago
FixAPIService

Use HTTP on port 80 for meet service URL to match other services

The HTTPS endpoint on 8443 causes SSL cert mismatch when routing through K8s internal DNS. All other services use HTTP on port 80.

Kamo·7mo ago
Fixkamo-internal

Mostra MeetingDialog per riunioni per membri invece di bypassare direttamente

Sia MemberItem (Interaction Center) che ChatBox (chat tool window) ora aprire il MeetingDialog con il membro di destinazione pre-selezionato, permettendo utente...

kamo·7mo ago
Fixkamo-internal

Route meet config API tramite APIService invece di MediaService diretto

Il percorso di incontro/creazione esistente utilizza forwardToApi (APIService), che proxy a MediaService. I nuovi percorsi config/background devono seguire lo s...

kamo·7mo ago
Fixkamo-internal

Spostare il pulsante Nuova scheda dopo Chat Now come icon-only, rimuovere il link di note duplicate

La nuova scheda è ora un pulsante icona (senza etichetta) posto a destra di Chat Now. Note rimosse da NavTop poiché è già in NavPri.

kamo·7mo ago
Fixkamo-shared-library

Aggiungi annotazioni esplicite @JsonProperty ai campi di visibilità AI KbArticolo

Assicurare Jackson serializza/deserializza aiEnabled, aiVisibleToPublic, aiVisibleToMembers, aiVisibleToTeamMembers con nomi di campo corretti.

Kamo·7mo ago
Fixkamo-internal

Prevenire l'infinito loop di ri-render in MeetingDialog causato da riferimenti di array prop predefinito

L'usoEffect aveva preSelectMembers (defaulting a [])) come dipendenza, creare un nuovo array su ogni rendering e attivare un set infinitoState Ciclo. Fisso util...

kamo·7mo ago
Fixkamo-internal

Fare Chat Now icona bianco, sincronizzare il badge e-mail con l'elenco dei messaggi, utilizzare CSS color-mix per i colori a tema

- NavTop: modifica il colore ForumIcon a bianco per abbinare Chat Now etichetta - MessageBrowser/MailButton: coordinate WebSocket e-mail di aggiornamento tramit...

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