From ad75f4a846065da9f68c0087724b8865ea4d1516 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roland=20Z=C3=BCger?= Date: Sat, 11 Apr 2026 15:46:55 +0200 Subject: [PATCH] Fix wizard crash on double-submit with async predicate submitPage did not return the dialog predicate promise, so react-final-form considered the submission instantly complete and accepted re-submissions. Two rapid submits on page 4 (DepartureArrivalPage) launched two async aerodromeExists lookups that both resolved and dispatched nextPage, pushing wizard.page past the pages array bounds. Returning the promise lets react-final-form block re-submission while the predicate is in flight. Fixes JAVASCRIPT-REACT-5C, JAVASCRIPT-REACT-50, JAVASCRIPT-REACT-5A, JAVASCRIPT-REACT-58, JAVASCRIPT-REACT-55, JAVASCRIPT-REACT-52 --- src/components/wizards/MovementWizard.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/wizards/MovementWizard.tsx b/src/components/wizards/MovementWizard.tsx index 71e973e1..f12cc0cc 100644 --- a/src/components/wizards/MovementWizard.tsx +++ b/src/components/wizards/MovementWizard.tsx @@ -135,7 +135,7 @@ class MovementWizard extends Component { return; } - dialogConf.predicate(data).then(show => { + return dialogConf.predicate(data).then(show => { if (show === true) { this.props.showDialog(dialogConf.name); } else {