KamoCRM

Don't show global loading overlay for client-handled forms

Fixkamo-internal
Shipped
12 மே, 2026 அன்று 2:22 AM UTC
Author
kamo
Commit
1c00483

NavigationInterceptor's submit listener treated any form whose form.action was truthy and method=get as a navigation, and called setLoading(true) on the global LoadingContext. Without an explicit action attribute, the browser resolves form.action to the current page URL — always truthy — so every MUI/React form using onSubmit and preventDefault tripped this branch. preventDefault stopped the actual navigation, but nothing ever flipped isLoading back to false, so the fullscreen loading overlay sat on top of the page until the user reloaded. Test against the actual HTML attribute (form.getAttribute('action')) so only forms genuinely set up to GET-navigate elsewhere trigger the overlay; client-handled forms are now ignored.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing