fix: registrar revisit 'session expired' and accordion overflow clipping - #80
Conversation
In edit/revisit mode the saved location was patched with emitEvent enabled, so
the onChangeLocation cascade fired before the state/district/block/village master
lists were loaded. That threw on `.find(undefined)` and issued location calls with
`/undefined` IDs (401 -> "session expired"). Patch the revisit data with
{ emitEvent: false } to only seed the form; the real cascade is driven afterwards
by loadLocationFromStorage() -> loadState -> loadDistrict -> ... from
locationPatchDetails.
…t clipped Accordion content stayed overflow-hidden, so dropdowns and autocomplete suggestion lists opened inside a panel were clipped by the panel box. Keep overflow-hidden while the panel expands/collapses (so the grid-rows height animation reveals it cleanly), then switch to overflow-visible a beat after it is fully open, and revert to hidden immediately on close.
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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 |
|



Summary
Two independent QA fixes surfaced while running the migrated MMU-UI nurse/doctor and
registrar flows against UAT. Kept as separate commits.
1.
fix(registrar): seed revisit location without emitting the cascadeSymptom: opening a beneficiary for edit/revisit immediately failed with
"session expired" and never rendered the saved location.
Cause: in revisit mode the saved location was patched with
emitEventenabled, sothe
onChangeLocationcascade fired before the state/district/block/village masterlists had loaded. It hit
.find(undefined)and issued location calls with/undefinedIDs → 401 → "session expired".
Fix: patch the revisit data with
{ emitEvent: false }so it only seeds the form.The real cascade is driven afterwards by
loadLocationFromStorage()→loadState→loadDistrict→ … fromlocationPatchDetails, which run once the master lists exist.2.
fix(ui): reveal accordion overflow once open so nested overlays aren't clippedSymptom: dropdowns / autocomplete suggestion lists opened inside an accordion
panel were cut off by the panel edge.
Cause:
z-accordion-contentwas permanentlyoverflow-hidden.Fix: keep
overflow-hiddenwhile the panel expands/collapses (so thegrid-rowsheight animation reveals it cleanly), then switch to
overflow-visiblea beat (~220ms)after it is fully open, and revert to hidden immediately on close. Uses an
effect()onthe open signal with a timeout that's cleared on every state change.
Notes
angular-zard-migration(Common-UI's Zard/Tailwind integration branch).the merge commit once this lands.