KamoCRM

Live Change Log

Jede Funktion, fix und Verbesserung, geschrieben, wie es Schiffe. Nichts wird für einen Start zurückgehalten.

17,500
Totale Änderungen
5,986
Merkmale
5,284
Behebungen
30
Projekte
Filter nach Projekt
Alle Projekte17,500AIService251APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService576InitializerService329KBService151KlusterServices740MCPGatewayService251MediaService602RAGService79SecurityService1,847TranslateService62VOIPService249VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,349kamo-login335kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,657kamo-signer-monorepo56kamolos114
Filter nach Typ
Alle ArtenBuild16CI523Chore774Docs3,254Feature5,986Fix5,284Other994Performance165Refactor278Revert23Style42Test160Upgrade1
April 25, 2026
OtherSecurityService

Logging zum UploadBackground Endpunkt hinzufügen

Log org/index, Dateiinfos, userId, authene Entscheidungen und MinIO-Staging Schlüssel, um zu verfolgen, warum Hintergrund-Uploads nicht in Staging Bucket ersche...

Kamo·6mo ago
Otherkamo-internal

Logging zur Upload-Background-Proxy-Route hinzufügen

Log org/index, Dateiname/Größe/Typ und upstream-Antwortstatus um zu diagnostizieren, warum Hintergrund-Uploads den APIService nicht erreichen.

kamo·6mo ago
Featurekamo-internal

Orts-Spalte zu Ticket Datagrid hinzufügen

Liest ************ direkt aus dem SupportTicketDTO (jetzt Schnappschüsse auf der Ticket-Entität zu Erstellungszeit - keine Extra-Rundreise). Renders Flagge + St...

kamo·6mo ago
PerformanceMediaService

Store Geo auf Ticket bei der Erstellung, Drop GeoLite liest

**************** fängt jetzt das Geo des Besuchers ein einmal (via GeoLookupService) und fortbesteht ip/country/city/subdivision on das SupportTicket selbst. S...

Kamo·6mo ago
Featurekamo-shared-library

Snapshot Besucher Geo auf Ticket-Entität

VISITOR_IP_ADDRESS, VISITOR_COUNTRY_CODE, VISITOR_COUNTRY_NAME, VISITOR_CITY, VISITOR_SUBDIVISION Spalten. Gefangen bei der Ticket-Erstellung so die Liste/detai...

Kamo·6mo ago
PerformanceMediaService

Bulk-Lot-Besucher und überspringen GeoLite Lookup in der Liste

Der Endpunkt /api/support/tickets list lief, pro Seite von 20 Zeilen: - 20 ************ Anrufe (N+1) - 20 Anrufe in GeoLookupService.lookup, von denen jeder...

Kamo·6mo ago
Performancekamo-shared-library

findBySessionGuidIn für die Massenbelastung hinzufügen

Wird durch den Endpunkt der Support-Ticket-Liste, um alle Besucher für eine zu holen Seite in einer Abfrage anstelle von N separaten findBySessionGuid-Anrufen.

Kamo·6mo ago
Fixkamo-internal

Pass-Ordner zum Laden vonThread-Retry-Button

loadThread takes (threadId, Ordner); nur der Fehler-State-Retry-Button übergeben ThreadId, brechen die kamo-internen Build. Passen Sie den Aufruf an die Signatu...

kamo·6mo ago
ChoreSecurityService

Rebuild zu holen Mitglied JsonIdentityInfo fix von kamo-shared-Bibliothek

kamo-shared-Bibliothek b57d156 fixes @JsonIdentityInfo(Eigentum = "uniqueId") "id" auf Mitglied, Lösung von 400 Fehlern auf PUT /api/security/org/{id'.

Kamo·6mo ago
Fixkamo-shared-library

Korrigieren JsonIdentityInfo Eigenschaft von 'uniqueId' zu 'id'

Mitgliedsunternehmen erklärt @JsonIdentityInfo(Eigentum = "uniqueId") aber die das tatsächliche Primärschlüsselfeld wird 'id' genannt. Jackson geworfen "kann ke...

Kamo·6mo ago
FeatureMediaService

Fügen Sie /ws/public-chat-native plain WebSocket Endpoint neben SockJS hinzu

Registriert einen zweiten STOMP Endpunkt ohne SockJS bei /ws/public-chat-native so dass sich das Frontend ohne Notwendigkeit mit einem nativen WebSocket (broker...

Kamo·6mo ago
Fixkamo-marketing

Entfernen SSR Wache verursacht Hydratation Mismatch; Drop SockJS für native WebSocket

- Hero.tsx: Entfernen Sie Typ-Fenster-Check um ParticleField bereits hat ssr:false, so dass der Wächter ein Server/Client-Baum-Mischung produziert hat (Reagie...

Kamo·6mo ago
Featurekamo-internal

Pro-Ticket ungelesener Abzeichen + 'Nur neue Nachrichten' Filter

- Ticketliste zeigt eine Chat-Bubble-Plakette mit der ungelesenen Zählung neben Ticket# wann immer die Sitzung Nachrichten hat, die neuer sind als die des Age...

kamo·6mo ago
FeatureMediaService

Sendung ungelesen zählt zu Agent auf Besucher-Nachricht

Nachdem ein Besucher eine Support-Nachricht sendet, schieben Sie die neuesten ungelesenen Zähler Nutzlast für ************ so die Ticket-Liste des Agenten Abzei...

Kamo·6mo ago
Featurekamo-shared-library

SUPPORT_TICKET-Sitzungen in ungelesene Mitgliedschaftsfrage einschließen

findChatMembershipsByMemberId gibt jetzt Mitgliedschaften für CHAT und SUPPORT_TICKET Sitzungstypen, also die bestehende ungelesige Zahl pro Mitglied Infrastruk...

Kamo·6mo ago
Fixkamo-internal

Klare ungelesene Indikatoren, wenn Konversation geöffnet wird

ThreadDetailView sendet jetzt E-Mail:folder-changed after markConversationRead ist so MailButton renoviert die nvtop Inbox-Plakette zählen. ConversationListView...

kamo·6mo ago
FixAPIService

CORS zu Traefik über Kamo-Middlewares bewegen, In-App entfernen

Die CorsFilter @Bean in der Frühjahrs-App war still nicht Anwendung Header nach WebConfig.java wurde entfernt. CORS wird nun vollständig an der Traefik-Schicht ...

Kamo·6mo ago
Fixkamo-marketing

Verwenden /public/{mainDomain"-{tld" Pfad passend zum tatsächlichen MinIO-Eimer-Layout

Der getThemePath() erzeugte /domain/{tld'/{split'/kamosite Pfade, nicht in MinIO existieren - Themendateien live in der Öffentlichkeit Eimer unter kamocrm-com/,...

Kamo·6mo ago
Fixkamo-internal

Break min-w-0-Kette, um E-Mail-Scroll in Körperspalte enthalten

Fügen Sie min-w-0 zu äußeren Behälter und Hauptinhalt flex div so flex Kinder kann nicht auf E-Mail-Min-Content-Breite erweitern, was die Seite-weite verursacht...

kamo·6mo ago
Fixkamo-internal

Hoist Anbieter über ToolProviders

Die gleiche Ursache wie der ChatWebSocketProvider Hebeer: SupportTicketWindow Anrufe ************ und ChatBox-Anrufe useUnread().markAsRead(), aber beide Werkze...

kamo·6mo ago
Fixkamo-marketing

Hinzufügen von unterdrückenHydrationWarning und reparieren defekte Platzhalter-Bilder

suppressHydrationWarnung auf <html" verhindert React-Fehler #418 durch Browser verursacht Erweiterungen (z.B. übersetzen, dunkler Modus) mutierende html-Attribu...

Kamo·6mo ago
FixKlusterServices

Lassen /domain/ Pfad-Präfix auf Thema IngressRoute für CORS

Das Thema Konfiguration unter theme.kamocrm.com/domain/... wurde nicht von der bestehende Streckenregeln (nur / öffentlich/ und /intern/ erlaubt), also Traefik ...

Kamo·6mo ago
FixAPIService

Entfernen Sie doppelte CorsFilter und Streifen upstream CORS-Header im Gateway

WebConfig.java definierte eine zweite CorsFilter-Beine, die mit CorsConfig.javas konkurrierte Bohnen, riskieren doppelte Header schreibt. Gelöscht es, so dass n...

Kamo·6mo ago
FixSecurityService

Entfernen Sie Duplikat CorsFilter-Beine verursacht doppelte Access-Control-Allow-Origin-Header

Die explizite CorsFilter-Bohne verursachte neben Spring einen zweiten CORS-Filter Die integrierte CORS-Unterstützung von Security (die CorsConfigurationSource v...

Kamo·6mo ago
Fixkamo-internal

Entfernen debug console.log-Anweisungen und fügen Sie fehlende Routen hinzu

Entfernen Sie alle temporären debug Logging hinzugefügt während WebSocket-Tracing aus ChatBox, TicketChat, MemberItem, ChatTool und nutzenChatWebSocket; hinzufü...

kamo·6mo ago
Fixkamo-internal

Verhindere Nachrichten-Header von Erweiterung Spalte auf langen Adressen

Das linke Flex-Kind des Headers hatte keine min-w-0, so lange unzerbrechliche E-Mail Adressen in From/To/Cc zwangen seine Min-Content-Breite zu wachsen, ziehend...

kamo·6mo ago
Fixkamo-internal

Hoist ChatWebSocketProvider über ToolProviders

ToolDock (und seine Werkzeugfenster wie SupportTicketWindow - TicketChat) ist eingemountet in ToolProviders, die ABOVE PresenceWrapper im Baum sitzt um das Abhä...

kamo·6mo ago
Fixkamo-internal

Drop Shadow DOM in E-Mail-Renderer so overflow-x-auto feuert

Shadow DOM war die Ursache. Breiter E-Mail-Inhalt (Festbreite Tabellen) im Schattenbaum am Wirt vorbei gemalt, ohne einen Beitrag zu leisten die Layout-Box des ...

kamo·6mo ago
Fixkamo-internal

Align ChatWebSocketContext Import Pfad zum Match Provider

TicketChat und ChatNotificationListener importierte den Kontext über die '@/app/contexts/...' alias while PresenceWrapper (der Anbieter) importiert es über den ...

kamo·6mo ago
Otherkamo-internal

Temporäre console.log zu verfolgen TicketChat STOMP Abonnement Pfad

Fügt Konsolenprotokolle in jeder Phase der Abonnenten-Pipeline hinzu (Effektfeuer, Wachpass, Anmeldung() Anruf, AttachSSessionAbonnement, client.subscribe, /app...

kamo·6mo ago
Fixkamo-internal

Force Shadow Host Containment mit Inline-Stile + enthalten: Layout

Klasse-basiertes Überlauf-x-auto auf dem Schattenhost war nicht zuverlässig gewinnen gegen den Schatten ':host { all: initial .' zurückgesetzt, so breite E-Mail...

kamo·6mo ago
Fixkamo-internal

Scrollen Sie breiten E-Mail-Inhalt innerhalb Schatten DOM, nicht außerhalb

Die bisherigen Versuche, Overflow-x-auto zu beleuchten DOM-Vorfahren hinzuzufügen konnte nicht breiten E-Mail-Inhalt zu fangen, weil der Schattenbaum ist visuel...

kamo·6mo ago
FixEmailService

Verwenden Sie getHasAntachments() zum Boolean Wrapper Typ

************ ist ein Booleaner (Wrapper), also Lombok generiert getHasAntachments() nicht isHasAttachments(). Nur letztere existiert für primitive boolean. Verw...

Kamo·6mo ago
FixMediaService

JPA-Repository-Scan erweitern, um Commerce-Paket enthalten

Die neue Kamo-Shad-Bibliothek bringt ************ in die **************** erfordert (in com.kamo.z.shared.commerce). MediaService nur gescannt donotmodify.dao.r...

Kamo·6mo ago
FixMediaService

HashMap-Import in ChatWebSocketController wiederherstellen

Der vorherige Refaktor entfernte den HashMap-Import, aber das handleTyping Methode konstruiert immer noch eine HashMap für die Eingabe-Event-Nage-Nage-Nage-Nage...

Kamo·6mo ago
Fixkamo-internal

Min-w-0 zu E-Mail Inhalten hinzufügen div so overflow-x-auto fires

Ohne min-w-0, die flex-col Kind Standard min-breite:auto löst sich auf min-Inhalt, lassen breite E-Mail-Tabellen erweitern die div Vergangenheit der Spalte Brei...

kamo·6mo ago
Fixkamo-marketing

Entfernen von doppelten connectStomp-Anruf in sendMessage

Wenn die erste Nachricht eine neue Sitzung erstellt, aktualisiert onSessionCreated Requisiten die mitEffect ausgelöst werden, um connectStomp aufzurufen. Der In...

Kamo·6mo ago
FixMediaService

Erstellen Sie NATS-Konsument bei der Erstellung von Sitzungen, um Nachrichtenverlust zu verhindern

Zuvor wurde der NATS JetStream Push Consumer nur erstellt, wenn ein STOMP-Client gesendet /app/chat/subscribe. Mit DeliverPolicy.New, alle Nachrichten veröffent...

Kamo·6mo ago
Fixkamo-internal

Schließen Sie wieder Verbindungslücke verursacht fallengelassene Echtzeit-Nachrichten

Entfernen Sie "connected" von der Abonnement-NutzungEffect deps in TicketChat und ChatBox. Zuvor löste jede WebSocket-Wiederverbindung den Effekt aus Bereinigun...

kamo·6mo ago
FixSecurityService

Erlauben Sie dem Systembenutzer, Org Branding zu verwalten und Logo auth zu fixieren

- System-Benutzer-Bypass als erste Wache in canManageOrgBranding so platform hinzufügen Systembenutzer hat volle Branding-Kontrolle über alle nicht-elparenten...

Kamo·6mo ago
Fixkamo-internal

fügen Sie horizontalen Überlauf in E-Mail-Ansichtsablauf zur 3. Spalte

- Überlauf-x-versteckter zu MessageBrowser Außencontainer als harte Grenze hinzufügen - Überlauf-x-versteckt zu Spalte 3 Wrapper und Overflow-x-auto zum E-Mail-...

kamo·6mo ago
FeatureKlusterServices

Produktion scheitert2ban mit PJSIP-Gefängnchen und anhaltendem Zustand

- Fügen Sie fail2ban-configmap.yaml mit [asterisk] und [freepbx-web] Gefängnissen hinzu, schrittweise Verbot Eskalation (1h-24h-30d Decke), LAN-Akignop, und e...

Kamo·6mo ago
FixKlusterServices

Coqui TTS mit Piper TTS (en_US-norman-medium) ersetzen

Coqui VCTK-Modell hat keine benannten Lautsprecher - ersetzen mit Piper TTS, die die genaue norman[medium] Stimme. Piper-Binär (ca. 3 MB) und Modell (ca. 60 MB)...

Kamo·6mo ago
FixEmailService

Reset abgestandene hat Anhäufe auf Synchronisation und richtig ansammeln

- Reset hat_attachments=false zu Beginn der Bulk-Sync so abgestandene wahre Werte von der alten falsch-positiven MIME-Erkennung werden vor der Re-Indizes gelö...

Kamo·6mo ago
Featurekamo-shared-library

ResetHasAttachmentsForFolder Abfrage zu ConversationRepository hinzufügen

Ermöglicht Synchronisierung, um abgestandene has_attachments Flaggen vor der Re-Indexierung zurücksetzen Eine korrigierte MIME-Erkennung kann das Feld aus den t...

Kamo·6mo ago
FeatureKlusterServices

Integrieren Coqui TTS mit Norman-Stimme (VCTK p267)

- Einsatz von coqui-tts Server (VCTK VITS-Modell, CPU-only) als ClusterIP-Dienst am Port 5002 mit Modell-Cache bei /var/lib/coqui-tts auf k1m1 - coqui_tts.agi...

Kamo·6mo ago
Fixkamo-internal

Pre-populate FROM on Antwort/Forward und fix senden von Address

- DraftMessage trägt jetzt von Address, so dass es von openNewMessage fließt bis zum Komponisten - MessageBrowser speichert die aktive Mailbox-E-MailAdresse (...

kamo·6mo ago
FixEmailService

Unterstützung von Address override auf Senden

Fügt FromAddressRequest zu EmailSendRequest hinzu, so dass das Frontend angeben kann die Alias/Shared/Mailbox-Adresse zum Absenden von. SmtpOnlyProvider jetzt v...

Kamo·6mo ago
FeatureKlusterServices

LAN DNS pod für split-DNS auf k1m1 hinzufügen

Entstellt ein dnsmasq pod mit hostNetwork auf k1m1, das auf hört 192.168.4.22:53. Überrepostet pbx.k1.kluster.kamocrm.com - 192.168.4.22 So erreichen LAN-Telefo...

Kamo·6mo ago
FixKlusterServices

local_net für split-DNS / LAN Client RTP fix hinzufügen

Telefone im selben LAN wie k1m1 über split DNS verbinden (domain löst auf 192.168.4.22 intern). Ohne local_net wirbt Asterisk immer noch für die externe Domain ...

Kamo·6mo ago

Wie, was Sie sehen Versand?

Alles kommt in Ihrem Arbeitsbereich für sich. Starten Sie mit dem kostenlosen Plan und lesen Sie diese Seite in einem Monat wieder.

Free Forever startenPreisgestaltung anzeigen