[OpenNMS/opennms] 9557f0: NMS-20174: Fix logout from JSP pages silently fail...
Scott Theleman via opennms-cvs <[email protected]>
| Newsgroups | gmane.network.opennms.cvs |
|---|---|
| Message-ID | <OpenNMS/opennms/push/refs/heads/jira/NMS-20174-menu-issues-in-ff-and-safari-smoke/[email protected]> |
Branch: refs/heads/jira/NMS-20174-menu-issues-in-ff-and-safari-smoke
Home: https://github.com/OpenNMS/opennms
Commit: 9557f05d6284b6efaff419942c15fe85907dfab8
https://github.com/OpenNMS/opennms/commit/9557f05d6284b6efaff419942c15fe85907dfab8
Author: Scott Theleman <[email protected]>
Date: 2026-08-06 (Thu, 06 Aug 2026)
Changed paths:
M ui/src/components/Menu/UserSelfServiceMenuItem.vue
A ui/tests/components/Menu/UserSelfServiceMenuItem.test.ts
Log Message:
-----------
NMS-20174: Fix logout from JSP pages silently failing in Firefox
The Logout item in the self-service dropdown is an anchor with
href='#'. Embedded JSP pages set <base href> (includes/bootstrap.jsp),
so '#' resolves against the base URL rather than the current page and
an uncancelled click starts a full-page navigation that races the
asynchronous logout POST. Firefox tears the XHR down before it is ever
sent (the axios promise never settles), so the session survives and the
user is returned to the page still logged in; Chrome/Safari usually let
the POST reach the server first, masking the bug. Vue SPA pages have no
conflicting <base>, which is why logout worked there.
Cancel the anchor's default navigation for the logout item;
performLogout() already handles the post-logout redirect.
Verified via Playwright in Firefox, Chromium and WebKit: the logout
POST now completes (302) from both JSP and Vue pages, ending on
login.jsp with no stray '#' fragment.
Commit: 40efcdda70d64ee9c6fae2cb70d8b75593726457
https://github.com/OpenNMS/opennms/commit/40efcdda70d64ee9c6fae2cb70d8b75593726457
Author: Scott Theleman <[email protected]>
Date: 2026-08-06 (Thu, 06 Aug 2026)
Changed paths:
M opennms-webapp/src/main/webapp/includes/bootstrap.jsp
Log Message:
-----------
NMS-20174: Cache-bust the Vue menu bundle links in bootstrap.jsp
The menu bundle is built with fixed filenames (ui/vite.config.menu.ts),
so browsers could serve a stale index.css alongside a fresh index.js
(Safari's cache does this readily). Vue scoped-CSS data-v hashes from
the old CSS then no longer match the new markup and the menu renders
unstyled at inherited sizes. Append the same style of ?v= version query
that load-assets.jsp applies to legacy assets, derived from the
deployed bundle files' modification time so both files bust together on
every deploy. The modulepreload link and module script tag carry the
identical query so the browser's URL-keyed module map treats them as
one fetch.
Compare: https://github.com/OpenNMS/opennms/compare/0208597b1f72...40efcdda70d6
To unsubscribe from these emails, change your notification settings at https://github.com/OpenNMS/opennms/settings/notifications
_______________________________________________
Please read the OpenNMS Mailing List FAQ:
http://www.opennms.org/wiki/index.php?page=MailingListFaq
opennms-cvs mailing list
To *unsubscribe* or change your subscription options, see the bottom of this page:
https://lists.sourceforge.net/lists/listinfo/opennms-cvs