Skip to content

fix(strr-examiner-web): clear stale confirmations on navigation - #1820

Draft
Jacky-Pham wants to merge 1 commit into
Jacky/strr-examiner-payment-metadata-20260915from
Jacky/strr-examiner-dialog-navigation-20260915
Draft

Jacky-Pham wants to merge 1 commit into
Jacky/strr-examiner-payment-metadata-20260915from
Jacky/strr-examiner-dialog-navigation-20260915

Conversation

@Jacky-Pham

@Jacky-Pham Jacky-Pham commented Sep 15, 2026

Copy link
Copy Markdown
Collaborator

A confirmation opened on one Examiner record can remain actionable after navigation. A real router/modal regression shows an unassignment opened for registration 222 sending a PUT for registration 111 after Back navigation. Moving between records on the same route also bypasses the existing unsaved-note leave guard.

Remove the current modal and its confirmation callbacks immediately before leaving a record without unsaved notes, and apply the existing keep/discard-note guard to route-path changes as well as route leaves. Query-only changes remain unrestricted. Confirmed navigation replaces the deferred action, while keeping the note stays on the current record.

Validation: 28 new cases exercise real application/registration pages, store, both action-control modes, the Nuxt UI modal and Vue Router memory-history Back navigation. Twelve fail on the parent source. Delaying closing animation frames also reproduces eight stale-action failures if cleanup only closes the modal; immediate reset removes that transition window. All 96 targeted cases pass after the repair, including normal confirmation/cancellation, note preservation/discard and query-only updates. Lint reports only the two existing store warnings. All 361 Examiner unit tests pass locally. Paired strict checking retains the same 140 existing diagnostics, with none introduced. Standalone CI passes lint, 361 tests and build. Combined CI passes all five frontend lint/test/build jobs with 936 tests, including 378 Examiner tests. Combined strict checking retains 364 existing diagnostics, with none introduced.

Stacked on #1819. Tests use synthetic APIs and stub unrelated page content; authenticated browser verification remains outstanding.

@sonarqubecloud

Copy link
Copy Markdown

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant