Case-insensibile ricerca e-mail in modo da reset e-mail inviare
Il recupero della password ha ridotto l'ingresso ma findByEmailEmail fa un caso-sensibile match contro l'email memorizzata (ad esempio Sage@KamoCRM.com), quindi...
Reset password proxy a SecurityService DNS interno
Il proxy /api/recover predefinito api.kamocrm.com, che Traefik percorsi a APIService (non recupera il controller) → 404 → "Qualcosa è andato storto" su La parol...
Spostare le maildirs di Dovecot in un PVC di percorso locale (soff rclone/MinIO FUSE)
Maildirs erano su hostPath /mnt/shared-files/email/mail — il montaggio FUSE rclone supportato da MinIO object storage, che non può ospitare in modo sicuro un ma...
Mettere MySQL datadir su un PVC locale-percorso invece di rclone/MinIO FUSE
La mail MySQL datadir (e maildirs) erano su hostPath /mnt/shared-files, un rclone FUSE supportato dallo storage di oggetti MinIO, che non può duramente o ospita...
Mailbox list API restituisce l'interfaccia utente
GET /api/email/mailboxs ha restituito l'entità grezza (providerStatus, lastSyncedAt, nessun conteggio dei membri). Le impostazioni dell'UI leggono... lo stato e...
Carry impersonation audit trail attraverso org salts
Quando il chiamante è già una sessione di impersonazione (un dio amministratore che agisce come un altro membro, che trasporta SUDO MEMBER ID), entrando in un a...
Autorizzare l'accesso alla casella di posta privilegiata per leggere + send-as
risolvereForMailbox ha concesso solo l'accesso tramite un'assegnazione diretta MemberMailbox, Quindi le cassette postali sono in superficie. NoSuchElementExcept...
Smettere di incollare pagine sul *** cookie in middleware proxy
proxy.ts (Next middleware) reindirizzato ogni richiesta di pagina senza *** cookie a /logout. Dal momento che la sessione id ora vive in sessioneStorage — che u...
Smettere di toccare i cookie; inviare gettoni esplicitamente sulle chiamate auth
Ripeti tutti i cookie legacy/migrazione. Il token vive in sessionStorage (chiave ***) e viaggia come intestazione X-***-Token, che backend già preferisce — ness...
Non adottare il cookie legacy ***; chiarirlo invece
Subito dopo la sessioneStorage Switch navi, ogni browser ha ancora il suo vecchio biscottino. La migrazione ha adottato tale valore in sessioneStorage (e il coo...
Ripiegare le mie reti quando tutte le reti 403s
hasPlatformAdminAccess è derivato lato client (proprietario-of-session-org AND host-org-is-top-level). Un proprietario di un bambino-org la cui sessione atterra...
Aprire il lancio KamoUniverse in una nuova scheda (finestra asincrona.open + assync OTK)
Gate KamoUniverse launcher su ACCESS KAMOWORLD da solo (bandiera giochi drop org)
Drop CON revision history da backup (solo intraprendente); core BACKUP è OSS
Loki 6.x SingleBinary ha bisogno di obiettivi scalabili a zero; crdb exec via localhost (cert SANs)
Registrare i repository esign per la presentazione del contatore
EsignMeterSubmissionService ha bisogno di EsignUsageRecordRepository, ma @EnableJpaRepositories non ha scansionato com.kamo.z.shared.esign.repos, quindi il cont...
Indietro prezzi aggiuntivi misurati con un contatore di fatturazione
Stripe (>= 2025-03-31.basil) rifiuta l'utilizzo legacy type+aggregate usage modello misurato (i prezzi al metro devono essere sostenuti da metri), quindi i prez...
Selezionare il mercato SUBSCRIPTION per la configurazione della piattaforma
KamoCRM possiede diversi mercati E' cosi'. risolvereProductMarket deve scegliere il mercato di tipo SUBSCRIPTION (piattaforma-accesso) piuttosto che la prima at...
Radice del prodotto = possiede il mercato SUBSCRIPTION, non qualsiasi mercato
Un cliente org (ad esempio BluEleven) possiede i propri mercati aziendali OWN (RETAIL/MORTGAGE) per gestire la sua azienda rimanendo un cliente della piattaform...
Mantenere l'elenco org sul refetch di sfondo
/network re-fired fetchNetworks su ogni sessione di sfondo rinfrescare e ha nascosto l'intera lista su qualsiasi errore fetch, quindi un blip transitorio o una ...
Revertire email link click handlers, isolare causa
Rapporti utente email-preview link click ancora non fare nulla E testo la selezione viene uccisa a metà della falesia. Fare clic con il tasto destro e passare e...
Rigenerare faviconi sull'etichettatura salva; sniff tipo logo reale
provisionUpdate (in esecuzione su ogni salvataggio personalizzato) ha scritto config/css/manifest ma mai faviconi rigenerati — quelli sono stati prodotti solo d...
Seed globals.css dal modello quando la cartella org manca
provisionUpdate (in esecuzione su ogni colore salvare) riscritto il css dell'org/globals.css in atto, ma questo oggetto esiste solo una volta disposizione Full ...
Mostra il logo completo con la sua estensione reale, non hardcoded .svg
La scheda di marca costruito logoFullUrl come logo-full.svg sul supporto, ignorando il logo di orgFullExt. Loghi completi caricati come png/jpg/etc. in diretta ...
Refresh TLSStore ogni ciclo così nuovi certs vengono serviti
update tls store() ha eseguito solo all'avvio e alle importazioni di stoccaggio condiviso, quindi un cert appena rilasciato da cert-manager (HTTP-01) era pronto...
Dare reindirizzamento solo route un backend così Traefik v3 consente
Traefik v3 disabilita un router IngressRoute con servizi: [] quando consentireEmptyServices è spento (come è qui), quindi il dominio-agnostico Il router redirec...
Reindirizza tutti gli host HTTP a HTTPS + gate auto-cert a domini reali org
Doganale org (ad esempio login.sign.pink) ha restituito il nudo di Traefik "404 pagina non trovata" su HTTP normale: l'unico router redirect port-80 E' stato co...
Persist conversion error invece di fallire silenziosamente
Sia il modello che i normali pipeline di conversione di upload inghiottiti Docs guasti di conversione (richiede solo), lasciando is converted=false senza regist...
Installare turbo tramite npm in fase di potuner Docker; pin pnpm; aggiungere .dockerignore
La fase di pruner ha eseguito `pnpm aggiungere -g turbo` prima che qualsiasi pacchetto.json esistesse, quindi corepack ha afferrato pnpm 11 e ha fallito con "gl...
Stivali STRIPE CONNECT WEBHOOK SECRET per KamoLOS
La configurazione di cui si fa riferimento... così il risolutore segnaposto di primavera ha lanciato prima di raggiungere il livello Java **********************...
Tracciare condiviso-lib LoanRepository → PersonalLoanRepository
Aggiorna ogni tipo di importazione e campo da LoanRepository a PersonalLoanRepository attraverso 20 file sorgente KamoLOS + 1 test (i nomi di campo iniettati Lo...
Rename LoanRepository → PersonalLoanRepository
Spring Data JPA deriva il nome del fagiolo del repository dall'interfaccia semplice nome di classe, non dal valore di qualifica @Repository("..."), quindi il la...
Aggiungi /commerce/personal-loans/new entry + polish market-scopes offerta page
L'azione QuickActionsBar "New Loan Offer" ha indicato /commerce/personal-loans/new ma non esisteva una pagina del genere, quindi Next.js ha percorso la pagina d...
Evitare Loan / LoanRepository collisione con app ipoteca
KamoInitializerService non è riuscito a boot perché due classi @Entity chiamato 'Loan' e due classi di repository denominate 'LoanRepository' entrambi volevano ...
Tier 1 critical correctness pass
T1.1 Stripe disbursement strategy: TREASURY (stub — requires SDK upgrade or raw HTTP) / CONNECTED_ACCOUNT (Transfer.create — works in SDK 28.2.0) / MA...
Clicca sul link email della forza tramite la navigazione cattura-fase
Rapporti mostrano clic sui collegamenti email-preview silenziosamente facendo nulla — Hover mostra l'URL, nessun errore di console, ma la navigazione non spara ...
Lasciare nativo target= blank aprire la nuova scheda, drop window.open
La correzione precedente intercettato il clic e chiamato finestra.open() — ma blocchi di popup e le estensioni possono bloccare finestra.open anche da un dirett...
Email-preview link aperti in una nuova scheda
Il sanitizzatore già imposta target=" blank" su ogni link, ma il maneggiatore di clic a livello di documento in NavigationInterceptor stava sparando per ogni li...
Aggiungi /api/security/mortgage-apps catch-all proxy — 404 causa radice
L'app kamo-internal proxes ogni percorso di backend Java attraverso un esplicito Next.js route handler (uno per segmento di alto livello: /commerce-markets, /po...
/pipeline/{vertical}/{x} 404s — namespace è stato rinominato /commerce/
Il namespace /pipeline non ha percorsi in questa app — ogni link che va a /Pipeline/applicazioni/{x}, /pipeline/orders/{x}, /pipeline/engagements/{x}, /pipeline...
Ritacco prima di sostituire la collezione di funzionalità in /org/domain
La precedente correzione ha cablato la proiezione del modello applicato in E' una cosa che non va. org.setCaratteristiche(progettate) sull'entità ancora gestita...
Rimuovere standalone Applications icon — LOS vive sotto Commercio
Il canale di domanda di ipoteca è uno verticale del sistema di commercio, Non un nav di alto livello. Agenti, processori e sottoscrittori lo raggiungono tramite...
Risolvere ambiguo /org/domain handler — Commercio nav stava scomparendo
SecurityController aveva un secondo... E' in collisione con il fatto che... Primavera respinta la richiesta con "Ambiguous handler metodi mappati" → 500 → il ka...
Menu aggiuntivo Flatten in modo che i Doc generati siano raggiungibili
L'approccio sottomenu "Add Generated Doc" non ha funzionato: fare clic sulla voce del menu ha chiuso il menu principale, che ha smontato il MenuItem prima che i...
Guidare il cielo di viaggio da SkyToggle, staccare dal chip di personalità
- Sposta SkyToggle nella sua fila in alto a destra in alto-14 quindi il cursore si ferma sovrapposizione LoGuideChip, che è posizionato a destra-14 assumendolo ...
Smettere doppio appending render query string; aggiungere condivisione + meta dialoghi
Render fix: - **************************************************************************************************************************************************...
Includere com.kamo.z.shared.binder in @EnableJpaRepositories
Gli stivali DocsService con una base esplicitaPackages list, non la scansione di classpath, quindi BinderRepository non è stato scoperto — l'avvio non è riuscit...
Sollevare il cluster CTA sopra il LenderFooter
Pulsanti in basso-12/sm:bottom-14 sono stati clipped dall'attribuzione del lender footer (~76px alto sul desktop). Scompattati in modo che il cluster lo sgomber...
Fermare il chip di personalità sovrapponendo il SoundToggle
LoGuideChip è stato assolutamente posizionato in alto / destra-3 in JourneyHero e JourneyApplyLayout, lo stesso punto del SoundToggle globale in app/layout.tsx....
Like what you see shipping?
All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.
