KamoCRM

Live Change Log

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

17,650
Total Changes
6,071
Features
5,339
Fixes
30
Projects
Filter by project
All Projects17,650AIService260APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService586InitializerService329KBService151KlusterServices744MCPGatewayService261MediaService604RAGService79SecurityService1,872TranslateService62VOIPService250VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,411kamo-login340kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,678kamo-signer-monorepo56kamolos114
Filter by type
All TypesBuild16CI523Chore775Docs3,257Feature6,071Fix5,339Other998Performance165Refactor278Revert23Style42Test162Upgrade1
April 25, 2026
FixAPIService

Rimuovere duplicati CorsFilter e striscia a monte intestazioni CORS nel gateway

WebConfig.java ha definito un secondo fagiolo CorsFilter in competizione con CorsConfig. Java bean, rischiando di scrivere l'intestazione duplicata. L'ha cancel...

Kamo·6mo ago
FixSecurityService

Rimuovere il fagiolo CorsFilter che causa il doppio intestazione Access-Control-Allow-Origin

L'esplicito fagiolo CorsFilter ha causato un secondo filtro CORS accanto alla primavera Supporto CORS integrato di sicurezza (che utilizza CorsConfigurationSour...

Kamo·6mo ago
Fixkamo-internal

Rimuovere le dichiarazioni debug console.log e aggiungere le rotte mancanti

Rimuovi tutti i debug temporanei aggiunti durante il tracciamento di WebSocket ChatBox, TicketChat, MemberItem, ChatTool e useChatWebSocket; aggiungi reindirizz...

kamo·6mo ago
Fixkamo-internal

Evitare l'intestazione del messaggio da espandere la colonna su indirizzi lunghi

L'intestazione sinistra flex bambino non aveva min-w-0, così lunga e-mail infrangibile indirizzi in Da/To/Cc ha forzato la sua larghezza min-content per crescer...

kamo·6mo ago
Fixkamo-internal

Hoist ChatWebSocketProvider sopra ToolProviders

ToolDock (e le sue finestre degli strumenti come SupportTicketWindow → TicketChat) è montato all'interno ToolProviders, che si trova ABOVE PresenceWrapper nell'...

kamo·6mo ago
Fixkamo-internal

Drop Shadow DOM in e-mail renderr così overflow-x-auto incendi

Shadow DOM era la causa principale. Ampio contenuto di email (tavole di larghezza fissa) all'interno dell'albero ombra dipinto oltre l'ospite senza contribuire ...

kamo·6mo ago
Fixkamo-internal

Allineare il percorso di importazione ChatWebSocketContext al fornitore di corrispondenza

TicketChat e ChatNotificationListener hanno importato il contesto tramite '@/app/contexts/...' mentre PresenceWrapper (il fornitore) lo importa attraverso il pe...

kamo·6mo ago
Fixkamo-internal

Contenimento dell'ospite dell'ombra della forza con stili in linea + contengono: layout

Il overflow-x-auto basato sulla classe sull'host ombra non stava vincendo in modo affidabile contro l'ombra ':host { tutto: iniziale }' reset, così ampia e-mail...

kamo·6mo ago
Fixkamo-internal

Scorrere ampio contenuto di email all'interno ombra DOM, non fuori

I precedenti tentativi di aggiungere overflow-x-auto agli antenati DOM leggeri non poteva catturare ampio contenuto di e-mail perché la visuale dell'albero ombr...

kamo·6mo ago
FixEmailService

Utilizzare getHasAttachments() per abbinare il tipo di wrapper Boolean

E' un Boolean, quindi Lombok. genera getHasAttachments() non èHasAttachments(). Quest'ultimo solo esiste per il booleano primitivo. Utilizzare Boolean.TRUE.equa...

Kamo·6mo ago
FixMediaService

Espandi la scansione del repository JPA per includere il pacchetto di commercio

La nuova biblioteca di kamo-shared porta in mezzo a... che richiede Non e' vero. (in com.kamo.z.shared.commerce). MediaService solo scansionato donotmodify.dao....

Kamo·6mo ago
FixMediaService

Ripristinare l'importazione HashMap in ChatWebSocketController

Il refattore precedente ha rimosso l'importazione HashMap ma la manigliaTyping metodo ancora costruisce un HashMap per il payload dell'evento di digitazione, ca...

Kamo·6mo ago
Fixkamo-internal

Aggiungi min-w-0 al contenuto di e-mail div così overflow-x-auto incendi

Senza min-w-0, la larghezza minima predefinita del bambino flex-col: l'auto si risolve a min-content, lasciando ampie tabelle di posta elettronica espandere il ...

kamo·6mo ago
Fixkamo-marketing

Rimuovere il doppio collegareStomp chiamata in sendMessage

Quando il primo messaggio crea una nuova sessione, gli aggiornamenti suSessionCreated che innesca utilizzareEffect per chiamare connectStomp. La chiamata in lin...

Kamo·6mo ago
FixMediaService

Proattivamente creare il consumatore NATS alla creazione di sessione per prevenire la perdita di messaggi

Precedentemente il consumatore di spinta NATS JetStream è stato creato solo quando un client STOMP inviato /app/chat/subscribe. Con DeliverPolicy. Nuovo, qualsi...

Kamo·6mo ago
Fixkamo-internal

Chiudi gap di ricollegamento causando messaggi in tempo reale

Rimuovere `collegato` dall'uso dell'abbonamentoDeps difettosi in TicketChat e ChatBox. In precedenza, ogni connessione WebSocket ha innescato l'effetto pulizia ...

kamo·6mo ago
FixSecurityService

Consenti all'utente di sistema di gestire il marchio org e fissare il logo auth

- Aggiungi bypass utente di sistema come prima guardia in canManageOrgBranding così piattaforma sistema utente ha pieno controllo di marca su tutti gli org non-...

Kamo·6mo ago
Fixkamo-internal

Contiene overflow orizzontale nel pannello di visualizzazione e-mail alla terza colonna

- Aggiungi overflow-x-hidden a MessageBrowser contenitore esterno come bordo duro - Aggiungi overflow-x-hidden alla colonna 3 wrapper e overflow-x-auto all'area...

kamo·6mo ago
FixKlusterServices

Sostituire Coqui TTS con Piper TTS (en US-norman-medium)

Il modello Coqui VCTK non ha altoparlanti di nome — sostituire con Piper TTS che ha l'esatta voce norman[medium]. Piper binario (~3 MB) e modello (~60 MB) vengo...

Kamo·6mo ago
FixEmailService

Reset stale hasAttachments on sync and accumulate correctly

- Reset has_attachments=false at start of bulk sync so stale true values from old false-positive MIME detection are cleared before re-indexing - Accumulate ha...

Kamo·6mo ago
Fixkamo-internal

Pre-popolare DA sulla risposta / avanti e correggere l'invio daAddress

- DraftMessage ora trasporta daAddress in modo da fluisce da openNewMessage attraverso al compositore - MessageBrowser memorizza la mailbox attiva Indirizzo (co...

kamo·6mo ago
FixEmailService

Supporto daAddress override on send

Aggiunge FromAddressRequest a EmailSendRequest in modo che il frontend possa specificare alias/shared/mailbox indirizzo da inviare. SmtpOnlyProvider ora usa que...

Kamo·6mo ago
FixKlusterServices

Aggiungi local net per split-DNS / LAN client RTP fix

I telefoni sulla stessa LAN di k1m1 collegano tramite DNS diviso (il dominio si risolve 192.168.4.22 internamente). Senza local net, Asterisk ancora pubblicizza...

Kamo·6mo ago
FixKlusterServices

Persist stregoneria contatto=memory fix e bloccare lo scanner SIP in startup.sh

- Inject [res pjsip] contact=memory in sorcery.conf prima che Asterisk inizi; il backup predefinito strery-astdb SQLite scende silenziosamente tutti i contatti ...

Kamo·6mo ago
Fixkamo-internal

Sub-tab content fills full content-area width

Drop the centered max-width constraint (was 920 / 1200 / 680 / 720 depending on tab) on SubTabShell. The page already lives inside SettingsView's content column...

kamo·6mo ago
FixEmailService

Fix attachment parsing and hasAttachment false positives

Three fixes to EmailImapService: 1. toEnvelope: narrow multipart check to multipart/mixed only — plain HTML+text emails (multipart/alternative) no longer sh...

Kamo·6mo ago
Fixkamo-internal

Add download button to classic view attachment section

The classic view (MessageBrowser) had its own attachment list that was missing the download button — only the conversation view was fixed previously. Also align...

kamo·6mo ago
April 24, 2026
FixEmailService

Add com.kamo.z.shared.commerce to EnableJpaRepositories scan

**************** (required by **************** in the shared library) lives under com.kamo.z.shared.commerce but was not included in the JPA repository scan, ca...

Kamo·6mo ago
Fixkamo-internal

Proper layout, imbottitura e logo del fornitore

Telaio / spaziatura correzioni: - Tutte e sei le schede (Provider, Estensioni, Utenti telefonici, Dispositivi, Voce, Salute) ora avvolgere il loro contenuto in ...

kamo·6mo ago
FixEmailService

Correct field name and type in getFromAddresses response

Backend was sending 'email' key but frontend expected 'address', and sent type 'shared_mailbox' when frontend expected 'shared'. Also fixes hasMailboxes flag wh...

Kamo·6mo ago
Fixkamo-internal

Load FROM addresses from accessible mailboxes and aliases

Replaces the broken getFromAddresses() endpoint (which sent 'email' instead of 'address') with getAccessibleMailboxes() + listMemberAliases(), matching the same...

kamo·6mo ago
FixInitializerService

Utilizzare CockroachDB-compatibile DROP INDICE CASCADE sintassi

CockroachDB rifiuta ALTER TABLE ... DROP CONSTRAINT per vincoli UNICI con: unimplementato: non può cadere il vincolo UNICO "uk org oauth provider" utilizzando ...

Kamo·6mo ago
FixVOIPService

Include com.kamo.z.shared.commerce nella scansione del repository

Ultimi propagatori di kamo-shared-library Non e' vero. (donotmodify.dao.services) che ha una dipendenza del costruttore E' il momento giusto. E' il momento gius...

Kamo·6mo ago
Fixkamo-internal

Aggiungi il pulsante di download dell'allegato e decouple mark-as-read

- Aggiungi un pulsante icona Download a ogni riga di allegato in modo che gli utenti possano forzare una file download invece di aprire solo in una nuova scheda...

kamo·6mo ago
FixKlusterServices

Spostare hostPath da MinIO (rclone FUSE) a locale /var/lib/pbx

MinIO via rclone FUSE non supporta POSIX chmod o symlink() — entrambi richiesto dal sistema modulo di FreePBX. Cambiato tutti FreePBX e MariaDB volumi hostPath ...

Kamo·6mo ago
FixKlusterServices

Wrap fwconsole/amportal tramite php per MinIO FUSE hostPath

/var/lib/asterisk è supportato da MinIO tramite rclone FUSE che non supporta POSIX chmod, quindi gli script fwconsole non possono essere eseguibili su quel volu...

Kamo·6mo ago
FixKlusterServices

Aggiungi PreStop gancio e terminazioneGracePeriodSeconds

I container si bloccavano a Terminating perché lo sfondo Asterisk processi continuati in esecuzione dopo l'uscita di apache2ctl (PID 1). PreStop hook invia SIGT...

Kamo·6mo ago
FixKlusterServices

Aggiungere bootstrap.php richiedono rigenerazione /etc/freepbx.conf

L'installatore scrive freepbx.conf con datasource=''' e un request once per bootstrap.php, che config.php dipende da caricare la classe FreePBX. La nostra versi...

Kamo·6mo ago
FixKlusterServices

Rigenerare /etc/freepbx.conf in riavvio

/etc è ephemeral (non un hostPath), quindi /etc/freepbx.conf scritto da installatore è perso su ogni pod riavvio. Aggiunto altro ramo per rigenerare esso da env...

Kamo·6mo ago
FixKlusterServices

Bypass start asterisk, attendere la presa di controllo

start asterisk utilizza `pidof asterisk` che restituisce un falso positivo sul pod riavvia, causando il ciclo di attesa-per-Asterisk per appendere. Ora startup....

Kamo·6mo ago
FixKlusterServices

Avviare Asterisk in background, attendere per esso, quindi eseguire installer

Il entrypoint.sh non esegue il programma di installazione FreePBX: inizia solo servizi. startup.sh ora replica i passaggi di impostazione del punto di entrata, ...

Kamo·6mo ago
FixKlusterServices

Lascia installare la maniglia entrypoint, non startup.sh

FreePBX installer (php install -n) richiede Asterisk di essere già Correre. La nostra startup.sh lo chiamava prima che Asterisk iniziasse, causando "Errore comu...

Kamo·6mo ago
FixKlusterServices

Mount /etc/asterisk only, not /etc, per correggere l'errore PHP simplexml

Montaggio completo /etc come un volume hostPath stava corrompendo l'estensione PHP caricamento anche dopo la semina dall'immagine — simplexml load file non defi...

Kamo·6mo ago
FixKlusterServices

Ridurre i limiti della CPU al rapporto 2:1 per eliminare il sovraimpegno

Docs 4→1 core, jibri 4→2 core, libretranslate 2→1 core, bergamotto 2→1 core, coturn 1→0.5 core. Risparmia ~7.5 core dai limiti del nodo.

Kamo·6mo ago
FixKlusterServices

Passare a escomputers/freepbx:17 con architettura corretta

stanchezza/freepbx non ha immagine FreePBX 17 (abbandonata dal 2022). escomputers/freepbx:17 (aggiornamento apr 2026, Asterisk 21 + FreePBX 17) richiede un pod ...

Kamo·6mo ago
Fixkamo-internal

Parse formData prima di inoltrare per prevenire la corruzione binaria

request.text() su multipart/form-data corrompere i byte dei file binari; pass parsed FormData come init.body so forwardToApi skips request.text() e lascia prend...

kamo·6mo ago
Fixkamo-internal

Rimuovere minHeight:100vh causando doppie barre di scorrimento

Il minHeight:100vh ha superato il polpaccio del layout (100vh - 56px) contenitore, che ha causato sia lo scorrimento del livello del browser che l'interno overf...

kamo·6mo ago
Fixkamo-internal

Goccia stale Intestazione colonna Pay dalla tabella modelli di sicurezza

Quando il campo Employee Self-Pay Kamo Fees è stato rimosso, la corrispondenza TableCell nel corpo di riga è stato cancellato, ma la riga di intestazione aveva ...

kamo·6mo ago
FixSecurityService

Superficie vera ragione dietro GoDaddy 400 errore

GoDaddy ora restituisce HTTP 400 con codice=UNABLE TO AUTHENTICATE e corpo "Bad Request: Bad Request" quando un account non soddisfa la loro corrente produzione...

Kamo·6mo ago
Fixkamo-internal

La censura sub-tab ora rende ATF prima per spec

Reorders the Censorship sub-tab cards to match the richiesto order: 1. Alcol, tabacco e armi da fuoco 2. Gamma di età dei membri consentiti 3. Ammessi dipendent...

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