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]

Reply via email to