8 Commits
Author SHA1 Message Date
spoopyghosty0 45bcc76436 Live view plays in the window (flet-video, Windows/macOS), else an mpv window, else the browser; Play in picks, Open in browser always there, automatic fallback
ui/live_players.py: embedded_available (win/mac with flet_video; Linux only with Flet's full client + libmpv), find_mpv, order (pick first, browser last), low-latency mpv properties, MpvWindow (fails over when mpv quits at once). flet-video==1.0.2 only off Linux (its Linux plugin links libmpv.so.1: the bundle wouldn't start without it). Relay unchanged: native players read /stream.mp4 (checked with ffprobe/ffmpeg, from the start and mid-stream).
2026-10-08 21:22:08 -04:00
spoopyghosty0 60efbbe7a9 Tooling: ruff (lint + import order) and pytest-timeout; CI lints and tests every push to main
Fixes ruff found: loop variables bound in callbacks, zip(strict=True), clearer names than 'l', unused loop
variables, f-strings instead of % formatting.
2026-10-02 13:19:11 -04:00
spoopyghosty0 7af21e17ce Files tab: multi-select (download/delete several) and drag-and-drop uploads (flet-dropzone, packaged app only) 2026-10-02 10:47:35 -04:00
spoopyghosty0 dfb4fc4ffd Share working configs and diagnostics bundles via GitHub issues
- "Share working config…" (game menu, `frameport share-recipe`): saves the recipe as known-good and opens a
  prefilled working-config issue form; labelling it `catalog-accepted` runs catalog-from-issue.yml, which
  validates the YAML (scripts/catalog_from_issue.py) and opens a PR adding catalog/games/<pkg>.yaml
- "Collect logs" / "Report a problem…" (game menu, Settings, failure pop-up, `frameport diag collect|report`):
  redacted diagnostics zip (app + job logs, library entry, recipe, launch logs + re-triage, APK/ELF/PE listings
  instead of game files, Frame launcher/settings/Lepton/logcat/XRService logs via agent v21 `collect_diag`) and
  a prefilled bug-report issue to attach it to; `frameport diag inspect <zip>` re-triages a bundle offline
- diag/redact.py scrubs IPs, MACs, host/user names, home dirs, Steam ids, data and dump folders
- App log (<data>/logs/app.log) and saved GUI job logs (<data>/logs/jobs/)
- catalog.entry_from_library shared by "Save as known-good" and sharing; docs/DIAGNOSTICS.md
2026-09-30 14:14:00 -04:00
spoopyghosty0 8fe2f57870 CI: non-interactive flet build (--yes, plain output, UTF-8), newer actions, flet-cli dev dependency 2026-09-28 23:44:19 -04:00
spoopyghosty0 69181bf46a Discovery via SteamOS devkit mDNS + multi-address probing; manual connect validation; auto-connect
The Frame announces _steamos-devkit._tcp (not _ssh._tcp) and can be reached over home Wi-Fi, its own
hotspot (10.35.78.1) or USB (10.86.200.233). Discovery probes every address, falls back to an SSH subnet
scan (excluding the PC's own addresses), and the GUI auto-connects to a found Frame. Connecting with an
empty address now shows a message instead of an error.
2026-09-28 23:32:59 -04:00
spoopyghosty0 65b6394d1d Declare flet-desktop (needed to run the GUI from source) 2026-09-28 23:26:24 -04:00
spoopyghosty0 0470a2910a FramePort: modular Quest → Steam Frame porting app
Python core + Flet GUI + CLI that turns the manual Steam Frame porting work
into a pipeline: scan dumps, analyze, suggest patches (overport + Frame fixes,
catalog of 34 verified recipes), build, static-validate, install over SSH via
a Frame-side agent, add Steam shortcuts with artwork, headless launch test and
log triage. Includes the native sources (FrameBridge adapter, VrApi bridge
patches, GL shim), prebuilt artifacts, docs (playbook, runtime notes) and a
parity harness (34/34 games reproduce the known-good builds).
2026-09-28 21:00:29 -04:00