Vorlage immer auch ohne gespeicherte Vorlage Vorlage geben
Wenn keine Vorlage im Backend (404) gespeichert ist, fallen Sie zurück DEFAULT_CONFIG anstatt schlichte unformatierte Inhalte zu zeigen. Die Vorschau macht jetz...
Re-render Vorlagen Client-Seite mit echten Daten in E-Mail-Vorschau
Die Vorschau zeigte Platzhalter-Text s. .r.r.Nerhalb... etc.) weil der vorgerenderte Platzhalter HTML aus dem Backend verwendet wurde. Jetzt das MessageTool: -...
rspamd config zu K8s ConfigMap hinzufügen und ddl-auto auf keine setzen
Die rspamd.base-url Eigenschaft fehlte in der Produktion ConfigMap, verursacht CrashLoopBackOff auf Einsatz. Richtt auch dev ddl-auto zu none.
Quell-Auswahl vereinfachen, schmutziges Tracking und nicht-inaved Änderungen Dialog hinzufügen
- Entfernen Abteilung/Benutzer-Subtyp-Selektoren sind org-level für die Organisation, alle Abteilungen und alle Benutzer - Entfernen Sie das Avatar-Symbol lin...
Bewegen Sie Live Preview-Etikett in E-Mail-Headerleiste, entfernen Sie Copy HTML-Button
Live Preview Titel und Symbol sitzen jetzt rechts ausgerichtet im To/Subject Header-Bar. Entfernt die Schaltfläche "Kopier HTML" und alle Clipboard-Logik.
Quelleselektor in Builder Header verschieben, 2-Collagen-Vorlagen, breitere Vorschau
- Bewegen Sie Source Dropdown von der obersten Karte in die Builder-Panel-Header-Bar (passt mit der Live Preview Titelposition) - Entfernen Undo und Reset Tas...
Vermisste Header & Footers Option zur E-Mail-Einstellungen-Navigation hinzufügen
Verhindere Live-Vorschau-Panel vor überquellenden rechten Rand
Builder und Vorschau-Panels von fester Flex-Basis (55%/45%) auf Schrumpfflex, so dass die Lücke zwischen ihnen richtig berücksichtigt wird.
Verwenden Sie richTextExtension.configure() anstelle der RichTextExtension Klasse
RichTextExtension Klasse wird nicht aus dem veröffentlichten @lexkit/editor exportiert Paket. Verwenden Sie die exportierte RichTextExtension Instanz mit .confi...
Entfernen Sie doppelt ContentEditable - das Plugin von RichTextExtension verwenden
Die richTextExtension macht bereits ihren eigenen ContentEditable via RichTextPlugin. Mit einem zweiten Handbuch ContentEditable erstellt zwei editierbare Berei...
Überholung KB Editor und Artikel Seitenlayouts
Fixed Editor-Komponente: - Wickeln Sie in flex-Säulen-Container, so Toolbar bleibt fix und Inhalt Bereich scrollt unabhängig - Verwenden Sie Position:relativ ...
Add search request/response logging to RagSearchController
Log orgId, query, result count, and full stack traces on error to diagnose 500 responses seen from AIService.
Antwort-Körper hinzufügen und die Anmeldung bei RagClient für Fehlersuche anfordern
Loggen Sie die RAG-Anfrage URL, orgId, Abfrage und Antwort Körper auf Fehler zur Diagnose von 500 Antworten von RAGService.
Aktivieren Sie auto-truncate auf Einbettmodell, um 413 Fehler zu vermeiden
Hinzufügen --auto-truncate-Flag, so dass Eingänge, die die 256-Token-Grenze überschreiten, still abgeschnitten statt mit einem Bestätigungsfehler abgelehnt.
Reduce chunk size to fit all-MiniLM-L6-v2 token limit (256 max)
Chunk target was 2000 chars (~512 tokens) but the embedding model only accepts 256 tokens, causing 413 validation errors. Reduce to 800 chars (~200 tokens) with...
Einbettungsmodell von lokalem hostPath, um HuggingFace Download-Pleiten zu verhindern
Die Einbettung-Modell Pod war in CrashLoopBackOff, weil es nicht konnte laden Sie das Modell von HuggingFace auf Start-up (Network/DNS Ausgabe). Montieren Sie d...
Use integer match filter for Qdrant searches instead of matchKeyword
The orgId and articleId payload fields are stored as integers via value(Long), but search and delete filters used matchKeyword() which only matches string/keywo...
Index KB articles for RAG on creation, not just when published
Previously the RAG pipeline only indexed PUBLISHED articles, requiring the full review/approval cycle before the AI chat could reference them. Now indexes all a...
Update Bewertungen Seite, um angereicherte Backend-Reaktionsfelder zu entsprechen
Verwenden Sie uid als Schlüssel, ArtikelGuid für die Navigation, ArtikelTitel für Anzeige, und Datum für Datum eingereicht. Passt zum neuen Backend-Resetik-Form...
Zurück Artikel guid/Titel in anstehenden Bewertungen Antwort
Die KbArticleReview Einheit hat @JsonIgnore auf Artikel, so dass die anhängigen Bewertungen Endpunkt war die Rückkehr Bewertungen ohne Artikel Details (Führung,...
Oberfläche tatsächliche Backend-Fehlermeldungen in Artikel erstellen/edit
Lesen Sie errData.error (passen Backend JSON-Format) statt errData.message. Beheben Sie Proxy, um JSON-Fehler direkt vorwärts zu bringen anstatt sie in einem an...
Fehlerbehandlung hinzufügen, um Artikel-Endpunkt zu erstellen
Wrap erstellen Artikel Anruf im Try-Catch, um richtige JSON Fehler zurück Antworten anstelle der Standard-HTML-Fehlerseite von Spring Boot.
MissreicheTextExtension hinzufügen, um die Texteingabe von Editortexten zu aktivieren
Der RichTextPlugin von richTextExtension ist für das Lexical erforderlich wird stillschweigend ignoriert.
Hinzufügen von geteiltem KB Layout mit persistenten Tabs und Korrekturen Seitenfehler beheben
Erstellen Sie app/kb/layout.tsx mit KbNavBar Tabs über Artikel verteilt, Ressourcen, und Pending Bewertungen Seiten. Entfernen Sie doppelte äußere Schalen und f...
Update ne-E-Mail-Plakette, wenn Nachricht als gelesen markiert ist
Dispatch E-Mail:ander-veränderte Ereignis nach Markierung einer Nachricht als gelesen, so MailButton re-fegt die ungelesene Zählung sofort.
Revert E-Mail WebSocket URL zu gleich-Ursprung Next.js umschreiben Pfad
Verwenden /email-ws auf dem gleichen Ursprung, proxiert von Next.js schreibt zu EmailService über k8s interne DNS. SockJS HTTP Fallbacks (xhr-streaming, xhr-pol...
Entfernen Sie hart codierte WebSocket-Header von E-Mail Middleware
Traefik v3 behandelt WebSocket Upgrade/Connection Header nativ. Hardcoding sie brach SockJS Fallback Transporte (xhr-streaming, xhr-polling). Jetzt passt media-...
Verbinden Sie E-Mail WebSocket direkt an E-Mail.{domain' subdomain
Next.js-rews-Rewrites können HTTP-Verbindungen nicht auf WebSocket aktualisieren, was zur Folge hat die STOMP-Verbindung, um nach 3 Wiederholungen stillschweige...
Auto-Zertifikate-Service nicht erneuern abgelaufene SSL-Zertifikate
Der Auto-Zertifikt-Service importierte abgelaufene Zertifikate aus dem gemeinsamen Speicher und überspringen Zertifikat CR Kreation, so cert-Manager konnte nich...
Fügen Sie 30s Umfrage Fallback für Echtzeit-E-Mail-Updates, wenn WebSocket nicht verfügbar ist
Die WebSocket-Verbindung versagen lautlos nach 3 Wiederverwetungen, so dass die Benutzeroberfläche permanent abgestanden. Dies fügt ein 30-Sekunden-Abfrageinter...
Team-Button in Chat Now umbenennen und das Panel auf Klick-only-Aktivierung ändern
Align branchen- und Automatisierungs-Tabs mit Abrechnungskarte
Standardisieren Layout-Muster über Einstellungen Tabs: konsistente Polsterung, geteilte EmptyState-Komponente, passende Tabellenstruktur und Header-Stile.
Verwenden Sie geteilte EmailWebSocketContext für Echtzeit ungelesene Abzeichen-Updates
MailButton erstellte eine doppelte WebSocket-Verbindung über die Verwendung vonEmailWebSocket() und optimistisch die ungelesene Anzahl zu inserieren. Jetzt nutz...
Entfernen Sie max-Höhe und Scrollbalken aus der Charakterkarte Kategoriewähler
Route Media Feed WebSocket über media.* Subdomain mit Retry Limit
useMediaFeedWebSocket wurde mit gleicher Herkunft /ws (404) verbunden media.kamocrm.com. Beheben URL-Konstruktion zu verwendenChatWebSocket-Muster und fügen Sie...
Korrigieren KB Artikel Feldnamen zu Backend Entität entsprechen
Frontend verwendete falsche Feldnamen (DatumModified, Inhalt, authorName) statt der eigentlichen Backend-Felder (DatumUpdated, contentJson, autoMemberId). Beheb...
COALESCE Typ Mismatch auf security_level - Spalte ist varchar nicht int
Die SQL-Abfrage für Benutzerdaten während der Sitzungserstellung versagte bei 'unvereinbare COALESCE Ausdrücke: erwartet 0 vom Typ varchar' weil ************ is...
Entfernen debug Logging, fügen E-Mail WS Retry Limit, Proxy E-Mail WS durch k8s DNS
Entfernen Sie verbose console.log-Anweisungen von useUserInfo, NavTop, NavPri, MemberListProvider, SessionManager, sessionMonitor, avatarUtils und verwendenChat...
Grant all rights when rights list is empty (rights system not yet enforced)
Correct hasRight, um flache Rechte-Array-Format und Ehrengott-Modus entsprechen
Die Session-Rechte werden gespeichert als ["VIEW_DASHBOARD", ...] nicht [{name, Einstellung]. Umgehst auch die richtigen Kontrollen, wenn GD (God-Modus) wahr is...
Rename qdrant config properties to avoid K8s env var collision
Kubernetes auto-creates QDRANT_PORT env var from the qdrant Service, which overrides the Spring property with 'tcp://ip:port' instead of an integer. Renamed to ...
Make NATS consumer startup resilient with retry logic
Consumer now retries subscription in a background thread with backoff if KB_EVENTS stream doesn't exist yet. Prevents crash loop when KBService hasn't published...
Wie, was Sie sehen Versand?
Jedes dieser Updates landet automatisch in Ihrem Arbeitsbereich. Starten Sie frei und beobachten Sie es Woche für Woche wachsen.