[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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.