fix: enhance progress bar logic with completion delays and step staging#7278
fix: enhance progress bar logic with completion delays and step staging#7278fairlighteth wants to merge 19 commits intodevelopfrom
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…ompletion scheduling
|
Hey @fairlighteth , thank you, looks waaaay better, however, for this order steps were 1-2-3-2-4. Could you please take a look at it? |
…nce countdown functionality
… fillability handling
|
@elena-zh for debugging purposes only -> https://swap-dev-git-fix-progressbar-states-cowswap-dev.vercel.app/#/debug/progress-bar?debugProgressBar=1 |
|
Hey @fairlighteth , great, great job! There is only one nitpick with 'real' order for this scenario: when a status is changed from 'active to open' after failure, I don't see the test 'a new competition' I see the regular 'competition started' Could you please take a look at it? For the reference, here is the orderID (if needed) with which I faced this issue. Thank you! |





Summary
Fixes #7274
Also addresses #6642 and #6915
Tightens the order progress bar state handling so it stays in the correct step order across retries, fast fills, reloads, bridge-status refreshes, approval/
allowance lag edge cases, and large-mobile animation rendering.
This change specifically:
animations like the expired clock remain unscaled
To Test
Background
The main bug was a frontend state-machine issue: after the progress bar had already advanced, an OPEN status could still send it back to the initial step because
the fallback check was using stale step history.
While fixing that, a few related edge cases became clear:
stay isolated from unrelated observer rerenders
approval/permit races
widths made the animation canvas more obvious
This PR fixes those behaviors and adds targeted regression coverage around retry sequences, immediate completion staging, bridge-context reloads, stale/pruned
timer safety, pruner isolation, approval/allowance lag, and large-mobile animation rendering.
It also adds a temporary debug playground route for QA that can:
Follow-up:
is a pre-existing performance concern and should be handled in a small follow-up PR rather than expanding the scope of this bugfix.