mirror of
https://github.com/Toastconcern/FrameStudio.git
synced 2026-10-29 04:02:56 +01:00
Updates: Frame Studio and Frame Home update themselves from GitHub
CI stamps every Studio build with its commit (FRAME_BUILD) and the release gets latest.json: the commit, Frame Home's identity (a hash of the headset programs in frame/payload) and the files in the release. Frame Studio (studio/updater.h): checks a few seconds after start and every 6 hours (Help > Check for Updates any time). A newer build shows "Update Available" in the top bar; Download and Install fetches this computer's build with the system's curl, unpacks it with tar, and swaps each item in (the old one renamed aside first, so the running copy keeps working and a failure rolls everything back). Restart Now closes through the normal unsaved-changes prompt, then starts the new copy; the next start deletes what was set aside. Local builds never update. New platform calls: systemTool (System32's curl/tar on Windows) and launch. Frame Home (src/switcher.cpp): on the Steam Frame the Environments panel checks a minute after it starts and every 6 hours. When the installed programs' hash isn't the release's, "Update Frame Home" shows beside Restart Frame Home; it downloads FrameHome-installer.zip and runs its install.sh in its own session (which restarts Frame Home and the panel), and the new panel says "Frame Home is updated". Also frame-switcher --check-update / --update from a terminal. frame/payload: frame-switcher rebuilt on the Steam Frame with this. Tested: Studio's full cycle (check, download, unpack, swap, relaunch, cleanup) and its rollback against a local fake release on Windows; the headset's check and update against a fake release on the Frame (old panel and Frame Home replaced, then up to date); Linux compile of Studio; Studio --selftest unchanged (98 passed, same 6 known fails). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
39c8424391
commit
fedadd5ae3
12 files changed
+590
-3
No files matched your search
@@ -180,6 +180,16 @@ The **Headset** tab (or the **Headset** menu):
|
||||
(show only the selection) and **Show Everything**.
|
||||
- **Edit > Menu Search...** (F3): find any command by typing part of its name.
|
||||
|
||||
## Updates
|
||||
|
||||
Studio checks GitHub for a newer **Latest build** a few seconds after it starts and every 6 hours after that. When
|
||||
there is one, an orange **Update Available** button shows in the top bar. Click it, then **Download and Install**:
|
||||
Studio downloads the build for your computer and puts it in place of the copy you're running. **Restart Now** opens
|
||||
the new one (it asks about unsaved changes first). **Help > Check for Updates...** checks right away.
|
||||
|
||||
If Studio's folder can't be written to (Program Files, for example), nothing is changed and the window offers the
|
||||
download page instead. A copy you built yourself doesn't update itself.
|
||||
|
||||
## Keyboard shortcuts
|
||||
|
||||
| Key | Does | Key | Does |
|
||||
|
||||
@@ -47,8 +47,18 @@ Over SSH (`ssh frame`) you can do the same with the panel's program:
|
||||
~/frame-home/bin/frame-switcher --list # the environments; the current one is marked with *
|
||||
~/frame-home/bin/frame-switcher --set 3 # switch, by number from --list or by file name
|
||||
~/frame-home/bin/frame-switcher --delete NAME # delete one, like the panel's delete button
|
||||
~/frame-home/bin/frame-switcher --check-update # is there a newer Frame Home on GitHub?
|
||||
~/frame-home/bin/frame-switcher --update # download and install it now
|
||||
```
|
||||
|
||||
### Updates
|
||||
|
||||
The panel checks GitHub for a newer Frame Home a minute after it starts and every 6 hours after that. When there is
|
||||
one, **Update Frame Home** shows at the top of the panel, beside **Restart Frame Home**. Click it: the headset
|
||||
downloads the new version and installs it, and Frame Home and the panel restart a few seconds later with
|
||||
"Frame Home is updated". Your environments and settings stay as they are. If it can't finish, the panel says why;
|
||||
`~/frame-home/logs/update.log` has the details.
|
||||
|
||||
## Adding environments
|
||||
|
||||
Every environment lives in `~/frame-home/envs` on the headset. Ways to put one there:
|
||||
|
||||
Reference in new issue
Block a user