#!/bin/bash
# Installs SkySaver from Terminal. Files fetched this way aren't marked "downloaded from the internet", so macOS opens the app without the unverified-developer warning.
set -e
DEST="${SKYSAVER_DEST:-/Applications}"
T="$(mktemp -d)"; trap 'hdiutil detach -quiet "$T/m" 2>/dev/null || true; rm -rf "$T"' EXIT
echo "Downloading SkySaver…"
curl -fL --progress-bar "https://github.com/Thoufik001/skysaver/releases/download/builds/SkySaver.dmg" -o "$T/SkySaver.dmg"
mkdir "$T/m"; hdiutil attach -nobrowse -quiet -mountpoint "$T/m" "$T/SkySaver.dmg"
# Quit a running SkySaver first: replacing an app that is still running can crash the old copy.
pkill -TERM -f "SkySaver.app/Contents/MacOS" 2>/dev/null && sleep 1 || true
rm -rf "$DEST/SkySaver.app"; ditto "$T/m/SkySaver.app" "$DEST/SkySaver.app"
echo "Installed in $DEST."
# One anonymous count (no name, address or ID) so the creator knows the Terminal install is used. Skipped if DO_NOT_TRACK is set.
[ -n "$DO_NOT_TRACK" ] || [ -n "$SKYSAVER_DEST" ] || curl -fsS -m 5 -X POST -H "Content-Type: application/json" -d '{"kind":"terminal_install","target":"install","duration":0}' https://thoufik.space/api/skysaver-activity >/dev/null 2>&1 || true
[ -n "$SKYSAVER_DEST" ] || open "$DEST/SkySaver.app"
