Email verification "Verify code" button stuck disabled after a failed attempt (live in prod)
Impact
On sign-in email verification, after a wrong/rate-limited code the "Verify code" button stays disabled. User can't retry without a full page reload. Live in prod now (accessible_disabled_button is globally enabled).
Cause
Legacy jQuery in main.js:193 disables submit buttons on submit and only re-enables on rails-ujs ajax:complete — which never fires for axios/Vue forms. This was masked because GlButton used to keep disabled in its vdom (Vue cleared the stuck attr on re-render). With accessible_disabled_button on, GlButton renders aria-disabled instead, so nothing clears jQuery's native disabled.
Pre-existing jQuery bug; the flag just unmasked it.
Affected components
5 at-risk auth components (form uses @submit.prevent, no navigation, so ajax:complete never fires):
email_verification.vue— confirmed, fixed in !247432 (merged)email_form.vueinternational_phone_input.vue,verify_phone_verification_code.vue— same shape, likely broken- jira_connect
version_select_form.vue
(~37 non-auth Vue submit buttons share the pattern; auth ones are the priority.)
Fix
Make main.js skip GlButtons (they own their own disabled state). Fixes the whole class in one place; needs careful testing since the handler's usage isn't fully known.
Per-component js-no-auto-disable is the stopgap already applied to email_verification.vue.
Ownership: authentication + foundations.
Related: FF rollout #600158 (closed), MR !247432 (merged)