Problem
If the group invitation modal (invite_dialog) is open when the session times out, the session timeout / expired modal opens underneath the invite modal. The timeout message is hard to see or interact with until the invite modal is closed. I don't think that this was introduced by the invite-by-email work (#8106) - it looks like a general modal stacking / z-index issue when two ModalMarkus dialogs are open at once.
Steps to reproduce
- Log in as a student on an assignment that allows groups.
- Open the Invite modal on the assignment page.
- Leave the modal open until the session expires (or otherwise trigger the session timeout / expired modal while the invite modal is still open).
- Observe that the timeout modal appears behind the invite modal.
Expected behaviour
The session timeout / expired modal should appear on top of any other open modal (including the invite modal), so the user can acknowledge it and re-authenticate.
Actual behaviour
The timeout modal is rendered underneath the invite modal.
Screenshot
Notes
- Related dialogs:
#invite_dialog, #session_expired_dialog / #timeout_imminent_dialog (via ModalMarkus in layouts.js).
- Possibly affects other pages whenever a page-specific is open at timeout, not only group invites.
Problem
If the group invitation modal (
invite_dialog) is open when the session times out, the session timeout / expired modal opens underneath the invite modal. The timeout message is hard to see or interact with until the invite modal is closed. I don't think that this was introduced by the invite-by-email work (#8106) - it looks like a general modal stacking / z-index issue when twoModalMarkusdialogs are open at once.Steps to reproduce
Expected behaviour
The session timeout / expired modal should appear on top of any other open modal (including the invite modal), so the user can acknowledge it and re-authenticate.
Actual behaviour
The timeout modal is rendered underneath the invite modal.
Screenshot
Notes
#invite_dialog,#session_expired_dialog/#timeout_imminent_dialog(viaModalMarkusinlayouts.js).