Mint un visitatore id quando un codice di rinvio arriva senza uno
RegisterFlow già letto `?discount=` per i visitatori che hanno raggiunto il modulo senza passare attraverso il middleware di marketing — un codice incollato in ...
Prove the deploy by digest, not by tag
Il commit precedente si ferma `set image` essendo un no-op silenzioso. Questo afferma che risultato: dopo il rollout, il tag viene risolto per digerire al Regis...
Una ricostruzione dello stesso commit non ha dispiegato nulla e ha riferito il successo
L'immagine è contrassegnata con il commit SHA, così la ricostruzione dello stesso commit produce un riferimento di immagine identico. `kubectl set immagine` qui...
Dire al server quale organizzazione il risentimento è per
Il pulsante Resend della schermata di verifica ha segnalato il successo e l'invio niente per ogni organizzazione tranne che per la piattaforma. `host` già cava...
Le impostazioni di rollout-safety dovevano andare dove CI effettivamente le legge
kamo-register è l'unico servizio sulla piattaforma il cui CI genera la sua inline di distribuzione, con un quidoc, invece di applicare k8s/deployment.yaml. Due ...
Dare il rollout stanza per il 15s minReadySeconds ora i costi
progressoDeadlineSeconds era 60. Questa è la finestra che un rollout deve mostrare i progressi prima Kubernetes rinuncia e segna il fallimento, e il commit prec...
Lasci un rollout finire quello che il vecchio pod stava facendo
Deploys ha sostituito l'unico pod di ogni servizio con nulla per catturare le richieste in volo. Tre impostazioni, applicate attraverso la flotta: - preStop do...
Vernice uno schermo di registrazione white-label dall'organizzazione dell'host
Stesso difetto di kamo-login a200fc6, stessa causa. getThemePath()'ultimo resort deriva una cartella tematica dal nome host - le cartelle dei nomi avevano PRIMA...
Clip la giostra di sfondo in modo che il suo zoom-in smette di lampeggiare una barra di scorrimento
Il telaio in ingresso anima dalla scala 1.04, e il suo wrapper non ha fatto clipping, quindi il sovradimensionamento ha appeso ~2% del viewport oltre il bordo i...
Ripristina la carta da parati dello schermo di verifica, rilascia la sua ***, ammoderna la sua piastra di stato
Tre cose sbagliate con /verificazione, tutte visibili su uno schermo. La carta da parati non ha mai caricato. PostCompletionScreen chiamato Il parametro e' il ...
YearEst è opzionale sul org, quindi ammetti il null che arriva
Anno stabilito è nullable sull'ente Organizzazione e SecurityService serializza esplicitamente il null, così il `numero` dichiarato non è mai stato il tutto for...
Marca la schermata di registrazione dall'alias di org, non l'host
register.kamocrm.com è la pagina di registrazione per ogni organizzazione senza registro ospite del proprio, così una cartella tema host-derived dipinto tutti l...
Tenere il token int64 ids come cifre, non come numeri
KToken non poteva verificare un vero token. I quattro id che trasporta sono int64s, e il Java signer (kamo-shared-library KToken#canonicalForMac) si applica cia...
Sbloccare i telefoni di ritratto, aggiungere analisi deimbuti di analisi, fissare il progetto handoff
- Rimuovere il cancello di ritratti e "rotate your phone" finestra di dialogo che ha nascosto il l'intero wizard sui telefoni di ritratto; il wizard ora rende s...
Harden il kubectl download contro l'egresso sfacciato [skip ci]
dl.k8s.io sopra l'ingresso del corridore cade in modo intermittente metà del trasferimento: curl: (56) OpenSSL SSL read: decryption fail or bad record mac che f...
Invia il nome host del dichiarante nel corpo in modo che l'account atterra sotto il giusto org
L'org risolto è stato disponibile sul client ma mai inviato al backend — l'org è stato trasmesso solo implicitamente tramite X-Forwarded-Host, che l'ingresso ri...
Risolvere il secchio di org subdominio nella propria cartella MinIO
getThemePath() stava riducendo il nome host ad apex+tld per entrambi il tema ospite e la cartella del secchio, così subdomini inquilini come gnosia.demo.kamocrm...
Mostra solo la frase del seme di recupero del conto passo per under-13
Perché: 13+ utenti già forniscono e-mail, telefono e domande di sicurezza come metodi di recupero, rendendo la frase di seme ridondante per loro. I conti inferi...
Abilitare il pulsante Fine in polling widget.getState() e passare a auto=onload
L'ascoltatore dell'evento Statechange non è stato in grado di attivare in modo affidabile il pulsante Fine dopo la verifica. Due cause principali: 1. La logica...
URL del logo Cache-bust utilizzando il temaRevisione da config.json
DynamicMetaLoader ora memorizza il temaRevisione in sessioneStorage e incendi KAMO THEME CONFIG LOADED dopo aver ottenuto config.json. ThemeLogo ascolta per que...
Carica Avatar Creator avatar al server dopo la registrazione
Avatar Creator avatar sono stati memorizzati solo come URL di dati SVG in stato di forma locale e mai inviato al server, lasciando nuovi utenti senza set di ava...
Ripristinare il layout della pagina di verifica mediante lo zero delle dimensioni di input nascoste
MUI Box interpreta i valori numerici di larghezza/altezza 0–1 in percentuale, quindi larghezza:1 ha fatto coprire l'ingresso nascosto la scheda completa. Cambia...
Token link auto-verifica e reindirizza a login; aggiungere codice focus indicatore
- /verification?token=xxx ora chiama verificareEmailByToken sul supporto e reindirizza a login sul successo; torna alla voce del codice sul fallimento - La case...
Ascensore *** widget sopra il overlay click-to-focus (z-index)
L'overlay (posizione:absolute, z-index:0) copre il Capcha widget perché è apparso in seguito in ordine DOM. Aggiungere z-index:1 al *** contenitore permette agl...
Reindirizzare a /verificazione dopo la registrazione invece di rendere inline
Mantiene l'URL accurato — mostra del browser /verificazione non /member.
Passare il corpo di errore a monte tramite proxy di sicurezza invece di un messaggio generico
Precedentemente restituito {error: "Upstream error"} su non-2xx, perdendo il reale messaggio di errore da SecurityService. Ora inoltra il codice di stato e il c...
Prevenire stale ageReqType cache da mostrare il controllo dell'età in modo non corretto
- Org route: ridurre Redis TTL da 24h a 5min e aggiungere etàReqTypeMember al rilevamento delle macchie in modo che i campi di sicurezza rimangano freschi dopo ...
Imposta il titolo della scheda del browser su 'Register - {org name}'
DynamicMetaLoader ora chiama utilizzare il documento ThemeConfig e aggiornamenti. titolo a 'Register - {org.title}' una volta che l'org carica. Fallback statico...
Risolvere gli errori TS dai passaggi utilizzati prima della dichiarazione e del cast in stile Capcha
Muovetevi! useMemos sopra l'usoEffetti che dipende da loro; importare CSSVariables tipo e usarlo per lo stile Capcha-widget prop.
Corretto Pulitura dell'ascoltatore Capcha e reset stato verificato sull'uscita del passo
Applicare la correttezza e l'implementazione SP6 correzioni di qualità
C1: utilizzare NEXT PUBLIC H*** SITE KEY env var invece di segnaposto hardcoded C2: cambiare RegisterResponse.userId e tutti i param API dal numero alla stringa...
Sostituire hardcoded KamoCRM fallback con titolo di organizzazione dinamica
Invalidate stale Redis cache mancanti org campi etichetta
Dati relativi alla registrazione prima dell'aggiornamento di SecurityService mancanti membroTitleNonPlural campo. Rilevare questo e recuperare i dati freschi co...
Proxy tutte le chiamate API esterne tramite Next.js per evitare CORS
Aggiunto catch-all /api/security/[...path] percorso proxy e aggiornato ThemeConfig, FormAccountRecovery, FormPassportID, FormPersonalInfo, e FormRecoveryEnforce...
API di Paesi proxy tramite Next.js e disabilitare la modalità di test
Il colpo diretto a api.kamocrm.com non è riuscito a causa di CORS. Aggiunto /api/conti percorso proxy (stesso modello come /api/org) e disabilitato USE TESTING ...
Utilizzare URL GitHub completi per i riferimenti di azione nel flusso di lavoro di Forgejo
Le refs (ad esempio azioni/checkout@v4) possono non essere risolte su Forgejo runners. Allineato con il formato di lavoro di kamo-internal.
Utilizzare l'etichetta del membro del team dinamico sul pulsante homepage
Forza la modalità luminosa per sovrascrivere la modalità oscura esterna CSS
- Impostare Tailwind darkMode a 'class' per evitare che le preferenze del sistema operativo attivino le utility scure - Aggiungi!importante overrides in globals...
Modalità di luce forza indipendentemente dalla preferenza di schema di colori del sistema operativo
Rimuoveto preferisce-color-scheme dark media query così il sito rende sempre in modalità luce.
Aggiungere override di codice puny per risolvere l'avvertimento di deprecazione
Aggiungi configurazione Buildx con configurazione del registro insicuro per risolvere errori 401 auth
Utilizzare npm installare invece di npm ci per gestire i conflitti di dipendenza
Consentire la terminazione immediata di baccelli bloccati (maxNon disponibile: 1)
Aggiungi i ganci preStop e aumenta il periodo di grazia di terminazione per evitare timeout di distribuzione
Rimuovere le funzioni di helper non utilizzate e le dichiarazioni duplicate da Theme.tsx
Come quello che vedi la spedizione?
Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.