KamoCRM

Revive soft-deleted membro pref su upsert invece di 500

FixSecurityService
Spegnimento
16 luglio 2026 alle ore 17:58 UTC
Autore
Kamo
Impegno
a9a6652

Per-membro preferenze dell'interfaccia utente ( layout nav, dimensioni testa di esagonale, ecc.) sono memorizzati uno. fila per (member id, pref key) in MEMBER UI PREFERENCEs, custodito dall'unicità vincolo UK MEMBER UI PREF KEY. "Reset to Standard" soffice-deleta il nav layout (DELETE -> is active=false) ma lascia la riga occupando quella chiave. Ho guardato la fila con la sola attiva. ricercatore, perso la fila inattiva persistente, costruito una fila nuova di zecca e INSERTed > violazione chiave duplicata su UK MEMBER UI PREF KEY -> HTTP 500. The kamo-internal frontend ingoia il 500 (optimistic .catch()), quindi il membro riordinato nav sembrava salvare in-session ma mai persisted, e ogni login resettare il layout Standard. navLayout era l'unico pref a colpire questo perché è l'unica chiave con un percorso Reset -> DELETE. Fisso: guarda la riga dalla sua chiave naturale indipendentemente da is active (nuovo SicurezzaServizio-locale ****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** e reagisce la riga soffice (UPDATE by PK) piuttosto che INSERTing duplicato in collisione. Reads (list/get) rimanere intenzionalmente attivo solo. Membri già bloccato self-heal sul loro prossimo riordino. Nessun cambiamento schema/shared-lib; Il servizio di sicurezza ridistribuisce solo.

Tutte le modifiche

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.

Inizia gratis per sempreVisualizza il prezzo