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ą Do...
Utwórz rekord użytkownika w rejestracji, aby nowi użytkownicy mogli się zalogować
Populate wszystkie zmienne szablony EMAIL_VERIFICATION
Wysyłał tylko „token, kod” — szablon również potrzebuje orgName, firstName, SprawdźLink i wygadzenieCz. Załaduj org i użytkownik, aby zbudować pełne vars Mapa i...
Użyj SQL świadomy subdomena, aby dopasować do findByDomain JPQL logic
Org domain lookup in resendVerification wykonywała dokładne zapytanie Nie powiodło się to w przypadku subdomen przechowywanych jako rejestry dzieci (np. „api” z...
Prawidłowy port URL usługi e-mail w konfiguracji (4203 -> 80)
Usługa EmailService K8s eksponuje port 80, a nie 4203. Weryfikacja wiadomości e-mail Wydawy były wymierzone w każdej próbie rejestracji.
Omiń JPA org lookup, aby uniknąć błędu kasanego Hibernate
- wyzwalacze :-) To powoduje autoprzepływy hibernacji. Ten spłuch nie powiedzie się, ponieważ Organization.features było Wcześniej zastąpiono zwykłą Listą (naru...
Użyj getReferenceById, aby uniknąć kaskadowych sierotUmoczenie błędu flush podczas rejestracji
Załadunek organizacji za pośrednictwem findById wewnątrz "Transactional" spowodował Hibernacji Wykrycie kolekcji funkcji zostało odwrotne podczas automatycznego...
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 wob...
Dostosuj nazwy pól rejestracyjnej i kształtu odpowiedzi za pomocą umowy frontend
Frontend wysyła nazwę na pierwsze/nazwaLO, ale kontroler odczytuje firstName/lastName, Wywołanie 400 „Wymagane jest pierwsze imię”. Reakcja na sukces powraca "s...
Dodaj usługi SecurityService i dao.repositories do skanowania EnableJPPRepozytoria
UserPhoneLookupRepozytorium w pakiecie naprawczym nie zostało odebrane, ponieważ EnableJpaRepositories tylko na liście dao.repos i commerce. Dodano Pakiet bazow...
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 auto...
Rozwiązuj duplikat e-mailTruduSkonflikt konflikt fasoli
/i :-) Były identyczne - Komercje o tej samej domyślnej nazwie fasoli, powodując - w przypadku startupu. Usuń duplikat w Rejestracja/import odzyskiwania z e-mai...
Adres 4 wyniki przeglądu kodu w ścieżkach rejestracji i logowania
- Ukryj surową wiadomość wyjątku na / ścieżce / rejestracja 500; zamiast tego dziennik - Niezamknięte (503) na podstawie zweryfikowanej przez e-mail DB czeku DB...
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-...
Dodaj AccountSettingsSAdministrator + Usługa dla telefonów + pytania bezpieczeństwa (SP3)
Umożliwia zalogowanym użytkownikom ustawione/weryfikowanie telefonu i skonfigurowanie 3 pytań zabezpieczających. Trasy do /api/konto/o (sesyjne – za pośrednictw...
Dodaj grę BulkTextSmsClient + EmailTemplateServiceClient + PasswordRecoveryController (SP3)
Pełny przepływ odzyskiwania hasła: e-mail-link, SMS OTP, pytania bezpieczeństwa, fraza nasiona. Trasy do /api/recover/ (nieuwierzytelniona). Używa rurociągu poc...
Wire EmailTemplateSeedClient do -
Thin RestTemplate klient, który POSTuje się do poczty e-mailService Po org + właściciel TeamMember Wytrwale. Retries dwa razy z backoffem; porażka rzuca OrgProv...
Doda się Z do tej poryPozeń, więc JS analizuje go jako UTC
LocalDateTime.toString() nie produkuje oznacznika strefy czasowej, powodując JavaScript's new Date() do traktowania wartości UTC jako czasu lokalnego i Wyświetl...
Konwertuj odcięcie PT midnight na UTC dla zapytania o dzisiejszą liczbę
Zobowiązania są przechowywane w UTC, ale odcięcie było naiwnym LocalDateTime w PT, powodując wczorajsze zobowiązania PT (00:00–06:59 UTC) Liczyło się jak dzisia...
Dodaj publiczny punkt końcowy z tzw. kamo-nowww build-time bake-in
Add Analytics - zamiennik tekstu analitycznego w dezynfekcji changelog
Tokeny Redact nr 32 w dezynfekcji changelog
Każde słowo (bieganie o nie-białej przestrzeni), które jest 32 znaków lub dłuższe, to Zastąpiono z ? przed wysłaniem tytułów i opisów do usługi tłumaczeniowej, ...
Wygeneruj token weryfikacji TXT na domenie tworzenia, sprawdzania w verify-dns
- createDomain: generuj 32-łowy token UUID i przechowywać za pośrednictwem setVerificationToken - verifyDns: sprawdź _kamo-verify rekord TXT dla kamo-site-verif...
Aktualizuj wymagane aliasy — dodaj aplikację, capcha, docs, sign; usuwanie dziedzictwa
Zezwalaj na zarządzanie domenami krzyżowo poprzez weryfikację własności użytkownika
Zbieżność tłumaczenia zielami do 3 wątków, aby zapobiec wyczerpaniu basenu DB
UnbounddAsync (SimpleAsyncTaskExecutor) stworzył jednocześnie 50 wątków Kiedy zlecony jest harmonogram retryczny, każdy otwiera transakcję DB i drenuje Basen po...
Trzy błędy uniemożliwiają zatalenie tłumaczeń changelog
1. - odrzucał wydarzenia, ponieważ uchwytWebhook() nie miał ’Transactional — zapisz + publikowanieWydarzenie() wystartujące na zewnątrz - W każdej transak...
Dodaj /setup/dns backend — egzekwowanie jednej domeny, sonda SSL, nowe aliasy
- Wymuś jedną niestandardową domenę na org w POST /api/security/domenie - Dodaj capcha, docs, podpisuj do standardowych aliasów; usuń stare aliasy - Aktualizacj...
Zastosuj wymianę słów w czasie tłumaczenia, a nie spożycie
Oryginalny tekst jest zachowany w DB, aby dodać nową regułę i Wyzwalanie tłumaczenia to wszystko, co jest potrzebne do aktualizacji istniejących rekordów. Zmia...
Przenieś changelog word replacement na backend przed tłumaczeniem
Zamienniki tekstu (Docs-Docs, Meet-Meet itp.) i tajna nazwa Redaction (tajne nazwy K8s) były wcześniej stosowane po stronie klienta w ChangelogClient.tsx, co oz...
Sprawdź TeamMember.isOrganizationOwner flaga dla wykrywania właściciela w punkcie końcowym my-networks
Poprzedni czek dotyczył tylko org.getOwner() (kolumna użytkownika_id_owner), która Może być null dla istniejących orgów. Autorytatywcza flaga właściciela mieszk...
Serializuj identyfikatory org i członków jako ciągi w punkcie końcowym sieci, aby zapobiec utracie precyzji JS
Uwzględnij odpowiedź rodzica org in /org/domain
Punkt końcowy getOrganizationByDomain ręcznie buduje mapę odpowiedzi Ale nigdy nie uwzględnił odniesienia do organizacji macierzystej. To zapobiegło Frontend od...
Nie pozwól, aby anla przetłumaczonego opisu ukryły angielski oryginał w changelogu
Posługiwania tłumaczenia dla miejsc nieen były bezwarunkowym nadpisem Opis z - który jest nieważny, gdy: - tłumaczenie zostało zapisane przed zakończeniem tłuma...
Usuń translate config z application.yml — należy do k8s/configmap.yaml
Użyj opartych na UUID metod repo do tłumaczeń abonamentowych, unikaj leniwego obciążenia w harmonogramie
Dodaj tłumaczenie async dla changelogu i planów subskrypcji, dodaj lokalne publiczne API
Dodaj grupę concurrency, aby zapobiec duplikatowi biegów przepływu pracy
Gdy pchnięcie uruchamia przepływ pracy i przepływ pracy_dispatch jest również wystrzelony (lub dwa pchnięcia przychodzą w szybkim tempie), oba biegi zostaną uru...
Dodaj zarządzanie wychyciem ołowiu i kontrolerom odbioru publicznego
Dodaje dwa sterowniki do zautomatyzowanego systemu wlotu ołowiu: - LeadIntakeController: uwierzytelniony CRUD dla punktów końcowych, pola przyjęć mapowania, z...
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.