fix(portal): clear blocking modal/dialog overlay before the login-entry click - #18
Merged
mattebad merged 1 commit intoAug 31, 2026
Conversation
…ry click EdFinancial's landing page (edfinancial.studentaid.gov) began rendering a Bootstrap announcement modal (.modal.fade.show - PSLF/repayment/call-volume notices) around July 2026. Its .modal-backdrop intercepts the "Log In" click, so _ensure_login_form_visible never reaches the username field and the run fails with LoginFormNotFoundError after its retries. Cookie/disclaimer handlers don't touch these overlays. Add _dismiss_blocking_overlay() and call it in the login-form loop. It matches blocking overlays by structure/ARIA (.modal.show, .usa-modal, [role=dialog][aria-modal], [aria-modal]) rather than banner text, so new announcement banners on any studentaid.gov servicer (Bootstrap or USWDS/FSA) are handled without further code changes. Servicers without such overlays are unaffected. Test covers a Bootstrap modal and a generic ARIA dialog. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
shmuelsash
force-pushed
the
fix/edfinancial-cookieyes-modals
branch
from
July 6, 2026 18:14
c220e1c to
37bf052
Compare
shmuelsash
added a commit
to shmuelsash/monarch-studentaid-sync
that referenced
this pull request
Jul 6, 2026
EdFinancial's scheduled run fails at the July announcement modal on upstream mattebad/main. Pin only the EdFinancial matrix entry to the fix branch (fork/fix/edfinancial-cookieyes-modals) via a per-person `ref` until PR mattebad#18 merges; Nelnet stays on origin/main. Revert EdFinancial's ref to "origin/main" once the fix is upstream. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Owner
|
Approving this. Thanks for the work. |
mattebad
approved these changes
Aug 31, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
EdFinancial's landing page (
edfinancial.studentaid.gov) began rendering a Bootstrap announcement modal (.modal.fade.show— the PSLF / repayment / call-volume notices) around early July 2026. Its.modal-backdropintercepts the "Log In" click, so_ensure_login_form_visiblenever reaches the username field and the run fails withLoginFormNotFoundErrorafter its retries (a ~35-minute hang). Cookie- and disclaimer-dismissal don't touch these overlays. Servicers without such overlays (e.g. Nelnet) are unaffected.Fix
Add
_dismiss_blocking_overlay()and call it in the login-form loop. It matches blocking overlays by structure/ARIA —.modal.show(Bootstrap),.usa-modal(USWDS/FSA),[role="dialog"][aria-modal],[aria-modal]— plus the standard close controls and backdrops, with an Escape fallback. Matching by structure rather than banner text means new announcement banners on any studentaid.gov servicer are handled without further code changes.Verification
tests/test_login_modal_dismiss.pycovers both a Bootstrap modal and a generic non-Bootstrap ARIA dialog: asserts the overlay + backdrop are cleared and the "Log In" link becomes clickable.