Chiudere gli oracoli residui dell'esistenza di cross-org + cap
Risultati di revisione avversaria MLOS-W-01/03/04: - la busta di lista vuota normalizzata 404 ora riecheggia le chiavi di identità della richiesta *************...
Registrazioni client OAuth2 CRUD (platform-admin gated, crittografato-a-rest, segreti mai trapelati) + piattaforma-enc-key env
Processi Steward WRITE — feedback record, pubblicare politica di pull-through, avviare la corsa dei prezzi
Scrivi disciplina, applicata identicamente su tutti e tre i POST: - lato server costruito a valle da un WHITELIST di campi del browser; - organizzazioneId + att...
Prevenzione atomica prima della creazione di piombo — prevenire i cavi in piscina orfani
social.lead.new può essere elaborato contemporaneamente (old + new Security Pod di servizio entrambi tenere un abbonamento core-NATS durante un RollingUpdate → ...
Live FFA toggle — endpoint rapido + trasmesso sugli aggiornamenti dei prodotti
- PATCH... (MANAGE CREDITS): attivare un prodotto flag free-for-all dalla scorciatoia Leads-Available; pubblica vendor-product + disponibilità. - No, no. → Non ...
Avvertito quando un collegamento sociale manca fornitoreProdotto / mercato (permesso creato ma non in piscina)
SicurezzaServizio di lettura-proxy per MLOS Governance
Un controller / coppia cliente davanti MLOSGovernanceService cinque letture (entrambi la sua i moduli steward-feedback e pull-through-policy condividono /api/go...
SicurezzaServizio lettura-proxy per documenti MLOS (doc + doc-orchestration)
Due coppie di controllori di lettura/client facenti fronte a MLOSDocService (/api/docs) e MLOSDoctionService (/api/doc-orchestration) Documenti schermo steward....
M2 SecurityService — social.lead.new consumer (core NATS) crea POOLED lead con il flusso di commento SEPARATE + SocialRemoteUserMapping Lead; SocialMediaClient interno membro-add; LeadAcceptController gancio aggiunge accettare rep alla conversazione sociale + trigger popup
Verifica dei prezzi proxy di lettura (scala + decomposizione LLPA)
MlosPricingController @ /api/security/mlos/precing + MlosPricingCliente a MLOSPricingService (/api/pricing). Riutilizza MlosBaseController. esegue inietti di in...
filtro ?status nella lista dei mercati; rimuovere il DELETE ridondante
GET /api/security/commerce-markets ora prende uno stato opzionale=active|archived|all (default active) in modo che le impostazioni La scheda archiviata può cari...
Guardia inquilina chiusa a falce su waivers/validations di sottoscrizione
Recensione trovata che la guardia org era un no-op sul caso comune della lista vuota per il da-id waivers/validations legge (che il servizio MLOS non org-filter...
Sottoscrittura recensione leggere proxy (Agenzia AUS + regole interne non QM)
MlosUnderwritingController @ /api/security/mlos/underwriting + MlosUnderwriting Cliente a MLOSUnderwritingService (/api/underwriting, X-Internal-Auth). Riutiliz...
Delega di lettura per il Centro Comando
Aggiungere un proxy MLOS-named, in sola lettura che permette il kamo-internal Capital & Risk Centro di comando raggiungere MLOSCapitalMarketsService senza espor...
Toggle a livello di sistema, lead-viewers, modifiche di bilanciamento del credito, paginazione della storia
- /credits/system-wide GET+PATCH (org credit-suspend), /credits/lead-viewers (VIEW LEADS titolari incl. Grant-all) per il filtro membro di Storia. - Modifica de...
Cancello FFA accettabilità su sospensione disponibile-sommario + disponibile
disponibile-sommario ora risolve l'assegnazione del membro e salta il prodotto quando sospeso BEFORE il free-for-all cortocircuito, e disponibile() cancelli di ...
Wire mlos-internal-auth (INTERNAL AUTH SECRET) in distribuzione [skip ci]
Client interni di SecurityService (recupero SMS -> VOIP, email di recupero + modello seme -> Email) inviare X-Internal-Auth da internal.auth.secret, che era Uns...
Accettare leadId come stringa per crearePost per preservare la precisione CRDB id
I ID di piombo sono valori CRDB unici rowid() che superano JS MAX SAFE INTEGER. Il frontend ora invia leadId come stringa; parse sia String che numerico forme c...
Inject test lead + fix Manage-Credits list for grant-all admins
- Nuovo elicottero. (MANAGE CREDITS): crea un sintetico 'Void > Test Lead' (John Doe / 555-555-5555 / noreply@ richiedeAssignment=true nel mercato dato/vendor/p...
Archivio file originale a MinIO + download endpoint
Inietti MinIOStorageService; POST /source-file memorizza il caricamento grezzo in privato secchio interno; GET /{id}/source-file lo scorre indietro (controllato...
Persist run/records, modello CRUD, header auto-detect & re-import
- LeadImportPersistenzaServizio: intestazione normalizzare+SHA3 impronte digitali (ordinato / non ordinato), mappatura / freccia JSON round-trip, persist run + ...
GET /leads/disponibile-sommario per l'allerta live NavPri
Aggrega l'accettabilità del chiamante in tutti i mercati attivi (cancello del cliente + credito/FFA/ regole quotidiane). Resi haAcceptable / hasAcceptableCredit...
Correttezza, scala & PII indurimento in LeadImportController
- dedup tramite query LeadRepository, invece di trovareAll() su tutti gli inquilini (era un OOM/DoS + rischio di esposizione cross-tenant, re-run per 1000-row b...
Mark-reassignment gated by MARK right; Manage-Credits restituisce i membri con Spend/Receive right
LeadAcceptController: marchio-riassegnazione richiede MARK LEADS REQUIRES ASSIGNMENT. LeadCreditController.manage: rendimenti ammissibiliMemberIds (supporti SPE...
API per il controllo di credito
- LeadAcceptController: GET /leads/disponibile, POST /leads/accept (atomic, comment-gated, FFA + credito), GET /leads/uncommented, POST /leads/{id}/mark-reassig...
Filtro di stato di mercato, archivio / riattivazione, venditori di mercato
- E' una cosa da fare. (default active); arricchire ogni mercato DTO con prodotti del fornitore derivato dai suoi fornitori - Sostituire DELETE /lead-markets/{i...
Avviare l'orologio di prova sul primo login del proprietario di org
Seed new orgs with a PENDING trial (source=TRIAL, trialExpiresAt=null) che non concede nulla fino all'inizio, quindi iniziare l'orologio di 3 giorni primo login...
Impostare la regione del sito + utilizzare nodo-local MinIO per pod
- Aggiungi kamo.minio.region (MINIO REGION, default us-west-ca-s-1) così SigV4 le firme corrispondono alla regione del sito del server; fissa lo sfondo caricame...
Il segnale del banner di prova è org-level (tutti i membri di un org di prova), non basato sul sedile
Il cancello dei membri concede il catalogo illimitato per TRIAL attivo + espone il processoExpiresAt
Recuperare i diritti di avvio sincronizzazione su DB transitorio indisponibilità per evitare CrashLoopBackOff
Arrestare la perdita di immagine di sfondo di cross-org; riordine sicuro + secchio di stadiazione
Riordinare solo i nuovi file ricaricati al loro nuovo indice, riordinando immagini esistenti e lasciando l'immagineBgCount rivendicare slot non popolate; provis...
Ritorno 404 per un org mancante invece di 200 con corpo vuoto
getOrganizationById ha restituito un nudo null, che la primavera serializzata a HTTP 200 con un corpo vuoto; i clienti che chiamano risposta.json() poi gettato ...
Lascia che l'Utente di sistema risolva qualsiasi modello applicato di org
Il cancello cross-org ha restituito 403 quando orgId!= sessione org e il chiamante non ha avuto una riga membro nel bersaglio. L'utente di sistema su piattaform...
Utilizzare il servizio MinIO cluster DNS; drop deprecated WireGuard/CGNAT IPs e k2m1/k0m1 in pensione
Aggiungi kamp-apps, VectorService, kamolos, kamo-signer-monorepo a changelog pubblico
Canonicalize webhook nome repo a pubblico-progetti involucro
Dopo la migrazione a grappolo i repos di Forgejo sono stati ricreati più in basso (servizi di sicurezza), ma righe storiche e l'uso del filtro dei progetti pubb...
Generare faviconi tramite logo multi-nodo letto, non esiste un solo-nodo()
generareAndUploadFavicons() gated su minioService.exists(), che solo stats l'attuale host MinIO. Quando il semplice logo è stato scritto a (o solo replicato su)...
Esposizione GD (diritto eleggibilità) in /user-info per kamo-universe
La sessione memorizza la bandiera GD (KSessionService) ma /user-info non è mai tornato la Kamo-universe's KamoIdentity ha sempre deserializzato is god=false e G...
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...
Modifiche per aggiungere il supporto di password di cambiamento ai profili di account
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...
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...
Semplifica l'installazione kubectl nel lavoro di distribuzione (fix CI deploy)
Resurrect su k1m1 — condiviso-lib da k1m1:3000, drop dead k2m1 deploy, pin k1m1 immagine del registro
Come quello che vedi la spedizione?
Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.