Migra a k1m1 (clone+registry+kubeconfig da k1m1, drop k2m1, semplice installazione kubectl)
Migra a k1m1 (clone+registry+kubeconfig da k1m1, drop k2m1, semplice installazione kubectl)
Migra a k1m1 (clone+registry+kubeconfig da k1m1, drop k2m1, semplice installazione kubectl)
Migra a k1m1 (registry+kubeconfig da k1m1, drop k2m1, semplice installazione kubectl)
Semplifica l'installazione kubectl nel lavoro di distribuzione (fix CI deploy)
Gate KamoUniverse launcher su ACCESS KAMOWORLD da solo (bandiera giochi drop org)
Migrate a k1m1 (dizionario da k1m1, drop k2m1 deploy, pin k1m1 immagine del registro di sistema)
Scheda di lancio KamoUniverse + icona nav (gated ACCESS KAMOWORLD, OTK redirect to play.*)
Aggiungi ACCESS KAMOWORLD destra (145, GAMES) per l'accesso KamoUniverse
Resurrect su k1m1 — condiviso-lib da k1m1:3000, drop dead k2m1 deploy, pin k1m1 immagine del registro
Drop CON revision history da backup (solo intraprendente); core BACKUP è OSS
node-config: documento k1m1 forgejo-runner config (--add-host for submodule DNS)
I contenitori di lavoro su k1m1 rientrano nel DNS pubblico, quindi la flotta-swept http://k1m1:3000 .gitmodules URLs non riescono a clonare lì. Pin k1m1 nel lav...
node-config: document k1m1 docker daemon insecure-registries
Il forgejo-runner k1 costruisce spingere al registro HTTP Forgejo; il daemon.json spedito con solo:5000 voci, quindi ogni atterraggio di lavori di costruzione s...
Registro delle immagini K1m1 sostituendo k0m1:5000 in pensione (stesse credenziali)
Loki 6.x SingleBinary ha bisogno di obiettivi scalabili a zero; crdb exec via localhost (cert SANs)
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...
Unisciti a cluster bidirezionale condiviso con k3m1 su LAN; isolamento account
Ritirare le rotte WireGuard (10.8.x.x.x) per le rotte LAN (192.168.4.22 <-> 192.168.4.36 :6222) con i cred incorporati negli URL del percorso. Rinominare il clu...
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...
Segreto di filo interno da **
ESigService ora convalida X-Internal-Auth contro lo stesso segreto condiviso APIService presenta E' il momento giusto. *** k8s secret), indurimento dell'e-sign ...
Ricostruisci per l'aggiornamento delle librerie kamo-shared (esign signer email templates)
Raccoglie i nuovi modelli canonici esign.signer verification + esign.signer invite in modo che semeForOrg può semerli prima di inviare.
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...
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...
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...
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...
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...
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...
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...
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 ...
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...
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...
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 ...
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 ...
Come quello che vedi la spedizione?
Tutto questo arriva nel vostro spazio di lavoro da solo. Iniziare sul piano gratuito e leggere di nuovo questa pagina in un mese.
