Pulsante Impersonate God-mode sull'intestazione delle impostazioni dei membri
Aggiunge un'azione top-right 'Impersonate' su /settings/member/[id], visibile solo quando la sessione firmata porta la modalità dio (getIsGod) e l'obiettivo non...
Endpoint dell'impersonazione di Dio
POST /api/security/impersonate mints un fresco ***+OTK per un arbitrario membro dell'attuale org del chiamante, portato alla sessione del chiamante modalità dio...
Ritorno orgName + lingua in /user-info
Risolvere il nome del display dell'org e la lingua selezionata del membro (ISO-639- 1 codice) dal DB così kamo-universe può mostrare ogni giocatore's org + la b...
Scheda di lancio KamoUniverse + icona nav (gated ACCESS KAMOWORLD, OTK redirect to play.*)
Aggiungi ACCESS KAMOWORLD destra (145, GAMES) per l'accesso KamoUniverse
Registro delle immagini K1m1 sostituendo k0m1:5000 in pensione (stesse credenziali)
Kamo-universe namespace+quota+valkey, backup CockroachDB, stack di osservabilità
- universo/: namespace + ResourceQuota, valkey-universe (AOF, hostPath k1m1), nightly CockroachDB backup CronJob, operatore bootstrap script - Monitoraggio/: va...
Aggiungi nodo k3m1 + peering cluster di migrazione a IP LAN
- statofulset: pubblicizzare/aggiungere oltre 192.168.4.x (k1m1=.22, k3m1=.36); WireGuard è caduto (k3m1 wg0 10.8.0.1 colliso con l'IP di pubblicità di k0m1). -...
Percorso pagato iscrizioni per il checkout dopo il login
Dopo aver avuto successo (manuale o auto-login), consumare l'apice-dominio sp checkout plan cookie lasciato da kamo-registra e reindirizzare l'acquirente al mar...
Carry pagato ?plan dalla registrazione al checkout
Quando un membro iscrizione proviene da un prezzo pagato CTA (?plan=pro|business), rilasciare un cookie apex-domain sp checkout plan al completamento. kamo-logi...
Modelli di firma elettronica canonici (verificazione + invito)
Aggiungere due modelli di e-mail canoniche su piattaforma seme lazily per org: - esign.signer verification (step-up OTP: {{code}}, {{name}}) - esign.signer invi...
Misurazione di utilizzo E-sign + controllo self-serv del consumatore
#4 metro: - EsignMeterSubmissionService (@Scheduled day): aggrega API-origin EsignUsageRecords per org+period; primo 40/periodo incluso, il resto presentato com...
Expose API SIGNATURE (E-Signature API) portachiavi
Aggiungi il campo API E-Signature al gestore chiave API org in modo che il personale possa concedere Accesso e-sign programmatico per affari o per affari. Utili...
Gateway API e-sign programmatico pubblico (ambito API SIGNATURE)
Aggiungi /api/public/esign/** a PublicApiController: convalida la chiave API org, richiede il campo API SIGNATURE, limiti di velocità e inoltro a ESigService bu...
API di busta programmatica interna (origin=API) per affari
- EsignInternalController (/api/esig/internal/*): X-Internal-Auth + X-Org-Id authed, chiamato da APIService dopo che convalida la chiave API SIGNATURE-scoped; r...
API SIGNATURE api-chiave portata + EsignGenericEnvelope.origin
Additivo, nessuna versione urto: - ApiKeyScope.API SIGNATURE — porta l'API di e-signatura programmatica (Business) - EsignGenericEnvelope.origin (EsignUsageOrig...
Azione per la firma + stato della busta nell'editor dei documenti
Aggiungi un pulsante 'Invia per la firma' all'intestazione dell'editor template che apre un finestra di dialogo per inviare il documento ai destinatari e tracci...
Busta generica crea/send motore (sender side)
Aggiungere le unità kamo-internal API /api/esig/envelopes documenti per la firma, riutilizzando le stesse entità condivise-lib il pubblico firma API legge — l'a...
Motore API di firma pubblica per sign.sign.pink
Implementare il /api/esig/public/* firma API le chiamate app kamo-signer, trasformare il firmatario dal vivo da preview-stub in un backend funzionante. - valid...
Toggle del prodotto della piattaforma nella scheda Organizzazione
Superare la designazione del prodotto della piattaforma dove appartiene — Piattaforma → Organizzazioni. Aggiunge un interruttore gated per org (disabilitato per...
Gestire Organization.isPlatformProduct dalla piattaforma → Orgs
PlatformAccountSummary espone èPlatformProduct + hasSubscription Mercato; nuovo Ma... (platform-admin gated) imposta la bandiera e invalida i diritti dei membri...
Organizzazione esplicita.isPlatformProduct come segnale di diritto-radice
Sostituire l'euristico derivato 'con un mercato SUBSCRIPTION' con un esplicito, Bandiera di proprietà di admin-set. Un prodotto della piattaforma (ad esempio si...
Il membro dello scopo dà diritto alla radice del prodotto, non KamoCRM
EntitlementService risolve ora la radice del diritto di ciascun membro tramite EntitlementRootResolver (nearest market-owning ancestor-or-self) invece di cammin...
Risolvere i diritti per prodotto-root org, non piattaforma di alto livello
Introduce EntitlementRootResolver: il più vicino mercato ancestor-or-self di un org (la sua radice del prodotto), cadendo al livello superiore della piattaforma...
Aggiungi destinatario della busta, valore del campo, entità dello stato del destinatario
Controllare nel modello di esign in corso: EsignEnvelopeRecipient (+repo), EsignFieldValue (+repo), EsignRecipientStatus e un aggiornamento ESignSignerType. Add...
Aggiungi EsignUsageRecord per la misurazione dell'utilizzo per firma
Nuova entità di utilizzo (mirrors AiUsageRecord) emessa alla firma completamento. Solo le firme API-origin contano verso il mese di un piano incluso quota + ove...
Preservare il rapporto di aspetto, non allungare mai loghi non quadrati
Favicon PNG/ICO cornici sono stati prodotti con tenereAspectRatio(false), stretching qualsiasi logo non quadrato in un quadrato distorto. Centro-fit il logo su ...
Pre-seed sign.pink + www.sign.pink in STATIC DOMAINS
sign.pink è un nuovo dominio apex (consumer e-signature brand / white-label Kamo inquilino org). Pre-seed apex + www così un cert di crittografia esiste prima p...
Nuova app di firma monorepo + mobile-first e-signature
Turborepo + pnpm workspaces monorepo alloggiamento riutilizzabili pacchetti e-sign estratto da kamo-internal più una nuova, ultra-polished kamo-signer app — l'e...
Riscrittura di impresa a tutta larghezza con anteprima live
LoanProductForm era una singola colonna stretta (maxLarghezza: 880) con codice rigido Inglese ovunque. Ora utilizza lo stesso modello di impresa della pagina of...
Layout a due colonne con riquadro in anteprima live
La pagina della nuova offerta era una colonna stretta alta su schermi larghi — sprecato metà la vista. Ora utilizza CSS Grid con il modulo sulla sinistra (5fr) ...
Polacco pagina nuova offerta — stato vuoto, distintivo LOC, termini personalizzati
Tre vuoti UX la pagina offerta aveva dopo il refactor precedente: 1. Stato vuoto. Quando un mercato non ha ancora prodotti di prestito, il calo utilizzato rend...
Per-offer overrides per tasso, APR e tassa di origine
LoanOfferCreateRichiesta ottiene tre campi facoltativi — interesseRateBpsOverride, aprBpsOverride, provenienzaFeeAmountOverride. creareDraft li applica quando i...
Esporre PERSONAL LOANS nel tipo di commercio e raccoglitori di fidanzamento
Aggiunge PERSONAL LOANS al COMMERCE TYPES ed EngagementType list in modo da nuovo mercato dei prestiti personali KamoLOS può essere creato dai mercati/nuovi e m...
T6+T7 frontend polish + rapporti org + autopay UI
Smalto frontale (T6): - Nuova lib/format.ts: aiutanti locali-aware Intl — formatCurrency / formatDate / formatDateTime / formatPercentBps. Sostituisce hardcoded...
Tier 6+7+9+10 — frontend polish, org reports, OpenAPI, JaCoCo
T6 (frontend polish): - New /lib/format.ts: locale-aware formatCurrency / formatDate / formatDateTime / formatPercentBps via Intl APIs (replaces hardcoded t...
Tier 5 lotto di conformità
- OfacSanctionsService: Jaro-Winkler fuzzy match @ ≥0.92 dopo exact-match Passo. Colpisce il punteggio di somiglianza superficiale. Configurabile tramite los.of...
LoanChargeOffReasonCode (IRS 1099-C box 6) + ricerca di audit
- Nuova LoanChargeOffReasonCode enum (A BANKRUPTCY.H OTHER) per IRC §6050P - Loan.chargeOffReasonCode colonna - @Query per i subpoenas del regolatore (loanId / ...
Tier 3 sicurezza + Tier 8 gruppo di pulizia bug
T3 — Sicurezza: - Nuova RateLimitFilter (Bucket4j): 1000/min per IP per webhooks, 10/min per sessione per offerta accetta/decoder/rescind, 60/min generale. Regi...
E' il momento giusto
Usato per riattivare un esistente Il piano PAUSED invece di creare una riga duplicata che orfana quella in pausa.
/api/los proxy HMAC-segna intestazioni di identità
Quando LOS PROXY HMAC SECRET env var è impostato, il proxy ora calcola E mi manda. X-Proxy-Signature + X-Proxy-Timestamp accanto al X-Org-Id / Intestazioni X-Me...
Org-side dettaglio prestito pagina + regolazioni / Promise API
- losApi: manualeAdjust, waiveFee, promiseToPay - La pagina completa delle operazioni * 4 carte di bilancio (corrente, principale, interesse, prossimo due) * Mo...
Final batch — compliance, packets, adjustments, Grafana, tests
Compliance: - MlaCheckService — Military Lending Act covered-borrower lookup against DoD MDC single-record query. Returns NotCovered if unconfigured so dev ...
P2 lotto — osservabilità, test, tassa di fine anno, ID Stripe reali
Osservabilità: - micrometro-registry-prometheus sul sentiero di classe - /actuator/prometheus esposto tramite gestione config (sia locale + k8s configmap) - Ser...
LoanOrgStripeConnect + Imposte sui prestiti/campi obbligatori + indici caldi
- Nuova entità LoanOrgStripeConnect (one-per-org, detiene stripeConnectedAccountId + Collegare le capacità di bordo) + repository - Loan: stripeCustomerId (lazy...
P1 frontend — coda di ricarica + timeline di audit
- losApi: chargeOffQueue / confermareChargeOff / auditByLoan - No, no. D120 recensione coda pagina; org utente recensioni ogni prestito, aggiunge un motivo, cli...
P1 lotto — webhooks stato avanzato, cron, commercio verticale
Movimento dei soldi (il nucleo P1): - LoanPaymentPostingService: markSucceedAndPost / markFailed / markReturnedAndReverse / markDisbursementSucceededed / markDr...
P0 indurimento — forme, risoluzione della sessione, metodi di pagamento
Forms (org-side): E' una cosa che non va. /{productUid} modificare pagine - Nuovo LoanProductForm: basi / prezzi / limiti / termini / conformità sezioni, campi ...
Indurimento P0 — Stripe Connect endpoint + PDF flatten
- Fix EsignClient Importazioni: EsignGenericEnvelopeRepository / EsignSignatureRepository live in .esign.repos, not .esign root - Nuovo StripeConnectController ...
/api/los/* percorso proxy → KamoLOS via k8s DNS
Specchi il /api/billing/[...percorso] Delegazione del servizio di fatturazione: *** sessione risolta tramite Redis; X-Org-Id + X-Member-Id inoltrata - /api/los/...
Come quello che vedi la spedizione?
Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.