Files
saphidandClaude Opus 5.5 d4486a7681 Frame Control: Mac app, web UI, Android and Steam tooling
Package the Frame Control web UI as an installable Electron Mac app and
bring in the tooling built alongside it.

- app/: Electron wrapper that starts ui/server.py on a free loopback port,
  hardened window (sandbox, no navigation, runAsNode fuse off), login-shell
  PATH so Homebrew tools work from Finder, first-run offer to run
  connect.sh, ad-hoc signed DMG/zip via electron-builder.
- ui/: headset view (OpenVR screenshots), device status, library, Steam
  "Get games" (owned games, install, store search), Android apps as
  persistent Lepton instances with a rated F-Droid catalogue and a private
  compatibility database, Android display controls over ADB, file and
  clipboard transfer, Flatpaks, remote and power actions.
- apk-catalog/, compat-db/, frame/: catalogue build pipeline, Lakebed
  capsule for compatibility reports, Frame-side launchers.
- tests/ and CI: server guard and validation tests plus Steam helper tests,
  run on Python 3.9 with script and app syntax checks.
- Docs: README leads with the Mac app; new Android, panels, Steam games and
  field-notes docs; security notes on LAN-exposed ADB ports.

Screenshot values for the headset's IP and Wi-Fi name are placeholders.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 22:21:20 +10:00

22 lines
925 B
Bash
Executable File

#!/usr/bin/env zsh
# Mac-side: refresh the Android app catalogue that Frame Control shows
# (apk-catalog/). Fetches the latest F-Droid index, scans new or updated APKs
# with HTTP range requests, and rebuilds apk-catalog/site/apps.js.
# Frame Control picks up the new data on its next page load.
#
# Usage: scripts/apk-catalog.sh (the first full scan takes about an hour;
# later runs only scan what changed)
set -euo pipefail
CAT="${0:A:h}/../apk-catalog"
[[ "${1:-}" == -h || "${1:-}" == --help ]] && { sed -n '2,8p' "$0"; exit 0; }
print "==> Fetching the F-Droid index"
curl -fL --progress-bar -o "$CAT/data/index-v2.json.part" https://f-droid.org/repo/index-v2.json
mv "$CAT/data/index-v2.json.part" "$CAT/data/index-v2.json"
print "==> Scanning new or updated APKs"
WORKERS=40 python3 "$CAT/scan.py"
WORKERS=40 python3 "$CAT/scan2.py"
print "==> Rebuilding"
python3 "$CAT/build.py"