diff --git a/CLAUDE.md b/CLAUDE.md index afbd3b5..8dacb34 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -240,6 +240,8 @@ hides world surfaces itself. Keep the teardown rule: overlays, then SteamVR, the RPATH `$ORIGIN/../lib`. - `manifest.vrmanifest` uses paths relative to itself, so `--install-manifest` works from both the build tree and an install. +- The manifest passes `--log-file logs/.log` (`arguments`), so SteamVR-started instances + log to the install folder (or `build//logs/` from the build tree). - `cmake/OpenVR.cmake` downloads only `openvr.h`, `LICENSE` and the matching `bin/linux64|linuxarm64/libopenvr_api.so` into `third_party/openvr-/` (gitignored). - **Deploying to the Frame uses its system Qt by default.** Bundling Qt is the fallback for diff --git a/docs/PROGRESS.md b/docs/PROGRESS.md index 1bebcb1..0d505a0 100644 --- a/docs/PROGRESS.md +++ b/docs/PROGRESS.md @@ -8,9 +8,9 @@ CLAUDE.md ("Working rules"). - **Implementation iteration 1 (DSH-1 and configuration), phase 3 (implementation) done, waiting for the user's approval.** All plan steps are implemented and committed; next is phase 4, testing on the Frame (plan item 10). -- **Open point found:** started by SteamVR, the app writes no log file (the manifest passes no - `--log-file`, stderr goes to SteamVR). CFG-2 wants the settings error "in the log file and - on stderr". To be decided. +- Started by SteamVR, the app now logs to `logs/frame-assistant.log` in the install folder: + the manifest passes `--log-file` (CFG-2 wants the settings error in a log file). Whether + SteamVR on the Frame honours the manifest's `arguments` is checked in phase 4. ## Next steps @@ -95,6 +95,9 @@ Known limitation: the bundled-Qt package does not support WebEngine in this iter generated QML type registration includes headers by file name; Qt ≥ 6.9 hints at `WebEngineProfilePrototype` (not in the Frame's 6.8). Deviations: `HaWebUi` lives in the app, not the library; the password warning needs a password in the file. + - Log file for SteamVR-started instances: the manifest passes `--log-file + logs/frame-assistant.log` (user's choice among: default log path in the app, manifest + argument, document only). - Not verified yet: WebEngine with a URL in the off-screen pipeline (Frame, phase 4); the bundled package (not supported for WebEngine in this iteration). - Plan for implementation iteration 1 approved; phase 3 started. diff --git a/docs/STEAM-FRAME.md b/docs/STEAM-FRAME.md index c727bd6..3638978 100644 --- a/docs/STEAM-FRAME.md +++ b/docs/STEAM-FRAME.md @@ -42,6 +42,9 @@ scripts/deploy-to-frame.sh steamos@ # rsync the newest package to ~/ A release folder contains the program, `install.sh` (install or update: stops a running instance, registers with SteamVR, starts it), `uninstall.sh`, `README.txt` and the licenses. +The app logs to `logs/frame-assistant.log` in that folder (passed by the manifest), and +needs a settings file first (`~/.config/frameassistant/config.json`, from +`share/frameassistant/config.example.json`; see README.md, "Settings"). SteamVR stores the folder's absolute path, so after moving the folder, run `install.sh` again. diff --git a/resources/manifest.vrmanifest.in b/resources/manifest.vrmanifest.in index 75eb140..5c44964 100644 --- a/resources/manifest.vrmanifest.in +++ b/resources/manifest.vrmanifest.in @@ -4,6 +4,7 @@ "app_key": "@VRDASH_APP_KEY@", "launch_type": "binary", "@VRDASH_MANIFEST_BINARY_KEY@": "../../@CMAKE_INSTALL_BINDIR@/@VRDASH_EXECUTABLE_NAME@", + "arguments": "--log-file logs/@VRDASH_EXECUTABLE_NAME@.log", "is_dashboard_overlay": true, "strings": { "en_us": { diff --git a/scripts/package-release.sh b/scripts/package-release.sh index 1270c78..1e8b045 100755 --- a/scripts/package-release.sh +++ b/scripts/package-release.sh @@ -86,14 +86,15 @@ chmod +x "$out/install.sh" "$out/uninstall.sh" echo " cp share/$project/config.example.json ~/.config/$project/config.json" echo " chmod 600 ~/.config/$project/config.json" echo " then edit it (device name, MQTT broker, Home Assistant URL)." - echo " Without valid settings the app exits; to see why, run" - echo " ./bin/$exe --desktop in a terminal." + echo " Without valid settings the app exits; the reason is in" + echo " logs/$exe.log." echo echo "Install / update: ./install.sh (SteamVR must be running)" echo " SteamVR remembers this folder's location: after moving it," echo " run ./install.sh again." echo "Uninstall: ./uninstall.sh" - echo "Logs: logs/install.log; run ./bin/$exe --help for options" + echo "Logs: logs/$exe.log (the app), logs/install.log (install.sh);" + echo " run ./bin/$exe --help for options" echo echo "License: MIT (LICENSE). Third-party notices: share/doc/$project/." } > "$out/README.txt"