Trasa płatne zapisy do kasy po zalogowaniu
Po udanym auth (manualne lub autologiczne), spożywaj domenę apex-domain ciasteczka sp_checkout_plan pozostawione przez kamo-rejestr i przekierować kupującego na...
Noś płatne?plan od rejestracji w kasie
Kiedy rejestracja członków pochodzi z płatnej cenowej CTA (?plan-pro|business), Upuść apex-domain ciasteczko sp_checkout_plan po zakończeniu. kamo-login zużywa ...
Przewodowy wewnętrzny sekretu-auth od :-)
ESigService teraz potwierdza X-Internal-Auth przeciwko tej samej wspólnej tajemnicy APIService prezentuje - od K8s secret), utwardzając programmatic e-sign Wewn...
Odbudowa dla aktualizacji kamo-shared-library (podpisowe szablony wiadomości e-mail signer)
Odbiera nowe szablony kanoniczne esign.signer_verification + esign.sign.signer_invite, więc nasionaForOrg może je zasiać na pierwszym wysłanie.
Szablony sygnatariuszy e-sygnatariuszy (weryfikacja + zaproszenie)
Dodaj dwa kanoniczne szablony wiadomości e-mail o szerokości całej platformy rozstawione leniwie na org: - esign.sign.signer_verification (step-up OTP: ?code, ?...
Zarejestruj esign repozytoria dla fasoli do przedłożenia licznika
EsignMeterSubmissionService potrzebuje EsignUsageRepository, ale EnableJpaRepositories nie skanowali com.kamo.shared.esign.repos, więc kontekst Nie udało się za...
E-sign użytkowania pomiar + samoobsługa dla konsumentów
4 pomiary: - EsignMeterSubmissionService (ślicany codziennie): agregaty API-oryginalne EsignUsageRecords na org/p. + okres; pierwsze 40/okres wliczone w cenę,...
Zakres kluczy API_SIGNATURE (E-Signature API)
Dodaj zakres interfejsu API E-Signature do menedżera klucza API org, aby personel mógł przyznać Business orgs programmatic e-sign dostęp. Stosowanie poza wliczo...
Publiczna brama e-sygnazna API (zakres API_SIGNATURE)
Add /api/public/esign/' do PublicApiController: waliduje klucz API org, Wymaga zakresu API_SIGNATURE, limitów stawek i przekazuje do ESigService's Wewnętrzne AP...
Wewnętrzne programmatic kopert API (origin-API) dla biznesu
- EsignInternalController (/api/esig/internal/'): X-Internal-Auth + X-Org-Id authed, wywołany przez APIService po poprawnieniu klucza API_SIGNATURE; Powtórn...
Zakres API_SIGNATURE api-key + EsignGenericEnvelope.origin
Additive, bez wersji bump: - ApiKeyScope.API_SIGNATURE — bramy programowego e-podpisu API (Business) - EsignGenericEnvelope.origin (EsignUsageOrigin, nieważne) ...
Wyślij akcję do podpisu + stan koperty w edytorze dokumentów
Dodaj przycisk "Wyślij do podpisu" do nagłówka edytora szablonów, który otwiera Okno dialogowe wysyłanie dokumentu do odbiorców i śledzenie statusu podpisywania...
Generyczny silnik tworzenia/wyskończ (po stronie nadawcy)
Dodaj OTK-authed /api/esig/envelopes API kamo-internal do wysłania Dokumenty do podpisu, ponowne wylewaniu tych samych podmiotów wspólnych i libów, które są pub...
Publiczne podpisywanie API silnika dla sign.sign.pink
Wdrożenie /api/esig/public/e) Logowanie API do wywołania aplikacji kamo-signer, Przekształcenie sygnatariusza na żywo z preview-stub w działający backend. - wa...
Zwrotne ceny add-on z licznikiem rozliczeniowym
Stripe (> 2025-03-31.basil) odrzuca stare użycie_type + aggregate_usage Model mierzony (''metered cen musi być cofany przez liczniki'), więc dodatek USAGE_BASED...
Przełączanie produktów platformy w zakładce Organizacje
Powierzenie oznaczenia produktu platformy, gdzie należy – Platforma Organizacje. Dodaje ogrodzone przełącznika na org (nie wyłączone dla org najwyższego poziomu...
Zarządzaj Organization.isPlatformProdukt z platformy ? Orgs
PlatformAccountSummary ujawnia isPlatformProduct + hasSubscriptionMarket; nowy PUT (platforma-admin gated) Ustawia banderę i unieważnia uprawnienia członków org...
Explicit Organization.isPlatformProdukt jako sygnał uprawnia do korzenia
Zastąpienie pochodnego rynku SUBSCRIPTION" wyraźnym, Flaga własnościowa sygn. Produkt platformy (np. sign.pink) jest białą etykietą Produkt, który działa platfo...
Wybierz rynek SUBSCRIPTION dla konfiguracji platformy
KamoCRM jest właścicielem kilku rynków. determinacjaProductMarket musi wybrać rynek typu SUBSCRIPTION (platform-dostęp) Zamiast pierwszego aktywnego. Utrzymuje ...
Korek produktu jest właścicielem rynku SUBSCRIPTION, nie żadnego rynku
Klient org (np. BluEleven) jest właścicielem rynków własnych firm (RETAIL/MORTGAGE) Prowadzenie firmy, pozostając jednocześnie klientem platformy KamoCRM — jej ...
Zakres uprawnień do roota produktu, a nie KamoCRM
Uprawnienia USkutecznie rozwiązuje teraz root uprawnienia każdego członka poprzez UprawnienieRootResolver (niezależny przodek-właściciel rynku z lub siebie) zam...
Rozwiązy uprawnienia według org produktu, a nie platformy na najwyższym poziomie
Wprowadzenie uprawnieńRootResolver: najbliższy przodek-właściciel rynku lub ja orgi (jego root produktu), spadając z powrotem na platformę na najwyższym poziomi...
Zachowaj listę org na tle refetch; rozmowy sesyjne dedupe
/Network ponownie wystrzeliła fetchNetworks na każdym tle odświeżenia sesji i Ukryłem całą listę na dowolnym błędzie, więc przejściowy blip lub nieświeży hasPla...
Dodaj odbiorcę koperty, wartość pola, podmioty statusowe odbiorcy
Sprawdź w modelu nadajnika w progresji: EsignEnvelopePoceńent (+repo), EsignFieldValue (+repo), EsignRecipientStatus i aktualizacja ESignSignerType. Additive; b...
Dodaj EsignUsageRecord dla do pomiaru użytkowania na podpis
Nowy podmiot korzystający tylko z dodatków (zwolnik AiUsageRecord) emitowany przy podpisie Zakończenie. Tylko sygnatury pochodzące z API liczą się do miesięczne...
Odwrócz link e-mail click handlerzy, izolować przyczynę
Link do wiadomości e-mail kliknij, nadal nic nie robi i tekst Wybór ginie w połowie przeciągania. Kliknij prawym przyciskiem myszy i unoszący się w obie prace, ...
Zachowaj proporcje, nigdy nie rozciągną logotypów innych niż okwadrat
Ramy Favicon PNG/ICO zostały wyprodukowane z konserwa AspectRatio (fałszywie), rozciągając się dowolne logo nie-kwadratowe w zniekształconym kwadratowym. Center...
Regeneruj favicons na zapisy etykietowania; wąchać prawdziwy typ logo
PrzepisAktualizacja (bieg do każdego zapisu etykietowania niestandardowego) napisał config/cs/manifest Ale nigdy nie zregenerowały się favicony – zostały one wy...
Seed globals.css z szablonu, gdy brakuje go w folderze org
PrzewidywanieAktualizacja (przebieg na każdym oszczędzaniu kolorów) przepisać org's css/globals.css Na miejscu, ale ten obiekt istnieje tylko raz przepisWrócił ...
Pokaż pełne logo z jego prawdziwym rozszerzeniem, a nie zakodowanym .svg
Zakładka brandingowa zbudowała logoFullUrl jako logo-full.svg na górze, ignorując Logo orgłaFullExt. Pełne logo zamieszczone jako png/jpg/etc. Logo-full.-ext w ...
Odśwież TLSStore każdą pętlę, więc nowo wydane certyfikaty są serwowane
update_tls_store() uruchomiony tylko przy starcie i na import współobstać, więc a więc Certt świeżo wydany przez cert-manager (HTTP-01) był Gotowy z tls-a secre...
Daj przekierowyną trasę backend, aby Traefik v3 umożliwiał mu
Traefik v3 wyłącza router IngressRoute z usługami: [], gdy allowEmptyServices jest wyłączony (tak jak jest tutaj), więc domena-agnostyk HTTP-> HTTPTS przekierow...
Przekierowanie wszystkich hostów HTTP do HTTPS + bramka do prawdziwych domen org
Domeny zwyczajne org (np. login.sign.pink) zwróciły goły Traefik "404 strona nie znaleziona" na zwykłym HTTP: jedyny router przekierowania portu-80 Został zakod...
Znak wstępny.pink + www.sign.pink w STATIC_DOMAINS
sign.pink to nowa domena apex (konsument e-podpisy / białe etykiety Kamo lokator org). Wstępnie apex + www, więc a Let's Encrypt cert istnieje wcześniej Pierwsz...
Persist conversion_error zamiast po cichu
Zarówno szablon, jak i regularne rurociągi konwersji przesyłania połknęły Docs Niepowodzenie konwersji (tylko zaliczona), opuszczenie is_converted-false bez rej...
Pełnej szerokości przedsiębiorstwa przeróbka z podglądem na żywo
PożyczanProductForm był pojedynczą wąską kolumną (maxWidth: 880) z kodem twardym Wszędzie po angielsku. Teraz używa tego samego wzorca przedsiębiorstwa, co stro...
Dwukolumnowy układ z okienkiem podglądu na żywo
Nowa strona była wysoką wąską kolumną na szerokich ekranach — zmarnowaną połowę Widnieje widokowe. Teraz używa CSS Grid z formularzem po lewej (5fr) i a Na żywo...
Przeprojektuj stronę nowej oferu jako dwukolumnową przestrzeń pracy + podgląd na żywo
Prosisz o pełne nieruchomości, nowoczesne, dopracowane — ostatni refaktor. Jednokolumna tworzą się w muszli o pełnej szerokości, która jest dokładnie szeroka Pó...
Polska strona nowej oferu — stan pusty, odznaka LOC, niestandardowe terminy
Trzy luki UX, które strona oferty miała po wcześniejszym refaktorze: 1. Pusty stan. Gdy rynek nie ma jeszcze produktów pożyczkowych, wykorzystano rozwijanie ...
Zrename Loanpository - PersonalLoanRepository
Spring Data JPA wywodzi nazwę fasoli repozytorium z nazwy interfejsu Prosta nazwa klasy, a nie od wartości kwalifikującej „Repozytorium(”) Wcześniejsze obejście...
Add /commerce/personal-pożytki/nowy wpis + polska strona ofertowa
Akcja QuickActionsBar "New Loan Offer" wskazano na /commerce/personal-linie/new Ale nie istniała taka strona, więc Next.js skierował się do dynamicznej strony [...
Pełnowymiarowe korporacyjny polski na 10 stronach
Przyjmuje nowoczesny wzór przedsiębiorstwa (nagłówek zdzistrybowy + bułka tarczasta + Strzałka tylna + pełna wysokość elastycznej powłoki + zawartość z grupy ka...
Wyzwalanie odbudowy, aby odebrać przemianowany byt PersonalLoan
Obraz SecurityService przy 761019b został zbudowany przed współdzielonym libem d14dc54 (który przemianował podmiot pożyczkowymi na rzecz JPA nazwę „PersonalLoan...
Expose PERSONAL_LOANS w pickerach typucommerce i zaangażowania
Dodaje PERSONAL_LOANS do COMMERCE_TYPES i EngagementType listy Nowy rynek pożyczek osobistych KamoLOS może być tworzony z rynków/nowo nowych i Rynkowe/strony do...
Unikaj Pożyczki / PożyczkiZderzenie kolizji z aplikacją hipoteczną
KamoInitializerService nie uruchomił się, ponieważ dwie klasy Entity "Loan" i dwie klasy repozytorium o nazwie "LoanRepository" chciały Rejestruje tę samą nazwę...
T6 + T7 frontendowy raport + raporty / automatyczny płat
Frontend polski (T6): - Nowy lib/format.ts: pomocnicy lokalnizna — formatCurrency / formatData / formatDateTime / formatPercentBps. Zastępuje zakodowane w twa...
LoanChargeOffReasonCode (IRS 1099-C box 6) + wyszukiwanie audytu
- Nowa LoanChargeOffResonCode enum (A_BANKRUPTCY..H_OTHER) na IRC ?6050P - Pożyczka.chargeOffasonCode kolumna - - multifiltr ?Query dla wezwań regulatorowych ...
- )
Używany przez . do reaktywacji istniejącego Plan PAUSED zamiast tworzyć duplikat wiersza, który osieroci zatrzymanego.
/api/los proxy HMAC-signs nagłówki tożsamości
Gdy LOS_PROXY_HMAC_SECRET env var jest ustawiony, serwer proxy teraz oblicza - tajna) i wysyła X-Proxy-Signature + X-Proxy-Timestamp obok X-Org-Id / Nagłówki X-...
Zapytania redpo w Paged + hrabstwoByStatus dla gorących ścieżek
- KredytyRepozytorium: powiatByStatus / hrabstwoByOrganizationAndStatus + ZnajdźByStatus(...) / / / + + - do numeracji odpornej na kolizję - LoanPaymentRe...