Changelog
Co nowego.
Każde ulepszenie platformy, jak to wysyła.
· kamo-shared-library
Dodaj 7 praw dostępu modułowego (IDs 112-118)
ACCESS_COMMERCE, VIEW_CALENDAR, ACCESS_CHAT, ACCESS_MAIL, ACCESS_VOIP, VIEW_SUPPORT, ZOBACZNY
· SecurityService
Przekaż czas ważności czytelny dla człowieka, aby wysłać wiadomość e-mail na szablon weryfikacji wiadomości e-mail
Dodaj humanizeMinutes() pomocnik, który formatuje minuty w dni/godziny/minuty (enp. "1 dzień" przez 1440 min). Przekaż jako „ekspiryTekt”, aby dopasować zaktualnie Zmienna szablonu kanonicznego.
· kamo-shared-library
Popraw szablon weryfikacji poczty e-mail — URL nieuprawnienie, tekst wygaśnięcia, temat
- Dodaj link weryfikacji zwykłego poniżej przycisku jako copy-paste fallback - Przełącz zmienną wygaśnięcia z "expiryMinutes" na "wyraźnyTyt" Format czytelny dla człowieka (np. "1 dzień" zamiast "1440 minut") - Aktualizacja z zastrzeżeniem "Weryfikacja wiadomości e-mail skojarzona z Twoim kontem "orgName"
· kamo-internal
Serializuj pełny email HTML z ramką inacyjną na szablonach
- serializeFullEmailHtml owija wewnętrzne bloki w markowej ramie zewnętrznej (klimateriałowa, tytuł/podpis, obszar treści, logo footer + nazwa org) Używanie bezwzględnych adresów URL, aby klienci poczty e-mail mogli pobrać obrazy - Zapisy zapisywane są ustawienia klatki zewnętrznej (opcje noclegów, tytuł, tytuł) bodyBlocks.outerFrame i przywrócony przy obciążeniu szablonu - uchwytSave teraz używa serialiFullEmailHtml, więc wysłane e-maile pasują do: Podgląd buildera
· SecurityService
Dodaj ścieżkę weryfikacji wiadomości e-mail opartą na kodzie do /weryfikuj punkt końcowy-e-mail
Punkt końcowy obsługuje teraz zarówno token (link click), jak i userId+ kod (wstęp osobowy 6-cyfrowy). Ścieżka tokena niezmieniona; ścieżka kodu ma nawiązaną Dostarczony kod i mecze przeciwko aktywnemu tokenowi dla tego użytkownikaId.
· KlusterServices
Dodaj cotygodniową śliwkę obrazu i pamiętnik CronJob dla k1m1
CronJob działa w każdą niedzielę 3 nad ranem, uprzywilejowany, przypięty do k1m1. - crictl rmi --prune usuwa nieużywane obrazy kontenerów - nsenter journal vacuum wymusza nasadkę 500MB - CI/CD krok dodawany do przepływu pracy wdrożonych
· KlusterServices
Dodaj Docs wdrożenia krok do przepływu pracy
· kamo-register
Wymagać na stronie weryfikacyjnej przed każdą próbą weryfikacji/przekazuj
- jest resetowany po każdym działaniu (sukces lub awaria) tak świeże Rozwiązanie jest wymagane dla każdej kolejnej próby.
· kamo-register
Zrename /resend-verification strona do /Wsweryfikacja
· kamo-register
Dodaj stronę /resend-weryfikacja do przekierowań logowania
Tworzy samodzielną trasę sprawdzania /resend-verification, która akceptuje ?email i ?userId query params, ponowne użycie PostCompletionScreen dla spójnego Weryfikacja e-mail UX. Uczy RegisterResponse.alias opcjonalnie, więc Strona działa bez dostępnego aliasu rejestracyjnego.
· kamo-register
Przeprojektuj ekran weryfikacji wiadomości e-mail + naprawić ponownie wyślij błąd e-mail
- PostCompletionScreen: pełnostronicowy układ z animowanym org tłem, Karta szklanomoryzmu, logo, wizualne 6-cyfrowe pola kodowe, stany sukcesu/weryfikowane - powśredlaweryfikacja: przekaż wiadomość e-mail w organie wnioskującym (backend tego wymaga)
· kamo-register
Dopasuj kamo-internal avatar storage — 3 rozmiary, MinIO, oddzielny etap przesyłania
Okno dialogowe z próchsze wytwarza teraz trzy kulki PNG (50/150/350px) za pomocą płótna, identyczne - Kamo-internal's AvatarManager. Po rejestracji zwraca użytkownikaId, blobs są POSTed do . (nowy nieuwierzytelniony punkt końcowy Atomowaty przez e-mailVerified-false). avatarUrl nie jest już wysyłany do rejestracji Ciało JSON. Awaria wysyłania Avatara jest nieśmiertelna, więc rejestracja nadal kończy się.
· SecurityService
Dodaj punkt końcowy rejestru do nieuwierzytelnionych awatarów porejestrowanych
POST - akceptuje userId + plik/fileSm/fileMd/fileLg Bez sesji. Straże: użytkownik musi być niezweryfikowany i nie ma jeszcze awatara, zapobiegając Nadużycia wobec istniejących kont. Przechowywa pliki do MinIO z tą samą strukturą ścieżki Rozmiar wariantów jako uwierzytelniony /avatars/photo endpoint.
· kamo-login
Zamień błąd EMAIL_NOT_VERIFIED z bogatą kartą weryfikacyjną
Gdy logowanie nie powiedzie się z EMAIL_NOT_VERIFIED, karta logowania jest teraz zastępowana przez Wypolerowany ekran "Sprawdź swoją skrzynkę odbiorczą": animowana koperta SVG z otwierającą klapą i Pływające błyszczy, zamaskowany wyświetlacz e-mail, przycisk pocztowy z 30-sekundowym Pierścień odliczania SVG, alerty zwrotne sukcesu/eroror/rate-limit oraz "Powrót do Zaloguj się" link. Wszystkie przejścia używają AnimatePresence ze skalą + faudy. - aplikacja/api/login/route.ts: przekaż wszystkie pola błędu backend (nie tylko wiadomości) userId dociera do klienta - - nowy proxy do SecurityService "- - aplikacja/page.tsx: EmailVerifyCard komponent, emailVerifyState / resendLoading / resendCooldown / resendStatus stan, resendVerification callback, 30-sekundowy Użycie czasu odnowieniaEffect, EMAIL_NOT_VERIFIED detection in performLogin
· kamo-register
Rozszerzanie przesyłania zdjęć w celu obsługi formatów AVIF i SVG
Dodaje obraz/avif i image/svg+xml do listy akceptowawej plików oraz Walidacja regex. Aktualizuje znakową etykietę, aby wyświetlić listę wszystkich sześciu formatów. Kamo-internal już akceptuje obraz/-, więc nie ma tam żadnych zmian.
· kamo-register
Dodaj edytor zdjęć react-łatny do etapu przesyłania rejestracji
Odzwierciedla PhotoCropDialog z AvatarManagera ze strony kamo-internal: - okno dialogowe crop otwiera się natychmiast po wybraniu pliku - przesuwając się, powiększając przewijanie lub slider (1–5) - trzaska okrągła prowadnica pokazuje przycięty obszar - płótno produkuje 400 x 400 PNG przechowywany jako base64 avatarUrl - przycisk ponownego zrzutu na podglądzie pozwala użytkownikowi dostosować się po zapisaniu
· kamo-register
Dodaj /api/trasę z kipiem i autodetekcję kraju
Proxies client IP to SecurityService GeoLite2 lookup, a następnie ustawia Wykryty kraj w FormMyCory automatycznie na obciążeniu strony.
· SecurityService
Dodaj GET /api/bezpieczeństwo/geoip/me do wyglądu kraju IP klienta
Czyta prawdziwy adres IP klienta z nagłówków X-Fora-For / X-Real-IP, Czy wyświetla GeoLite2 i zwraca "code country_code, country_nazwa". Używany przez etap automatycznego wykrywania autorejestru kamo.
· kamo-register
Zamień h ? kamo-capcha-widget inline w kroku finiszowym
· kamo-register
Dodaj /api/capcha/challenge proxy
· kamo-register
Dodaj producenta kamo-capcha-widget, usuń pakiety h
· kamo-register
SP6 register kreda refaktora refaktora — split PersonalInfo, dodaj prawdziwe API rejestracji
- Zamień FormPersonalInfo na FormName (pole nazwy) i FormAvatar (generator avatar Creator z trybami generowania/przesłaniania/wykiwania dla 13+) - Usuń formularzOdzyskiwanie (pole ratunkowe usunięte z przepływu) - Refactor FormPassportID do układu podwójnego pola: zawsze pokazywane alias, e-mail tylko dla 13+; callbacki zastępują okno globalne - Dodać registerApi.ts z typem : - Dodawanie PostCompletionScreen do wpisu kodu weryfikacji wiadomości e-mail i przekierowania SIGNED_IN - Refactor RegisterFlow: dynamiczna lista krokowa oparta na "IncludeAgeCheck i isUser13Plus", zamień uchwyt-przeformułowanie "Submit stub" prawdziwym wywołanym połączeniem API, render PostCompletionScreen on success on success
· InitializerService
SP5 migrować KamoCRM agereq do ALL_WORK_ELIGIBLE
Dodaj KamoCRMAgeReqAdateRunner (zamówienie 10) — kondycja warunkowa idempotentowa W sprawie uruchomienia; Klauzula WHERE sprawdza starą wartość, więc powtórki są bezopowe. Błędy Są połykane, więc startup nie jest zablokowany. Zaktualizuj DataLoader do seed ALL_WORK_ELIGIBLE w nowych instalacjach.
· SecurityService
Wdrożenie weryfikacji i rejestracji SP4 weryfikację i rejestrację
- Usuń sejsszą e-mail/VerificationEmail.java (hardcoded SMTP stub) - Dodać ? (wzorzec pakietu odzyskiwania luwek) - Dodawanie - Generowanie tokenów/hashing SHA-256, wysyłanie/weryfikowanie/reend przepływy poparty ? - Dodawanie - alias+emailuj unikania, tworzenie użytkownika, uruchamia weryfikację wiadomości e-mail w rejestrze - SecurityController: wire RegistrationService do /zagregowany punkt końcowy, dodaj EMAIL_NOT_VERIFIED (403) bramkę przy logowaniu, dodaj POST /verify-email i POST /register/reend-weryfikacja punktów końcowych - Bump kamo-shared-libiry do 1.4.0
· kamo-shared-library
Dodaj e-mailVerificationToken entity + repo + User.alias/emailVerified + UserRepo Zapytania; bump 1.4.0 (SP4)
· InitializerService
Dodaj SP4 email_verification_tokens DDL + alias/email_verified kolumny
· kamo-marketing
Dodaj zastrzeżenie znaku towarowego do tekstu prawnego footer
· kamo-internal
Dodawanie stron ustawień konta dla telefonu + pytania zabezpieczające (SP3)
Dodaje - z okablowaniem API do SecurityService /api/konto/. Synchronizacja nav we wszystkich 3 lokalizacjach.
· kamo-login
Przewodowywanie prawdziwych wywołań API na stronę /odzysk (SP3)
Zastępuje wszystkie fakeSubmit() stubs recoveryApi połączenia. Dodaje SMS OTP Weryfikacja fazy, wejście e-mail z nasionami, krok nowego słowa i lądowanie tokenów Za pośrednictwem ?token URL param.
· kamo-login
Dodaj /api/recover proxy + klient recoveryApi (SP3)

Twój wszechświat czeka.
Rozpocznij bezpłatnie w kilka minut.Dodaj produkty, kiedy tylko będziesz gotowy — bez migracji, bez nowych logowań.
Bezpłatne na zawsze — nie wymaga karty kredytowej