fix(rpc): empty icon in transient install entry to avoid broken-image flicker
create_installing_entry hardcoded /assets/img/app-icons/<id>.png for every new install. About half the app icons ship as .svg or .webp (lnd.svg, vaultwarden.webp, bitcoin-knots.webp, mempool.webp), so the browser 404s on the wrong extension and renders the default broken-image glyph for the 10-30s window before the scanner refreshes with real manifest data. Send empty icon. The frontend's icon computed in AppCard.vue falls through to curatedMap which has correct extensions for bundled apps, and handleImageError still guards any remaining misses with a placeholder SVG.
This commit is contained in:
@@ -69,7 +69,11 @@ fn create_installing_entry(package_id: &str) -> PackageDataEntry {
|
||||
static_files: StaticFiles {
|
||||
license: String::new(),
|
||||
instructions: String::new(),
|
||||
icon: format!("/assets/img/app-icons/{}.png", package_id),
|
||||
// Empty icon: hardcoding `<id>.png` is wrong for apps that use
|
||||
// `.svg` or `.webp` assets and produces a broken-image flicker.
|
||||
// The frontend's `icon` computed falls through to the curated
|
||||
// map which has correct extensions for known apps.
|
||||
icon: String::new(),
|
||||
},
|
||||
manifest: Manifest {
|
||||
id: package_id.to_string(),
|
||||
|
||||
Reference in New Issue
Block a user