mirror of
https://github.com/jamiepine/voicebox.git
synced 2026-09-16 05:10:42 -07:00
- Added a new UpdateNotification component to inform users about available updates and facilitate installation. - Integrated useAutoUpdater hook for managing update checks and installations. - Updated package.json with new build and generate scripts for release preparation and key generation. - Enhanced tauri configuration to support autoupdater with signing keys and endpoints. - Created scripts for preparing signed releases and updating icons, ensuring a streamlined workflow for asset management. - Added detailed documentation for autoupdater setup and icon update workflow.
4.2 KiB
4.2 KiB
Icon Update Workflow for voicebox
Prerequisites
- Xcode Command Line Tools installed (
xcode-select --install) - Your icon designed in Icon Composer and saved as
voicebox.iconin the project root
Directory Structure
voicebox/
├── voicebox.icon/ # macOS 26 Liquid Glass icon bundle
│ ├── icon.json
│ └── Assets/
│ └── Voicebox.png # Your source image
├── tauri/
│ ├── assets/
│ │ └── voicebox_exports/ # Your 1024x1024 exports
│ └── src-tauri/
│ ├── gen/ # Auto-generated at build time
│ │ ├── Assets.car # Liquid Glass assets
│ │ ├── voicebox.icns # Generated fallback icon
│ │ └── partial.plist
│ └── icons/ # Tauri fallback icons (all platforms)
│ ├── icon.icns
│ ├── icon.ico
│ ├── 32x32.png
│ ├── 128x128.png
│ └── ...
Step 1: Update the Liquid Glass Icon
Edit voicebox.icon/ in Icon Composer (or manually update icon.json and Assets/).
The build script (build.rs) automatically compiles this during cargo build.
Step 2: Regenerate Fallback Icons
After updating the .icon bundle, regenerate the fallback icons:
cd tauri/src-tauri
# Trigger rebuild to generate new icns
cargo build
# Copy the generated icns to icons folder
cp gen/voicebox.icns icons/icon.icns
# Generate PNGs from the icns
sips -s format png -z 32 32 gen/voicebox.icns --out icons/32x32.png
sips -s format png -z 64 64 gen/voicebox.icns --out icons/64x64.png
sips -s format png -z 128 128 gen/voicebox.icns --out icons/128x128.png
sips -s format png -z 256 256 gen/voicebox.icns --out icons/[email protected]
sips -s format png -z 512 512 gen/voicebox.icns --out icons/icon.png
# Windows Square logos
for size in 30 44 71 89 107 142 150 284 310; do
sips -s format png -z $size $size gen/voicebox.icns --out "icons/Square${size}x${size}Logo.png"
done
Step 3: Rebuild the App
cd tauri && bun run tauri build
Step 4: Clear Icon Cache (if icons don't update)
sudo rm -rf /Library/Caches/com.apple.iconservices.store
sudo killall Finder
sudo killall Dock
How It Works
| File | Purpose |
|---|---|
voicebox.icon/ |
Source for macOS 26 Liquid Glass icon |
build.rs |
Compiles .icon → Assets.car + voicebox.icns at build time |
gen/Assets.car |
Liquid Glass assets (macOS 26+) |
gen/voicebox.icns |
Auto-generated fallback icon |
icons/icon.icns |
Tauri's fallback for older macOS |
icons/*.png |
Tauri's fallback for other platforms |
Info.plist |
Points to voicebox as icon name |
tauri.conf.json |
Bundles gen/* to Resources root |
Key Config Files
build.rs — Compiles the icon
xcrun actool --app-icon voicebox ... voicebox.icon
tauri.conf.json — Bundles generated assets to Resources root
"resources": {
"gen/Assets.car": "./",
"gen/voicebox.icns": "./",
"gen/partial.plist": "./"
}
Info.plist — Tells macOS which icon to use
<key>CFBundleIconFile</key>
<string>voicebox</string>
<key>CFBundleIconName</key>
<string>voicebox</string>
Quick Reference Script
Save this as scripts/update-icons.sh:
#!/bin/bash
set -e
cd "$(dirname "$0")/../tauri/src-tauri"
echo "Building to generate new icons..."
cargo build
echo "Copying icns to icons folder..."
cp gen/voicebox.icns icons/icon.icns
echo "Generating PNG icons..."
sips -s format png -z 32 32 gen/voicebox.icns --out icons/32x32.png
sips -s format png -z 64 64 gen/voicebox.icns --out icons/64x64.png
sips -s format png -z 128 128 gen/voicebox.icns --out icons/128x128.png
sips -s format png -z 256 256 gen/voicebox.icns --out icons/[email protected]
sips -s format png -z 512 512 gen/voicebox.icns --out icons/icon.png
echo "Generating Windows Square logos..."
for size in 30 44 71 89 107 142 150 284 310; do
sips -s format png -z $size $size gen/voicebox.icns --out "icons/Square${size}x${size}Logo.png"
done
echo "Done! Icons updated."
echo "Run 'bun run tauri build' to rebuild the app."
Make it executable: chmod +x scripts/update-icons.sh