mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-03-23 12:03:07 +00:00
fix: correct production icon path and refresh icon cache on RPM install
- icon-manager.ts: fix production path from '../dist/public' to '../dist' Vite copies public/ assets to the root of dist/, not dist/public/, so the old path caused electronAppExists() to return null in packaged builds — falling through to Electron's default icon in the taskbar - rpm-after-install.sh: add gtk-update-icon-cache and update-desktop-database so GNOME/KDE picks up the installed icon and desktop entry immediately without a session restart Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,14 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Set the setuid bit on chrome-sandbox so Electron's sandbox works on systems
|
# Set the setuid bit on chrome-sandbox so Electron's sandbox works on systems
|
||||||
# where unprivileged user namespaces are restricted (e.g. hardened kernels).
|
# where unprivileged user namespaces are restricted (e.g. hardened kernels).
|
||||||
# On Fedora/RHEL with standard kernel settings this is not strictly required,
|
# On Fedora/RHEL with standard kernel settings this is a safe no-op.
|
||||||
# but it is a safe no-op when not needed.
|
|
||||||
chmod 4755 /opt/Automaker/chrome-sandbox 2>/dev/null || true
|
chmod 4755 /opt/Automaker/chrome-sandbox 2>/dev/null || true
|
||||||
|
|
||||||
|
# Refresh the GTK icon cache so GNOME/KDE picks up the newly installed icon
|
||||||
|
# immediately without requiring a logout. The -f flag forces a rebuild even
|
||||||
|
# if the cache is up-to-date; -t suppresses the mtime check warning.
|
||||||
|
gtk-update-icon-cache -f -t /usr/share/icons/hicolor 2>/dev/null || true
|
||||||
|
|
||||||
|
# Rebuild the desktop entry database so the app appears in the app launcher
|
||||||
|
# straight after install.
|
||||||
|
update-desktop-database /usr/share/applications 2>/dev/null || true
|
||||||
|
|||||||
@@ -28,9 +28,11 @@ export function getIconPath(): string | null {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// __dirname is apps/ui/dist-electron (Vite bundles all into single file)
|
// __dirname is apps/ui/dist-electron (Vite bundles all into single file)
|
||||||
|
// In production the asar layout is: /dist-electron/main.js and /dist/logo_larger.png
|
||||||
|
// Vite copies public/ assets to the root of dist/, NOT dist/public/
|
||||||
const iconPath = isDev
|
const iconPath = isDev
|
||||||
? path.join(__dirname, '../public', iconFile)
|
? path.join(__dirname, '../public', iconFile)
|
||||||
: path.join(__dirname, '../dist/public', iconFile);
|
: path.join(__dirname, '../dist', iconFile);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (!electronAppExists(iconPath)) {
|
if (!electronAppExists(iconPath)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user