Paga senza lasciare l'ordine, e non perderlo mai più

Fixkamo-internal
Spegnimento
6 settembre 2026 alle ore 23:51 UTC
Autore
Kamo
Impegno
1e71127

Inviare qualcuno a un'altra pagina per aggiungere una carta era la risposta sbagliata, ed era sbagliato al momento peggiore. La console notò che non c'era carta e collegato al sub-tab delle Informazioni di pagamento. A seguito del collegamento smontato della console — e l'ordine vissuto nello stato React e altrove, quindi il livello, il termine, il sedile conta, moduli e blocchi di stoccaggio che avevano appena trascorso minuti scegliendo erano distrutto sulla strada. Sono arrivati a un modulo di carta avendo perso la cosa che hanno stavano cercando di pagare per, e sono tornato a un picker reset a qualsiasi cosa il l'organizzazione era già attiva. Il pagamento è parte dell'ordine in questo momento InlinePaymentSection si trova direttamente sotto il totale in esecuzione, e l'ordine è mai smontato. Confermare i gettoni della carta e acquista il piano in una sola pressa: salvare() prende un risolutore che restituisce un metodo di pagamento Stripe id, così la carta il passo avviene prima, dentro la stessa azione, e un decoder ferma tutto prima che tutto venga inviato. Mostra una delle due forme senza essere chiesto. Senza carta sul file i campi sono semplicemente aperti — non c'è nulla tra cui scegliere, quindi una lista sarebbe un passo che esiste solo per essere respinto — e "Set as default" è controllato e disabilitato, perché una prima carta è l'impostazione predefinita qualsiasi clicchi qualcuno. Con le carte sul file l'elenco viene visualizzato con il proprio predefinito dell'account già selezionato, quindi il comune percorso è uno sguardo e una stampa; aggiungere un altro è un link che espande i campi inline, con "Set as default" ora una scelta reale, e un modo di tornare al salvato Carta. Qualunque cosa sia attiva porta l'anello di selezione, quindi lo schermo dice sempre che sarà addebitato. Le carte scapolate sono mostrate, dimmerse e non selezionabili, piuttosto che silenziosamente offerto. Informazioni di pagamento torna ad essere quello che è per — carte di gestione — invece di un deviare attraverso il mezzo di un acquisto. L'ORDINAZIONE SUL PAGE Ogni cambiamento è scritto alla mappa ui-preferences del membro, debounced, e leggere di ritorno: una bozza iniziata su un computer portatile è in attesa sul telefono. Solo ordine — nessun dettaglio della carta passa attraverso di esso, perché una carta va in Stripe propria iframe ed è scambiato per un token che non ci tocca mai. È deliberatamente tranquillo. Una bozza che corrisponde all'abbonamento in diretta non è una bozza, così nulla è immagazzinato e nulla è annunciato. Uno che differisce dice così, con un clic per ricominciare da capo. I progetti scadono dopo una settimana, perché un piano abbandonato l'ultimo trimestre non è una decisione in corso e il catalogo può essere spostato Ecco. Un link che nomina un piano batte una bozza salvata — la persona ha appena detto ciò che essi Voglio — e gli add-on del catalogo non sono più trasportati sono calati sul ripristino piuttosto che ha tenuto invisibilmente contro una differenza che nessuno poteva vedere. ANCHE I campi di carte leggono il tema MUI invece di hard-coded vicino-nero, che era inchiostro invisibile su uno sfondo scuro. I marchi sono propri delle reti abbreviazioni piuttosto che una fetta di quattro caratteri che ha reso Mastercard come "MAST". Un SetupIntent speso viene scartato dopo un acquisto, quindi una seconda carta ottiene uno fresco invece di un segreto cliente già consumato in silenzio. Due gare trovate su un terzo passaggio e fissate: il pannello di pagamento non rilegge mai carte dopo un acquisto, quindi l'acquisto con una nuova carta ha lasciato i campi aperti invitanti la scheda appena utilizzata; e il ripristino è atterrato dopo la preimpostazione dell'URL, lasciando un bozza vecchia settimana sovrascrivere il piano qualcuno aveva cliccato un momento prima. Risolto qui, entrambi di superficie da questo lavoro: Date.now() durante il render (il Reagire la regola di purezza Compiler e un conto alla rovescia che ticcherebbe su non correlati re-renders), e un setState all'interno dell'effetto preimpostato — la finestra di dialogo di vendita è derivato dal link ora piuttosto che scritto da un effetto. Full suite verde prima esecuzione: 495 file, 6114 test. 38 nuovi qui. Pulisci, e slint su questi file è pulito dove HEAD ha avuto un errore e un avviso. Copia è in kamo-translation-dictionary 9526e398, spinto prima.

Tutte le modifiche

Come quello che vedi la spedizione?

Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.

Inizia gratis per sempreVisualizza il prezzo