nimbustech-lab opened a new issue, #12079: URL: https://github.com/apache/cloudstack/issues/12079
### problem When customizing the Primate UI’s favicon, it flashes for ~0.5 seconds during page load (while index.html is rendered) and then disappears as the SPA transitions to a white page before the login view fully loads. The favicon never reappears even though the icon file is valid and reachable. The favicon 99% of the time: <img width="231" height="56" alt="Image" src="https://github.com/user-attachments/assets/57b0172e-fab0-4691-8b7b-677a45a2c8b8" /> The favicon when it loads for 0.5 seconds: <img width="242" height="49" alt="Image" src="https://github.com/user-attachments/assets/558c711b-c1f9-4eaa-a8a6-1d729c78afa5" /> ### versions Environment - Apache CloudStack version: 4.22.0.0 - OS: Ubuntu Noble (management server) - Browser(s) tested: Chrome / Opera (same behavior) - Deployment setup: Two management servers behind a VIP with HAProxy ### The steps to reproduce the bug 1. Replace default favicon: > File: `/usr/share/cloudstack-management/webapp/cloud.ico` > File: `/usr/share/cloudstack-management/webapp/assets/logo.svg` 2. Clear browser cache and reload the login page. 3. Observe favicon behavior during and after page load. ... ### What to do about it? The Primate UI currently references two favicon sources: - A hardcoded `<link rel="icon" href="cloud.ico">` in `index.html` - A configurable `"loginFavicon": "assets/logo.svg"` entry in `/etc/cloudstack/management/config.json` This creates inconsistent behavior — the browser loads `cloud.ico` first (from `index.html`), then when the SPA initializes and renders based on `config.json`, the favicon reference isn’t updated or re-applied, causing it to disappear. To fix this: - Unify favicon handling so the UI consistently uses the favicon defined in `config.json` (similar to `appTitle` and `loginTitle`), and - Remove or override the hardcoded `cloud.ico` link in `index.html` at runtime. Alternatively, ensure the SPA explicitly re-sets the favicon after it mounts (e.g., by adding a small function that reads the `loginFavicon` key and updates `<link rel="icon">` dynamically). This would let the favicon persist across page transitions and make it fully configurable, just like the logo and title. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
