-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
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 when it loads for 0.5 seconds:
![]()
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
- Replace default favicon:
File:
/usr/share/cloudstack-management/webapp/cloud.ico
File:/usr/share/cloudstack-management/webapp/assets/logo.svg
- Clear browser cache and reload the login page.
- 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">inindex.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 toappTitleandloginTitle), and - Remove or override the hardcoded
cloud.icolink inindex.htmlat 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.
