From f427994500895d2acdae2afaaacf543ba3ce2825 Mon Sep 17 00:00:00 2001 From: AteebNoOne Date: Sun, 12 Jul 2026 15:20:41 +0500 Subject: [PATCH] fix: normalize snap desktop filename, fix platform download URLs, extract deb before snapcraft - snapcraft.yaml: source pre-extracted directory instead of raw .deb - release.yml: extract deb, find and rename .desktop to teebot-flow.desktop regardless of Tauri's generated name (e.g. 'Teebot Flow.desktop') - platform.ts: update asset names to match actual Tauri output (Teebot.Flow for Win/Mac, 'Teebot Flow' with space for Linux) Co-authored-by: Atib Ur Rehman --- .github/workflows/release.yml | 21 ++++++++++++++++++--- snap/snapcraft.yaml | 3 +-- src/lib/platform.ts | 12 ++++++------ 3 files changed, 25 insertions(+), 11 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0236c20..76ab1d6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -211,14 +211,29 @@ jobs: - name: Stage deb for Snapcraft run: | - mkdir -p build + mkdir -p build/extracted DEB_FILE=$(find src-tauri/target/release/bundle/deb -name "*.deb" | head -1) if [ -z "$DEB_FILE" ]; then echo "Error: no .deb file found after tauri build" exit 1 fi - cp "$DEB_FILE" build/teebot-flow.deb - echo "Staged $DEB_FILE → build/teebot-flow.deb" + echo "Found deb: $DEB_FILE" + echo "=== Deb contents ===" + dpkg -c "$DEB_FILE" + # Extract into build/extracted (snapcraft.yaml sources from here) + dpkg -x "$DEB_FILE" build/extracted + # Normalize the desktop file to the name snapcraft.yaml expects, + # regardless of how Tauri named it (e.g. "Teebot Flow.desktop"). + DESKTOP=$(find build/extracted/usr/share/applications -name "*.desktop" 2>/dev/null | head -1) + if [ -z "$DESKTOP" ]; then + echo "Error: no .desktop file found inside deb" + exit 1 + fi + echo "Found desktop: $DESKTOP" + if [ "$DESKTOP" != "build/extracted/usr/share/applications/teebot-flow.desktop" ]; then + mv "$DESKTOP" build/extracted/usr/share/applications/teebot-flow.desktop + echo "Renamed → build/extracted/usr/share/applications/teebot-flow.desktop" + fi - name: Build Snap from Debian Package run: sg lxd -c "snapcraft pack --use-lxd" diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index b068963..3fc3ed5 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -35,5 +35,4 @@ apps: parts: teebot-flow: plugin: dump - source: build/teebot-flow.deb - source-type: deb + source: build/extracted diff --git a/src/lib/platform.ts b/src/lib/platform.ts index c2c158a..3072e8a 100644 --- a/src/lib/platform.ts +++ b/src/lib/platform.ts @@ -39,16 +39,16 @@ export const getDownloadLink = (version: string, filename: string) => { const ASSET_NAMES = { windows: { - exe: (version: string) => `Teebot-Flow_${version}_x64-setup.exe`, - msi: (version: string) => `Teebot-Flow_${version}_x64_en-US.msi`, + exe: (version: string) => `Teebot.Flow_${version}_x64-setup.exe`, + msi: (version: string) => `Teebot.Flow_${version}_x64_en-US.msi`, }, linux: { - appImage: (version: string) => `teebot-flow_${version}_amd64.AppImage`, - deb: (version: string) => `teebot-flow_${version}_amd64.deb`, + appImage: (version: string) => `Teebot Flow_${version}_amd64.AppImage`, + deb: (version: string) => `Teebot Flow_${version}_amd64.deb`, }, macOS: { - aarch64: (version: string) => `Teebot-Flow_${version}_aarch64.dmg`, - x64: (version: string) => `Teebot-Flow_${version}_x64.dmg`, + aarch64: (version: string) => `Teebot.Flow_${version}_aarch64.dmg`, + x64: (version: string) => `Teebot.Flow_${version}_x64.dmg`, }, };