Zawsze renderuj podgląd szablonu nawet bez zapisanego szablonu backend
Gdy żaden szablon nie jest zapisany w zapleczu (404), wracaj do DEFAULT_CONFIG zamiast pokazywać zwykłą niesformatową zawartość. Natchrzecie na ws. w os. w tym ...
Ponowne oddanie szablonów po stronie klienta z rzeczywistymi danymi w podglądzie wiadomości e-mail
Podgląd był wyświetlany tekst zastępczy (-member.firstName" itp.) Ponieważ używał pre-renderowanego symbolu zastępczego HTML z backendu. Teraz MessageTool: - O...
Dodaj rspamd config do K8s ConfigMap i ustaw ddl-auto na none
W produkcji ConfigMap zaginęła nieruchomość baza bazowa, Powodowanie CrashLoopBackOff na rozmieszczeniu. Recyv ddl-auto do żadnego.
Uproszczenie selektora źródłowego, dodaj brudne śledzenie i niezałatwione okno dialogowe zmian
- Usuń selekcjonery podtypów dział/użytkownika — szablony są na poziomie org dla organizacji, wszystkich działów i wszystkich użytkowników - Usuń ikonę awatar...
Przenieś etykietę podglądu na żywo do nagłówka poczty e-mail, usuń przycisk Kopiowanie kodu HTML
Tytuł podglądu na żywo i ikona teraz znajdują się w prawym wyrównanym wnętrzu To/Subject - Bar nagłówek. Usunięto przycisk Kopiuj HTML i całą logikę schowka.
Przenieś selektor źródłowy do nagłówka buildera, szablony 2-kowiatowe, szerszy podgląd
- Przesuń rozwijanie źródła z górnej karty do nagłówka panelu builder (dopasowanie pozycji do tytułu Live Preview) - Usuń przyciski cofnięcia i zresetowania c...
Dodaj opcję brakujących nagłówkach i stopkach do nawigacji ustawień poczty e-mail
Zapobiegaj przepełnieniu panelu podglądu na żywo z przepełnionej prawej krawędzi
Zmień builder i panele podglądu ze stałej elastycznej (55%/45%) Prefakable flex, więc szczelina między nimi jest odpowiednio uwzględniana.
Użyj richTextExtension.configure() zamiast klasy RichTextExtension
Klasa RichTextExtension nie jest wyeksportowana z opublikowanego ?lexkit/editor - paczka. Użyj wyeksportowanej instancji richTextExtension z .configure().
Usuń duplikat ContentEditable — użyj wtyczki RichTextExtension
The richTextExtension już renderuje własną zawartość[edytuj] RichTextPlugin. Posiadanie drugiej ręczną ContentEditable stworzył dwa Edytowalne obszary. Usuń ten...
Rehawij edytor KB i układy stron artykułów
Fix komponent edytora: - Owiń w pojemnik z elastycznej kolumny, aby paski narzędzi pozostały stałe i zawartość Obszar przewija się niezależnie - Użyj pozycji:...
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.
Dodaj ciało odpowiedzi i wyloguj się z RagClient do debugowania
Zaloguj adres URL żądania wyszukiwania RAG, orgId, kwerendy i organu odpowiedzi na Błąd do zdiagnozowania 500 odpowiedzi RAGService.
Włącz automatyczne dzielone na model osadzania, aby zapobiec błędom 413
Dodaj --auto-truncate flaga, aby wejścia przekraczające limit 256 tokenów są Cicho skrócony zamiast odrzucony z błędem walidacyjnym.
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...
Obciążenie modelu osadzania z lokalnego hostaPath, aby zapobiec awariom pobierania HuggingFace
Kapsunka wzorowa była w CrashLoopackOff, ponieważ nie mogła. Pobierz model z HuggingFace na starcie (spraw netto / DNS). Zamontuj model z woluminu hostPath z ws...
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...
Strona recenzji aktualizacji do dopasowania pól odpowiedzi wzbogaconego backend
Użyj uid jako klucza, artykułWyjąt na nawigację, artykułTytel dla wyświetlania, DataPopełniła datę. Pasuje do formatu odpowiedzi na nowy backend Obejmuje to szc...
Artykuł zwrotny przewod / tytuł w oczekujących recenzjach odpowiedzi
Podmiot KbArtykułReview ma ’JsonIgnoruj w artykule, więc w toku Recenzje Punkt końcowy był powracający do recenzji bez szczegółów artykułu (przewodniczący, Tytu...
Rzeczywiste komunikaty o błędach zaliczek powierzchni w artykule twórz / iwdzeniu
Przeczytaj errData.error (dopasowanie formatu zaplecza JSON) zamiast - errData.message. Napraw proxy, aby bezpośrednio do przodu zaliczki błędów JSON Zamiast ow...
Dodaj obsługę błędów, aby utworzyć punkt końcowy artykułu
Wrap createArticle call in try-catch, aby przywrócić prawidłowy błąd JSON Odpowiedzi zamiast domyślnej strony błędu HTML Spring Boot.
Dodaj brak bogactwaTextExtension, aby włączyć wejście tekstu edytora
RichTextPlugin z RichTextExtension jest wymagany dla Lexical Jest po cichu ignorowany.
Dodaj wspólny układ KB z trwałymi zakładkami i błędem strony recenzji
Tworzenie aplikacji/kb/layout.tsx z zakładkami KbNavBar udostępnianymi w różnych artykułach, Zasoby i strony Pending Reviews. Usuń duplikaty powłok zewnętrznych...
Zaktualizuj navtop e-mail odznakę, gdy wiadomość jest oznaczona jako odczyt
Dyspozytor e-mail: wydarzenie zmieniane przezfolder po zaznaczeniu wiadomości jako przeczytanej, Tak więc MailButton natychmiast ponownie poskłada nieprzeczytan...
Reweryt e-mail WebSocket URL URL do tej samej ścieżce napisanie Next.js
Używaj /email-ws w tym samym pochodzeniu, bliżsowo przez Next.js przepisuje się na EmailService Internetowy przez k8s wewnętrzny DNS. SockJS HTTP fallbacks (xhr...
Usuwanie nagłówków WebSocket z poczty e-mail middleware
Traefik v3 obsługuje WebSocket Upgrade/Connection headery natywnie. Twardokodnie ich zepsuły transporty napadowe SockJS (xhr-streaming, xhr-poling). Teraz pasuj...
Podłącz e-mail do WebSocket bezpośrednio na adres e-mail.
Next.js przeróbki nie mogą aktualizować połączeń HTTP do WebSocket, powodując Połączenie STOMP do cichego niepowodzenia po 3 reteriach. Teraz używa tego samego ...
Usługa autocertów nie odnawiająca wygasłych certyfikatów SSL
Usługa autocert importowała wygasłe certyfikaty ze wspólnego przechowywania I pominięcie tworzenia certyfikatu CR, więc cert-manager nie mógł sobie poradzić Odn...
Dodaj zwrot sondaży w latach 30 dla aktualizacji e-mail w czasie rzeczywistym, gdy WebSocket jest niedostępny
Połączenie WebSocket po cichu nie udaje się po 3 retach, pozostawiając UI Na stałe nieświeży. To dodaje 30-sekundowy interwał wyborczy jako wiarygodny Opad we w...
Zmień nazwę przycisku Team, aby Czat teraz i zmień panel, aby kliknąć, aby aktywować tylko kliknięcie
Dostosuj karty branch-setup i automatyzację z projektem karty rozliczeniowego
Standarizuj wzorce układu w zakładkach ustawień: spójna wyściółka, Składowy komponent EmptyState, dopasowana struktura stołu i style nagłówka.
Używaj współdzielonego EmailWebSocketContext dla nieczytanych aktualizacji odznaki w czasie rzeczywistym
MailButton tworzył duplikat połączenia WebSocket za pośrednictwem useEmailWebSocket() I optymistycznie zwiększanie liczby nieprzeczytanych. Teraz korzysta ze ws...
Z Nazwanie "Ureczuj nowy e-mail" na "Compose New Email" w rozwijaniu poczty
Trasy medialne WebSocket za pośrednictwem mediów. Subdomain z limitem ponownego prób
Używanie MediaFeedWebSocket łączył się z tymi samymi węzami (404) zamiast Media.kamorm.com. Fix konstrukcja URL, aby dopasować do użytkuChatWebSocket wzór I dod...
Poprawa nazw pól artykułów KB do dopasowania jednostki backend
Frontend używał niewłaściwych nazw pól (dateModified, content, authorName) zamiast rzeczywistych pól zaplecza (katadateUpdentated, contentJson, Autorem jest Mem...
Niedopasowanie typu COALESCE na poziomie bezpieczeństwa — kolumna jest varchar not int
Zapytanie SQL dla szczegółów użytkownika podczas tworzenia sesji zawodziło "w kompatybilnych wyrażeniach COALESCE: oczekiwane 0 będzie typu varchar" Bo - to jes...
Usunąć rejestrowanie debugowania, dodaj limit próby e-mail WS, proxy e-mail WS przez k8s DNS
Usunąć instrukcje verbose console.log z użytkowaniaUserInfo, NavTop, NavPri, MemberListProvider, SessionManager, sesjaMonitor, avatarDoleg, oraz UżywajChatWebSo...
Grant all rights when rights list is empty (rights system not yet enforced)
Prawidłowy majRight do dopasowania formatu płaskiej tablicy praw i honorować tryb Boga
Prawa do sesji są przechowywane jako ["VIEW_DASHBOARD", ...] nie [nazwa, ustawienie]. Również pominąć właściwe kontrole, gdy GD (tryb boga) jest prawdziwy.
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...
Jak to, co widzisz żeglugę?
Każda z tych aktualizacji automatycznie ląduje w miejscu pracy. Zacznij za darmo i obserwuj, jak rośnie tydzień po tygodniu.