KamoCRM

Live Change Log

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

17,496
Total Changes
5,984
Features
5,283
Fixes
30
Projects
Filter by project
All Projects17,496AIService251APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService576InitializerService329KBService151KlusterServices738MCPGatewayService249MediaService602RAGService79SecurityService1,847TranslateService62VOIPService249VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,349kamo-login335kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,657kamo-signer-monorepo56kamolos114
Filter by type
All TypesBuild16CI523Chore773Docs3,254Feature5,984Fix5,283Other994Performance165Refactor278Revert23Style42Test160Upgrade1
November 5, 2025
Fixkamo-internal

Elimina restrictia de transport numai pe WebSocket pentru compatibilitate HTTP/2

- Browser WebSocket API nu suporta HTTP/2 (RFC 8441 nu este implementat) - WebSocket nativ necesită HTTP/1.1 Upgrade care nu reușește peste HTTP/2 - Să SockJS a...

snadjafinia·11mo ago
RevertMediaService

Restore HTTP/2 for WebSockets (RFC 8441 support)

- WebSockets CAN work over HTTP/2 via RFC 8441 - Removed TLSOption (not needed) - Removed ServersTransport reference (let HTTP/2 work) - Restored simple domain-...

snadjafinia·11mo ago
FixMediaService

Use explicit Host() for /ws route to enable TLSOption

- Changed /ws route from HostRegexp to Host(media.kamocrm.com) - TLSOption can only be applied to explicit hosts (not regex) - ALPN negotiation happens during T...

snadjafinia·11mo ago
FixMediaService

Force HTTP/1.1 for MediaService ONLY via TLSOption

- Created media-tls-http1 TLSOption with alpnProtocols: [http/1.1] - Referenced ONLY in media-route IngressRoute - Does not affect other Traefik routes - Fixes ...

snadjafinia·11mo ago
OtherKlusterServices

Revert "fix(traefik): disable idle timeout for WebSocket connections"

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

snadjafinia·11mo ago
OtherMediaService

Delete TLSOption (not needed with separate routes)

snadjafinia·11mo ago
FixMediaService

Separate /ws route for WebSocket, keep HTTP/2 for API

- Added two routes: /ws for WebSocket (higher priority), rest for API - Only /ws uses media-websocket-transport (HTTP/2 disabled) - API routes can use HTTP/2 fo...

snadjafinia·11mo ago
FixMediaService

Use Host() instead of HostRegexp() for media-route

- Simplified to Host(media.kamocrm.com) - Avoids regex escaping issues with backticks - Tests show route is working with simple Host match

snadjafinia·11mo ago
FixMediaService

Force HTTP/1.1 via TLSOption for WebSocket compatibility

- Created TLSOption to disable HTTP/2 ALPN negotiation - Forces browsers to use HTTP/1.1 for media.kamocrm.com - WebSocket upgrades require HTTP/1.1 protocol - ...

snadjafinia·11mo ago
FixKlusterServices

Disable idle timeout for WebSocket connections

- Added idleTimeout=0 to websecure entrypoint - Prevents Traefik from closing WebSocket connections due to inactivity - Fixes SockJS WebSocket timeout issues

snadjafinia·11mo ago
Fixkamo-internal

Utilizați doar transportul WebSocket (dezactivează sondajele XHR)

- Transporturi SockJS modificate de la [websocket, xhr-streaming, xhr-polling] la [websocket] - Elimină retragerea la sondajul XHR - Forte conexiune WebSocket p...

snadjafinia·11mo ago
FeatureMediaService

Add CORS middleware to media-route for cross-origin WebSocket

- Added cors middleware to allow cross-origin connections - Enables WebSocket connections from internal.* to media.* - Allows all origins, methods, and headers ...

snadjafinia·11mo ago
Revertkamo-internal

Conectați WebSocket direct la media.kamocrm.com

- Reversed to original approach: conect to media.* subdomeniu direct - Eliminarea complexității inutile de aceeași origine - Eliminat /ws bypass din mijlocware ...

snadjafinia·11mo ago
Fixkamo-internal

Elimină trimiterea explicită de namespace din kamowsmedia-service

- Ambele servicii sunt în același namespace (kamo) - Nu este nevoie de referinţă explicită de namespace - Evita potentiale probleme inter-namespace

snadjafinia·11mo ago
Fixkamo-internal

Elimină /ws rescrie de la următoarea. config (handled by Traefik)

- Eliminat Next.js rescrie pentru /ws căi - rutare WebSocket acum manipulate la nivelul Traefik IngressRoute - Traefik routes intern.kamocrm.com/ws -> MediaServ...

snadjafinia·11mo ago
Fixkamo-internal

Solicitări direct către MediaService via Traefik

- Adauga trasee dedicate pentru /ws trasee in IngressRoute - Trasee interne.kamocrm.com/ws -> MediaService direct - Foloseste aceleasi servere Transportare ca m...

snadjafinia·11mo ago
Fixkamo-internal

Permite /ws WebSocket obiective fără redirecționare aut

- Calea Adăugat /ws la middleware bypass - SockJS trebuie să se conecteze la /ws/info fără redirecţionare - Conexiunile WebSocket vor avea în continuare *** coo...

snadjafinia·11mo ago
Fixkamo-internal

Schimbă conexiunea WebSocket cu aceeași origine

- Schimbat de la media.kamocrm.com la aceeaşi origine (intern.kamocrm.com) - Evita problemele legate de conexiunea WebSocket - Adăugat Next.js rescrie regula pe...

snadjafinia·11mo ago
Featurekamo-internal

Adaugă căi proxy API pentru criteriile de evaluare WebRTC

- Adăugat /api/webrtc/config proxy la MediaService - Adăugat /api/webrtc/token proxy pentru autentificare Janus - Adăugat /api/webrtc/call/inițiate, responde, e...

snadjafinia·11mo ago
FixMediaService

Remove @kubernetescrd suffix from serversTransport reference

- Traefik error: cross-namespace format not allowed when crossnamespace disabled - IngressRoute and ServersTransport are in same namespace (kamo) - Use simple n...

snadjafinia·11mo ago
Fixkamo-internal

Elimină proprietatea coder invalid de la getDisplayMedia

- Folosind video simplu: adevarat pentru partajarea ecranului - Construcţia ar trebui să reuşească

snadjafinia·11mo ago
Fixkamo-internal

Rezolvați eroarea de construire - înlocuiți TelefonOff cu CallEnd

- Pictograma telefonică nu există în @mui/icons-material - Folosind CallEnd care este pictograma MUI corectă - Elimină fișierele duplicate neutilizate (ChatBoxW...

snadjafinia·11mo ago
Featurekamo-internal

Apel complet peer-to-peer WebRTC cu semnalizare

- Cârlig WEBRTC cu semnalizare completă - Semnalizare WebSocket integrata (oferte, raspunsuri, candidati ICE) - Adauga notificări de apel primite cu butoane ras...

snadjafinia·11mo ago
FeatureMediaService

Add WebSocket signaling for peer-to-peer calls

- Added WebRTCSignalingController for call signaling - Handles offer/answer exchange via STOMP - Forwards ICE candidates between peers - Manages call hangup not...

snadjafinia·11mo ago
Featurekamo-internal

Adaugă integrarea Janus WebRTC pentru apeluri audio/video

- Utilizarea adăugată JanusWebrTC cârlig pentru managementul apelurilor WebRTC - Added VideoCallPanel component for in-chat video show - Integrat cu ChatBox pen...

snadjafinia·11mo ago
FeatureMediaService

Add Janus WebRTC integration

- Added WebRTCController for token generation and call management - Configured Janus API URL and secrets (api, token, admin) - Configured STUN/TURN servers (kam...

snadjafinia·11mo ago
FeatureKlusterServices

Update TURN server credentials with secure values

- Updated turn-secret with secure random value - Updated turn-password for Janus authentication - Credentials match MediaService WebRTC configuration

snadjafinia·11mo ago
FixKlusterServices

Split port ranges to avoid conflicts

- Coturn relay: 52000-65535 (13,536 ports) - Avoids: Janus RTP (10000-49151) and WireGuard (51820-51821) - No overlap between services

snadjafinia·11mo ago
FixKlusterServices

Adjust relay port range to avoid WireGuard/VPN ports

- Changed max-port from 65535 to 51800 to avoid conflicts - Avoids WireGuard on UDP 51820 and other VPN services on 51821 - Provides 2,649 ports (49152-51800) f...

snadjafinia·11mo ago
FixKlusterServices

Resolve CrashLoopBackOff by fixing probes and config

- Replace netstat-based health probes with TCP socket checks (netstat not available in coturn/coturn:latest Alpine image) - Remove conflicting no-stdout-log dir...

snadjafinia·11mo ago
FixMediaService

Use full Kubernetes CRD provider name for ServersTransport reference

Traefik requires the @kubernetescrd suffix when referencing CRD resources like ServersTransport.

snadjafinia·11mo ago
FeatureKlusterServices

Add ServersTransport deployment to CI/CD workflow

Deploy traefik/serverstransport.yaml as part of Traefik deployment to both K1M1 and K2M1. This enables HTTP/1.1 backend connections for MediaService WebSocket s...

snadjafinia·11mo ago
FeatureKlusterServices

Add ServersTransport for MediaService WebSocket connections

Add media-websocket-transport ServersTransport resource to disable HTTP/2 for backend connections to MediaService. This is required for proper WebSocket upgrade...

snadjafinia·11mo ago
FixMediaService

Simplify MediaService WebSocket IngressRoute configuration

Remove media-websocket-upgrade middleware that was forcing headers and causing WebSocket handshake issues. Traefik automatically handles WebSocket upgrade when ...

snadjafinia·11mo ago
Revertkamo-internal

Restaurare WebSocket transport în SockJS

- Revenind la utilizarea transportului websocket (nu sondaje) - WebSockets sunt standard și ar trebui să funcționeze în mod corespunzător - Concentrează-te pe f...

snadjafinia·11mo ago
Fixkamo-internal

Skip WebSocket transport în SockJS pentru a evita probleme HTTP/2

- Utilizați xhr-streaming și xhr-polling transporturi în loc de websocket - Aceste transporturi lucreaza atat cu HTTP/1.1 cat si cu HTTP/2 fara a necesita upgra...

snadjafinia·11mo ago
FixMediaService

Add end anchor to WebSocket path regex pattern

- Add $ to end of PathRegexp to ensure exact match - Fixes regex parsing error in Traefik - /ws/info is now working (200 OK) but WebSocket upgrade route needs p...

snadjafinia·11mo ago
FixMediaService

Only apply WebSocket upgrade middleware to actual WebSocket paths

- Change route match from PathPrefix(/ws/) to **************** - /ws/info is a regular HTTP request, not a WebSocket upgrade - Adding Upgrade header to /ws/info...

snadjafinia·11mo ago
FixKlusterServices

Add Connection: Upgrade header to WebSocket upgrade middleware

- Add Connection: Upgrade header along with Upgrade: websocket - Both headers are required for proper WebSocket upgrade handshake - This ensures HTTP/2 Extended...

snadjafinia·11mo ago
FixMediaService

Add separate route for WebSocket paths with upgrade middleware

- Create separate route matching /ws/** paths with media-websocket-upgrade middleware - This ensures Upgrade: websocket header is added for WebSocket upgrade re...

snadjafinia·11mo ago
FeatureKlusterServices

Add media-websocket-upgrade middleware to force Upgrade header

- Add Upgrade: websocket header for WebSocket paths to fix HTTP/2 Extended CONNECT conversion - This ensures HTTP/2 WebSocket upgrade requests are properly conv...

snadjafinia·11mo ago
FixMediaService

Use ServersTransport to disable HTTP/2 for WebSocket connections

- Create ServersTransport resource with disableHTTP2: true - Reference ServersTransport in IngressRoute service configuration - Remove invalid disableHTTP2 fiel...

snadjafinia·11mo ago
FixMediaService

Disable HTTP/2 for MediaService backend connection

- Add disableHTTP2: true to force HTTP/1.1 for backend connections - HTTP/2 Extended CONNECT is not properly converting Upgrade header - WebSocket upgrades requ...

snadjafinia·11mo ago
FixMediaService

Configurează schema de servicii IngressRoute pentru suport WebSocket

- Setare sistem: http pentru a asigura buna manipulare HTTP/1.1 pentru upgrade-uri WebSocket - HTTP/2 Extended CONNECT are nevoie de o conversie adecvată la HTT...

snadjafinia·11mo ago
FixMediaService

Elimină handshake-ul invalid și repară configurația SockJS

- Înlăturați suprascrierea implicită invalidăHandshakeHandler (metoda nu există) - Înlăturați setul invalidSupressCors call (metoda nu există) - Păstrați HttpSe...

snadjafinia·11mo ago
FixMediaService

Adaugă strângere de mână WebSocket și configurare SockJS

- Adăugați handshake handler și interceptor logare pentru a diagnostica probleme de conexiune WebSocket - Configurați SockJS pentru a suprima CORS (manipulat de...

snadjafinia·11mo ago
Fixkamo-internal

Configurează transporturile SockJS pentru a gestiona problemele de actualizare HTTP/2 WebSocket

- Configurați explicit comanda de transport SockJS pentru a prefera WebSocket, apoi revenire la xhr-streaming / xhr-polling - upgrade-uri HTTP/2 WebSocket poate...

snadjafinia·11mo ago
FixMediaService

Remove media-cors middleware from IngressRoute to allow WebSocket connections

- media-cors middleware was clearing CORS headers which interfered with WebSocket upgrades - WebSocket connections require direct pass-through without header mo...

snadjafinia·11mo ago
CIKlusterServices

Trigger pipeline

snadjafinia·11mo ago
November 4, 2025
FixMediaService

Remove invalid Spring Security pattern /ws/**/info

- PatternParseException: No more pattern data allowed after {*...} or ** - /ws/** already covers all paths under /ws including /ws/info - This was causing 500 e...

snadjafinia·11mo 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