Rendez toujours la prévisualisation du modèle même sans modèle de backend sauvegardé
Quand aucun modèle n'est sauvegardé dans le backend (404), retombez à DEFAULT-CONFIG au lieu de montrer un contenu clair non formaté. Le Prévisualisation mainte...
Remise de modèles côté client avec des données réelles dans l'aperçu du courrier électronique
L'aperçu était celui de l'espace réservé (-member.firstName, etc.) parce qu'il utilisait le HTML pré-rendu de l'espace réservé à partir du backend. Maintenant,...
Ajouter la configuration rspamd à K8s ConfigMap et régler ddl-auto à aucun
La propriété rspamd.base-url manquait de la production ConfigMap, provoquer le déploiement de CrashLoopBackOff. Filce également dev ddl-auto à aucun.
Simplifier le sélecteur de source, ajouter un dialogue de suivi sale et de modifications non saveuses
- Supprimer les sélecteurs de sous-types de département/utilisateur et les modèles sont au niveau de l'orgg pour l'organisation, tous les départements et tous...
Déplacer l'étiquette de prévisualisation en direct dans la barre d'en-tête de courrier électronique, supprimer Copy HTML bouton
Le titre et l'icône en direct se trouvent maintenant alignées à droite à l'intérieur du To/Subject barre d'en-tête. Retirez le bouton Copier HTML et toute la lo...
Déplacer le sélecteur de source dans l'en-tête de construction, les modèles 2-col, la prévisualisation plus large
- Déplacer la source de la liste d'accueil de la carte supérieure dans la barre d'enfonceuse du panneau d'affichage du constructeur (correspondant à la positi...
Ajouter l'option En-têtes et paquets manquants à la navigation sur les paramètres des e-mails
Empêcher le panneau de prévisualisation en direct de débordement de l'arête droite
Changer les panneaux de construction et de prévisualisation de la base de flex fixe (55 %/45%) à un fléchissement rétrécissable pour que l'écart entre eux soit ...
Utiliser richTextExtension.configure() au lieu de classe RichTextExtension
La classe RichTextExtension n'est pas exportée à partir du zlexkit/éditeur publié paquet. Utiliser l'instance riche en texteExtension exporté avec .configure().
Supprimer le double contenuEditable et utiliser le plugin de RichTextExtension
La richTextExtension rend déjà son propre contenu RichTextPlugin. Avoir un deuxième manuel ContentEditable a été créé deux zones modifiables. Retirez le manuel ...
Supprimer l'élément de menu du courrier électronique de NavPri navigation
Rédactrice de révision de la page KB et mise en page des articles
Composant éditeur fixe: - Enrouler dans un conteneur à colonne flexible de sorte que la barre d'outils reste fixe et le contenu Espace défile indépendamment -...
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.
Ajouter le corps de réponse et demander à RagClient de s'enfonner pour le débogage
Enregistrer l'URL de la demande de recherche RAG, l'adresse orgId, la requête et le corps de réponse sur une erreur pour diagnostiquer 500 réponses de RAGServic...
Permettre l'auto-truncate sur le modèle d'encastrement pour éviter 413 erreurs
Ajouter --indicateur de crestinage automatique de sorte que les entrées dépassant la limite de 256 jetons sont trunifié silencieusement au lieu de rejeter avec ...
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...
Louer le modèle d'intégration à partir de hostPath local pour prévenir les pannes de téléchargement de HuggingFace
La gousse de modèle d'intégration était dans CrashLoopBackOff parce qu'il ne pouvait pas télécharger le modèle à partir de HuggingFace au démarrage (réseau/DNS ...
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...
Mettre à jour la page d'examens pour correspondre aux champs de réponse backend enrichis
Utiliser uid comme clé, articleGuid pour la navigation, articleTitre d'affichage, et date Présentation pour la date. Correspond au nouveau format de réponse bac...
Retour de l'article guid/titre dans la réponse des examens en attente
L'entité KbArticleReview dispose de JsonIgnore sur l'article, de sorte que l'intensifiant Le critère d'évaluation revenait les examens sans détails sur l'articl...
Messages d'erreur backend réels de surface dans l'article créer/édit
Lire errData.error (appariement du format JSON dos) au lieu de errData.message. Correction directe d'erreurs JSON d'arrière-plan vers l'avant au lieu de les aju...
Ajouter un traitement d'erreur pour créer le point d'extrémité de l'article
Remplacer createOutre d'application dans try-catch pour revenir correctement l'erreur JSON réponses au lieu de la page d'erreur HTML par défaut de Spring Boot.
Ajouter l'absence de richTextExtension pour permettre l'entrée textuelle de l'éditeur
Le plugin RichText de richTextExtension est nécessaire pour le Lexical est silencieusement ignorée.
Ajouter la mise en page KB partagée avec des onglets persistants et corriger l'erreur de page des révisions
créer app/kb/layout.tsx avec des onglets KbNavBar partagés entre les articles, Ressources et pages sur les examens en suspens. Enlever les obus extérieurs en do...
Mettre à jour le badge d'e-mails navtop lorsque le message est marqué comme lu
Evénement d'expédition: event changeant de dossier après marquage d'un message tel que lu, MailButton réfait le compte non lu immédiatement.
Retourner le chemin de réécriture de WebSocket à un chemin de réécriture Next.js
Utiliser /email-ws sur la même origine, mandaté par Next.js réécrit à EmailService par l'intermédiaire du DNS interne k8. SockJS HTTP reconnexions (xhr-streamin...
Supprimer les en-têtes WebSocket codés en dur de l'intergiciel
Traefik v3 gère les en-têtes de mise à niveau/connexion WebSocket de manière native. Le codage dur leur a brisé les transports de secours SockS (l'enstreaming x...
Connectez le courrier électronique WebSocket directement à l'e-mail.
Next.js réwrites ne peut pas mettre à niveau les connexions HTTP vers WebSocket, provoquant la connexion STOMP à faire échouer silencieusement après 3 récupérat...
Service d'auto-cert non renouvelant les certificats SSL expirés
Le service d'auto-certification était en train d'importer des certificats de stockage partagé et sauter la création du certificat CR, donc cert-manager ne pouva...
Ajout d'une reconquête de sondage des années 30 pour les mises à jour par courrier électronique en temps réel lorsque WebSocket n'est pas disponible
La connexion WebSocket échoue silencieusement après 3 retraits, en laissant l'UI RESCIUER. Ceci ajoute un intervalle de vote de 30 secondes en tant que fiabilit...
Renommer le bouton Team pour Chat Now et changer le panneau en activation uniquement en clic
Supprimer l'onglet Branche et réseau et simplifier les étiquettes des onglets de compte
Alignez les onglets de configuration et d'automatisation de la branche avec la conception de l'onglet de facturation
Normaliser les schémas de mise en page des paramètres: un rembourrage cohérent, Composant VideState partagé, structure de table correspondante et styles d'en-tê...
Utiliser EmailWebSocketContext partagé pour les mises à jour des badges non lue en temps réel
MailButton créait une connexion WebSocket en double via useEmailWebSocket() et en augmentant avec optimisme le nombre non lu. Maintenant, utilise le commun util...
Renommer "Créer un nouveau courrier électronique" par "Composer un nouveau courrier" dans la liste déroulante
Supprimer la hauteur maximale et la barre de défilement du sélecteur de catégorie de carte de caractères
Sous-domaine avec rejugé avec la limite d'essai
useMediaFeedWebSocket se connectait à la même origine /ws (404) au lieu de media.kamocrm.com. Fixer la construction de l'URL pour faire correspondre l'utilisati...
Noms de champ de l'article KB correct pour correspondre à l'entité dorsal
Frontend utilisait de mauvais noms de champs (datemodifié, contenu, auteurNom) au lieu des champs backend réels (dateUpdated, contentJson, auteurMemberId). Réso...
Corriger l'URL du point d'arrivée de l'API pour l'examen dans la page de l'article KB
L'inadéquation de type COALESCE sur le niveau de sécurité et la colonne est varchar not int
La requête SQL pour les détails de l'utilisateur pendant la création de session n'a pas réussi à «expressions de COALESCE incompatibles: 0 attendu pour être de ...
Supprimer la journalisation de débogage, ajouter la limite d'entrée en fonction du WS par courrier électronique, le courrier électronique proxy WS par k8s DNS
Supprimer les instructions de verbose console.log de l'utilisationUserInfo, NavTop, NavPri, MembreListProvider, SessionManager, sessionMonitor, avatarUtils, et ...
Grant all rights when rights list is empty (rights system not yet enforced)
Correct hasDroite d'allumer le format de réseau de droits plats et le mode dieu d'honneur
Les droits de session sont stockés sous la forme de ["VIEW-DASHBOARD", ... et non [-nom, paramétrage-------------------- De même, les vérifications correctes de...
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...
Comme ce que tu vois expédier ?
Chacune de ces mises à jour atterrit automatiquement dans votre espace de travail. Commencez gratuitement et regardez-le grandir semaine après semaine.