Dodaj SecurityConfig, aby umożliwić wyzwalanie demona i punkty końcowe siłowników
Domyślne domyślne Spring Security zablokowały wszystkie punkty końcowe 401. Dodano do jawnie Konfig zezwala na zezwolenie /api/daemon/a i /a intaturatorium bez ...
Zezwalaj na 6 ustawień na wiersz na ekranach xl i schować element nav Club House
Siatki strony ustawień skalują teraz do 6 kolumn w punkcie przerwania xl. Pozycja menu Club House skomentowana w NavPri.
Zaktualizuj okno narzędzia do wyskakujących biletów, aby użyć light theme matching chatColors
Zamień ciemny motyw (ciemne tło, biały tekst, bursztynowe akcenty) Schemat kolorów światła używany przez wszystkie inne wyskakujące okienka narzędzi w aplikacji...
Usunąć MANAGE_SUPPORT warunkowy z ustawień / kart analogowych, włącz wysuwanie NavPri
Wszystkie zakładki są teraz zawsze widoczne. Usunięto wydzierżawionyPanel z NavPri Wpis wsparcia Tak więc panel wysuwany działa na zawisu.
Uczyń opis textarea wypełnianie pozostałej wyskakujących okien
Usunięto ograniczenia minRows/maxRows i ustaw układ elastyczny na korzeń wejściowym Tak więc obszar tekstowy rozszerza się, aby wypełnić całą dostępną przestrze...
Dodaj ręczny sterownik uruchamiania z duplikatem ochrony wykonania
POST /api/daemon/wytwór/-jeobName natychmiast uruchamia pracę w Quartz. Zwraca 409, jeśli praca jest już wykonana. GET /api/daemon/wytłap/status Powroty bieżące...
Tymczasowo ustaw synk z geolitate co 2 minuty do testów
Wrót do cotygodniowej niedzieli 3 rano po potwierdzeniu prac synchronizacji.
Poprawka MediaObjImgPobierz FK do korzystania z MediaObjImg UUID PK zamiast klucza kompozytowego
Kompozyt FK (OBJ_ID, IMG_ID) odwoływał się kolumny nie-PK powodujące typ niedopasowanie (uuid vs int). Zmieniono na pojedyncze FK na odwoływaniu OBJ_IMG_ID Medi...
Odbudowana z stałą biblioteką współdzieloną (natywna kwerenda dla czasu rozdzieliwania avg)
Użyj natywnego zapytania, aby uzyskać czas rozdzielenia avg, aby uniknąć ograniczenia Hibernate EXTRACT (EPOCH)
Hibernate 6 nie może stosować EXTRACT(EPOCH OD ...) do odejścia znacznika czasu (produkuje rodzaj czasu trwania, a nie TEMPORAL). Przełącz na natywne zapytanie ...
Dodaj stronę pomocy technicznej z listą biletów, analityki i ustawieniami
Dodaj okno narzędzia pomocy technicznej z tworzeniem biletów, czatem i oceną
Dodaj wspólny status / odznaki cenowe i komponent komunikatu systemowego
Usuń stary system pomocy, dodaj elementy nav
Usuń aplikację/pomoc/aplikację/komponenty/pomoc/piski. Dodaj przycisk wsparcia Do paska narzędzi NavTop i pozycję menu do Nawigacja na pasku bocznym NavPri.
Dodawanie typów frontend i trasy proxy API
Interfejsy TypeScript dla wszystkich obsługują DTO i 13 tras proxy API Przesłanie do MediaService dla tematów, biletów i raportowania punktów końcowych.
Dodaj usługi pomocy technicznej, kontrolerów REST i przekaźnika STOMP
Wdraża backend MediaService dla systemu biletów wsparcia: - SupportTopicService: CRUD dla tematów wsparcia lub g-scoped - SupportAssignmentService: round-robin ...
Przeprojektowanie przełączania przetwarzania sztucznej inteligencji jako przełącznik oznaczonej za pomocą ikony asystenta
Wymień przycisk ikony przełącznika za pomocą asystenta MUI Ikona, oznaczona jako "Train AI With This Note". Przesunięty w lewo od Zapisz przycisk. Przeznaczone ...
Dodawanie obsługi głębokiego linkowania do strony notatek za pomocą query param
Wsparcie /noty?id-note-note-Wzór URL, więc linki źródłowe AI do czatu Może poruszać się bezpośrednio do konkretnej notatki. Otwiera notatkę w Edytuj widok, gdy ...
Uwzględnij klikalne linki źródłowe w kontekście RAG dla czatu AI
Zaktualizuj RagClient, aby osadzić linki do znaczników w kontekście przesłanego na Model AI. KB artykuły link to /kb/'guid', notes link do /noty?id-noted. Instr...
Dodaj przełączanie przetwarzania AI do notatek UI
Dodaj pole aiProcessingEnabled do typów notatek i przycisk przełączania W pasku narzędzi NoteEditor. Członkowie mogą włączyć / nie należy do działania AI Na noc...
Usuń kod notatek, przeniesiony do KBService
Zasługi na banknoty (kontroler, usługa, szyfrowanie) Przeniesiony do KBService, gdzie lepiej pasuje do wiedzy Obowiązki w zakresie zarządzania treścią.
Trasy /api/noty do KBService zamiast SecurityService
Zarządzanie notatek zostało przeniesione z SecurityService do KBService.
Przekaż memberId do RAG dla niewiadomego czatu AI
Dodaj ekstraktMemberId do SessionHelper. Zaktualizuj RagClient do wysłania CzłonekId w żądaniach wyszukiwania, więc RAG zwraca oba artykuły lubg KB I własne not...
Add note embedding support to RAG pipeline
Add NoteEventConsumer for NOTE_EVENTS NATS stream and NoteEmbeddingPipelineService for processing notes. Update Qdrant to store sourceType, memberId, noteId. Se...
Dodawanie zarządzania notatkami z integracją RAG
Przenoszenie uwag CRUD z SecurityService do KBService. Dodaj notatkę Szyfrowanie, publikowanie zdarzeń NATS dla rurociągu RAG i AI Przetwarzanie wsparcia w prze...
Dodaj kolumnę przetwarzania AI i tabelę zapisów osadzania
Dodaj kolumnę AI_PROCESSING_ENABLED do tabeli notatek i twórz Tabele notE_EMBEDDING_RECORDS do śledzenia wektoryzacji RAG.
Dodaj wsparcie przetwarzania AI do notesu modelu danych
Dodaj pole aiProcessingEnabled do podmiotu notatek, DTO i żądań. Utwórz NoteEmbeddingRecord byt i repozytorium do śledzenia Wektoryzacja notatek w rurociągu RAG...
Dodaj przycisk przełączania filtra do nagłówka notesu
Przycisk zawalenia się paska bocznego był ukryty za lewym paskiem nav aplikacji. Zastąpił go przełącznikiem ikony filtra w NotesHeader, który jest Zawsze dostęp...
Przezroczyste szyfrowanie przy stronie serwera ze stabilnym kluczem głównym
- Dodaj stałe notes.master-encryption-key do ConfigMap (był Generowanie losowego klucza na każdym poduszku, robiąc stare notatki Nie do odszyfrowania) - Zaw...
Wyczyść nieskreślalną zawartość notatek i wyłączyć flagę szyfrowania
Gdy odszyfrowanie po stronie serwera nie powiedzie się (zeroszku zekorczowane lub niedopasowanie klucza), Wyczyść zawartość i u zestaw jest Szyfrowane-fałszywe ...
Odszyfruj zaszyfrowane notatki w getAllNotes i odpowiedziach wyszukiwania
GetAllNotes i searchNotes zwracały surową zaszyfrowaną zawartość Notatki z jestEncrypted-true. Teraz odszyfrowuje zawartość po stronie serwera przed Wracając, d...
Dostępne warianty awatarów wielkości użycia — medium dla profili/e-maili, małe dla nav/lists
Dodaj parametr rozmiaru do fetchMemberAvatar (domyślnie do "sm"). Podpisy e-mailowe, Wysyłanie e-maile, nagłówki profilowe, posty, komentarze i głowice hex tera...
Wyodrębnij zwykły tekst Lexical JSON do podglądu kart notatnych
Zawartość notatek jest teraz Lexical JSON, a nie HTML. Funkcja podglądu Cofał się, aby stripHtml, który porzucił surowy JSON jako podgląd. Teraz analizuje Lexic...
Obsługa wielowymiarowych zdjęć awatarów i punkt końcowy crop
Zaktualizuj uploadPhotoAvatar, aby zaakceptować opcjonalne warianty (fileSm, fileMd, fileLg) Przechowywane z nazewnictwem sufiksów (?hash_sm.png, itp.). Dodaj P...
Dodawanie narzędzia do przycinania zdjęć z re-easy-crop i wielowymiarowe przechowywanie awatarów
Zamień stare PhotoCropDialog interaktywne narzędzie przycinające z wykorzystaniem re-aasy-crop. Podczas przesyłania lub edycji zdjęcia użytkownicy wybierają ter...
Odbudowa z zaktualizowana biblioteka współdzielona (serializacja identyfikatora łańcucha NoteDTO)
Serialize NoteDTO Długie identyfikatory jako ciągi dla precyzyjnego bezpieczeństwa JavaScript
Identyfikatory cockroachDB unique_rowid() przewyższają JavaScript MAX_SAFE_INTEGER, Powoduje precyzję strat po przeanalizowaniu jako liczby. Dodać JsonSerialize...
Przeróbować synchronizację GeoLite — poprawne pobieranie adresu URL, hash streamingu, wstawki do partii
- Użyj bieżącego API permalink MaxMind z HTTP Basic Auth (account-id + license-key) - Streaming SHA-256 zamiast plików.readAllBytes (zapobieganie OOM w pliku 10...
Przewiń surowe odpowiedzi JSON w notatkach na trasach API w celu zachowania precyzji ID
Identyfikatory cockroachDB unique_rowid() przewyższają JavaScript MAX_SAFE_INTEGER. Poprzednia odpowiedź.json() + NextResponse.json() w obie strony JSON.parse d...
Poprawa zauważaw save flow — utrzymuj edytor otwarty, wyświetlaj rzeczywiste błędy
- Nie zamykaj edytora po zapisaniu istniejącej noty (tylko blisko Po utworzeniu nowego) - Napraw fetchWithAuth, aby odczytać error.error zamiast error.message...
Otwórz notatki bezpośrednio na kliknięcie, wyjmowanie kategorii z danych, usunięcie szyfrowania
- Kliknij notatkę, aby otworzyć ją bezpośrednio w edytorze, zamiast robić Oddzielne wywołanie API, które zawiodło - Pochodne kategorie i tagi z załadowanych d...
Używaj atrybutów OTKPreAuthFilter zamiast ponownego walidowania OTK w NotesController
OTKPreAuthFilter już zużywa i sprawdza OTK, przechowując Dane sesji w atrybutach żądania. NotesController próbował to zrobić Przebadanie już konsumowanego OTK, ...
Wyraźnie wysuly forward Visit Visit IP do usług downstream
ForwardedHeaderFilter zużywa X-Fora z przychodzącego wniosku, Tak więc, gdy APIService przekazuje do SecurityService za pośrednictwem RestTemplate header Zaginą...
Załaduj kraje z CountryType enum, dodaj ikony flagi do blokowania geograficznego
Kraje traktują teraz proxies do /api/bezpieczeństwo/kraje (krajowe (TuntryType enum) Zamiast - (pusty stół GeoLite). Dodaje flagi świata reagującego na flagę kr...
Przepisuj blokady programu Access Wskazówki dotyczące przejrzystości
Wyjaśnia wszystkie cztery sekcje (whitelist, czarna lista, bloki temperatury, blokowanie geograficzne) W prostym języku. Dodaje przewodnika serii CIDR z przykła...
Resolve notes awaria ładowania strony i zamień edytor Quill na Lexical
Dodaj brakującego czasu uruchomienia / eksportu dynamicznego do wszystkich notatek tras API, aby umożliwić Prawidłowe uwierzytelnianie OTK. Zamień React Quill W...
Przewiń odwiedzający IP / User-Agent do backendu, dodaj czas trwania wybierania jednostek
apiProxy: Teraz przekazuje X-For i User-Agent z oryginału Odwiedzający więc backend rejestruje prawdziwe informacje o kliencie zamiast serwera Next.js. AccessB...
Jak to, co widzisz żeglugę?
Wszystko to pojawia się w twoim miejscu pracy na własną rękę. Zacznij od bezpłatnego planu i przeczytaj tę stronę ponownie w miesiącu.
