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 ...
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...
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...
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ą...
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...
Usunąć RoleRightsSyncRunner — prawa są dodawane ręcznie dla istniejących orgs
Podstawowy błąd w - (detached Kwestia podmiotu) została naprawiona w kamo-shared-libiry. Nowe prawa dla Istniejące role zostaną dodane ręcznie przez SQL.
Używaj zarządzanych odniesień do ról przy tworzeniu praw do roli w tworzeniuOrganizacji
Po organizacjiRepository.save(), rola lokalnaAdmin/roleEveryone Zmienne mogą być oderwane od kontekstu trwałości. createRoleRights() Dodano wpisy OrgRoleRight d...
Przywróć bramę uprawnień na AccessBlockManager
Ponowne dodawanie uprawnień do kontroli uprawnień MANAGE_ACCESS_RULES, które były nieprawidłowe Usunięto. Kwestia leżąca u podstaw (naprawiono ról administrator...
Usuń pełną komponentową bramkę uprawnień z AccessBlockManager
Nowe prawa nie są jeszcze przypisane do żadnej roli, blokując wszystkich użytkowników. Inne Zakładek ustawień zabezpieczeń (API Access, OAuth2, System Debug) ni...
Usuń czek GD od : ?
Dowództwo sed, które dodało, że obejście trybu boskiego niewłaściwie go wstawiło we wszystkich metodach zawierających sessionData, a nie tylko maRight. To spowo...
Zastępuj tryb boski stan synchronicznie z localStorage
Czy BógMod został zainicjowany jako fałszywy i załadowany tylko z localStorage w localStorage in useEffect (po pierwszym renderowaniu), więc checkRight() zwróci...
Pozwól użytkownikom bo-mode-aktywnie omijać właściwe kontrole w kontrolieRight
Nowe prawa bezpieczeństwa nie są jeszcze przypisane do żadnej roli, powodując, że wszyscy użytkownicy Odmówić. Użytkownicy bo-mode-aktywni teraz przechodzą wszy...
Pozwól użytkownikom kwalifikującym się do omijenia kontroli uprawnień dostępu
Nowe prawa (MANAGE_ACCESS_RULES, VIEW_ACCESS_LOGS, itp.) nie są przyznawane Do dowolnej dotychczasowej roli, więc wszyscy użytkownicy otrzymują zabronione. Użyt...
Przenieś AccessEnforcementFilter do skanowanych pakietów, zrewerywuj ComponentScan
Poszerzony „ComponentScan spowodował konflikt fasoli corsFilter między CorsConfig i WebConfig. Przeniesiono filtr na com.kamo.api.app.config (już zeskanowane pr...
Dodaj konfig połączenia Redis do konfigmapy K8s
Poda APIService nie uruchamia się, ponieważ spring-boot-starter-data-redis Auto-konfiguracja nie mogła połączyć się z Redis na localhost:6379. Punkty, aby Zamia...
Pokaż produkt nav KB bezwarunkowo na pasku bocznym
Usunięto bramę funkcji isKnowledgeBase, więc KB zawsze wyświetla, Dopasowanie poprzedniego zachowania NavTop.
Usuń GradientMeshBackground orbs, które podążają za koderem myszy
Niebieskie i fioletowe promieniowe koła gradientowe zostały renderowane przez Pozycja sterownika GradientMeshBackground śledząca pozycję myszy.
Usuwanie palić i przewijać animacje rozbłystek cząstek
Usuń komponenty rozmyte (Fireflies) z Hero, Cechy, ceny, I SignupSection. Usunąć ScrollParticleBurst Enhanced firework animation Z strony głównej.
Zapobiegaj wprowadzaniu hasła przed upuszczeniem pierwszego naciśnięcia klawisza na przejście kroku
Pętla do głosowania ostrości była dzwonienie do setSelectionRange(0, długość) co 50 ms dla 1,2s, które wybrały dowolny typowy znak, więc następny naciśnięcie kl...
Wymień zepsute antropiczne, OpenRouter i logo xAI SVG
Pierwotnie pliki to 404 zastępców (14 bajtów). Zastąpiony odpowiednimi logo SVG od Simple Icons.
Wymień zepsute antropiczne, OpenRouter i logo xAI SVG
Oryginalne pliki w kamo-internalie to 404 zastępców (14 bajtów). Zastąpione odpowiednimi logo SVG od prostych ikon.
Zaktualizuj kalendarz, kontakt i typy identyfikatorów integracji z Long do UUID
Podmioty kalendarza, podsycanie kontaktów i identyfikatory ContactIntegration to A teraz UUID. Aktualizuje wszystkie usługi, kontrolery i punkty końcowe DAV.
Reaj produktIdsWithInventory z powrotem do Long (Oferowanie utrzymuje się na długich)
Aktualizacja KbMediaRepository and VoipMessageRepozytorium Typy zapytań do UUID
Rozwiązywanie pozostałych niedopasowania typu Long/UUID w sterownikach i fasolach
Fixes LeadVendorController, LeadMarketController, LeadImportController, ImagingKontroler, AccountController, MediaStreamController, POSController, MemberControl...
Aktualizacja LeadImportRequest i NoteVersionDTO dla identyfikatorów podmiotu UUID
Rozwiązowanie pozostałych niedopasowania typu Long/UUID w usługach i DTO
Naprawiono błędy kompilacji w CommerceService, OrganizationService, Usługa zewnętrznaAuthProviderService, Img-Service, Lead-Service, LeadVendorService, ImageSer...
Upewnij się, że karty dostawców rozciągają się na równą wysokość w siatce
Uwzględnij wymagane pola w kreację ładunku książki
Zaplecza DTO wymaga odzadanego isOrgDefault, isOrgLevel, i jestVisible Pola — wysyłanie tylko nazwy spowodowało 415 Nieobsługialny typ medialny.
Zapobiegaj wyskakującym pokucie odbiorcy z migania w lewym górnym rogu
Wywrotek został zainicjowany w pozycji 0-0 i przestawiono w a useEffect (po farbie), powodując widoczny lot z lewej strony. Naprawiono za pomocą useLayoutEffec...
Portal wszystkie nakładki poza kontekstem układania okien narzędziowych
ToolWindowShell stosuje "transformację: translateY(0)" - co tworzy Kontekst układania CSS. Spowodowało to wszystkie nakładki: stałe (autocomplete dropdown, popo...
Fix autouzupełnianie — nieskończona pętla, brak API, auth
Trzy przyczyny roota stałe: 1. Infinite re-render loop: istniejące e-maile były nowym odniesieniem do tablicy Każdy render, powodując wyszukiwanie useEffect...
Napraw nietypowe wejścia odbiorcy i dopasowanie stylizacja pola tematu
- Naprawiono fajerowanie ostrości wejściowej, blokując ostrości wejściowe, pomijając RefDefault Po kliknięciu na elementy lub przyciski INPUT - Rewired Recipi...
Zintegruj pola odbiorców z kompozytorem okna narzędziowego
Poprzedni commit dodał komponenty odbiorcy, ale zmodyfikował Niewłaściwy kompozytor (MessageComposer.tsx). Integracja RecipientField MessageTool.tsx — rzeczywis...
Dodaj przyciski książki na źródło, usuń zbędną ikonę zarządzania
- Usuń zbędną "+" ikonę źródeł z nagłówka przeglądarki źródeł (już dostępne przez dolny przycisk "Zarządzaj źródłami kontaktowymi") - Dodaj przycisk "Dodaj ks...
Pokaż "Proszę czekać."., aż SIP się zarejestrował, a następnie 'Gotowy do wybierania"
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.