mirror of
https://github.com/arsvendg/Stirling-PDF.git
synced 2026-07-15 19:10:47 +02:00
UI changes to update and support auto updating (#6075)
Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
919f0ade99
commit
256d1a86d2
@@ -0,0 +1,66 @@
|
||||
#!/usr/bin/env bash
|
||||
# Starts a local HTTP server on port 8090 serving an update manifest.
|
||||
#
|
||||
# If a real signed build exists in .update-dist/ (produced by build-dev-update.sh),
|
||||
# it is served automatically — enabling the full download + install flow.
|
||||
# Otherwise a placeholder manifest is served, which is enough to test the UI only.
|
||||
set -euo pipefail
|
||||
|
||||
PORT=8090
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
DIST_DIR="$SCRIPT_DIR/.update-dist"
|
||||
|
||||
if [ -f "$DIST_DIR/latest.json" ]; then
|
||||
# ── real signed build ─────────────────────────────────────────────────────
|
||||
SERVE_DIR="$DIST_DIR"
|
||||
VERSION="$(python3 -c "import json; print(json.load(open('$DIST_DIR/latest.json'))['version'])" 2>/dev/null || grep -o '"version":"[^"]*"' "$DIST_DIR/latest.json" | head -1 | cut -d'"' -f4)"
|
||||
echo "Serving real signed build from .update-dist/"
|
||||
echo " version : $VERSION"
|
||||
echo " manifest: http://localhost:$PORT/latest.json"
|
||||
echo " install : full download + verify flow will work"
|
||||
else
|
||||
# ── placeholder (UI testing only) ─────────────────────────────────────────
|
||||
SERVE_DIR="$(mktemp -d)"
|
||||
VERSION="99.0.0"
|
||||
|
||||
OS="$(uname -s)"
|
||||
ARCH="$(uname -m)"
|
||||
case "$OS" in
|
||||
Linux) TAURI_PLATFORM="linux-x86_64" ;;
|
||||
Darwin)
|
||||
case "$ARCH" in
|
||||
arm64) TAURI_PLATFORM="darwin-aarch64" ;;
|
||||
*) TAURI_PLATFORM="darwin-x86_64" ;;
|
||||
esac ;;
|
||||
*) TAURI_PLATFORM="windows-x86_64" ;;
|
||||
esac
|
||||
|
||||
PUB_DATE="$(date -u +"%Y-%m-%dT%H:%M:%SZ")"
|
||||
|
||||
cat > "$SERVE_DIR/latest.json" << EOF
|
||||
{
|
||||
"version": "$VERSION",
|
||||
"notes": "Dev test update v$VERSION — placeholder (UI testing only)",
|
||||
"pub_date": "$PUB_DATE",
|
||||
"platforms": {
|
||||
"$TAURI_PLATFORM": {
|
||||
"signature": "dW50cnVzdGVkIGNvbW1lbnQ6IHBsYWNlaG9sZGVyIHNpZyBmb3IgZGV2IHRlc3Rpbmcgb25seQ==",
|
||||
"url": "http://localhost:$PORT/dummy-update-$VERSION.tar.gz"
|
||||
}
|
||||
}
|
||||
}
|
||||
EOF
|
||||
echo "No real build found in .update-dist/ — serving placeholder manifest."
|
||||
echo " version : $VERSION (placeholder)"
|
||||
echo " manifest: http://localhost:$PORT/latest.json"
|
||||
echo " install : will fail signature verification (expected for UI testing)"
|
||||
echo ""
|
||||
echo " To test the full install flow, run first:"
|
||||
echo " npm run tauri:build-dev-update"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "Press Ctrl+C to stop."
|
||||
echo ""
|
||||
|
||||
cd "$SERVE_DIR" && python3 -m http.server "$PORT"
|
||||
Reference in New Issue
Block a user