mirror of
https://github.com/saphid/frame-control.git
synced 2026-10-29 04:02:36 +01:00
Compare commits
9
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
70b4bb1368 | ||
|
|
b961fc4cef | ||
|
|
9af06c7845 | ||
|
|
9359b4ffbd | ||
|
|
37e25e62ac | ||
|
|
d1e526cb4b | ||
|
|
8230fdb19d | ||
|
|
2937a12864 | ||
|
|
71fe4a3ebb |
No files matched your search
Generated
+2
-2
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "frame-control",
|
||||
"version": "0.4.43",
|
||||
"version": "0.4.44",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "frame-control",
|
||||
"version": "0.4.43",
|
||||
"version": "0.4.44",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"electron": "^44.4.5",
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "frame-control",
|
||||
"productName": "Frame Control",
|
||||
"version": "0.4.43",
|
||||
"version": "0.4.44",
|
||||
"description": "Desktop app for managing a Valve Steam Frame over SSH",
|
||||
"private": true,
|
||||
"main": "main.js",
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
# Fake Frame package download retry, 26 October 2026
|
||||
|
||||
The ARM64 fake Frame container sometimes fails before project tests start.
|
||||
Valve's `holo-packages.steamos.cloud` returned package responses with **164
|
||||
bytes missing** during the `pacman -Syu` layer in
|
||||
`tests/fakeframe/Containerfile`:
|
||||
|
||||
| Run | Package and outcome |
|
||||
| --- | --- |
|
||||
| [v0.4.44 candidate checks](https://github.com/saphid/frame-control/actions/runs/40296431563) | `iptables` download truncated; a failed-only rerun passed on the unchanged PR head. |
|
||||
| [PR #316 checks](https://github.com/saphid/frame-control/actions/runs/40298316496) | `c-ares` download truncated before e2e tests. |
|
||||
| [PR #318 checks](https://github.com/saphid/frame-control/actions/runs/40301478955) | First attempt truncated `iptables`; failed-only rerun on the unchanged documentation head truncated `rsync`. The six other jobs passed. |
|
||||
|
||||
The fake Frame image now retries that package transaction at most five times,
|
||||
with a two-second delay after each failed attempt except the last. A fifth
|
||||
failure still fails the build. The end-to-end tests and their assertions are
|
||||
unchanged. This retry affects only the fake Frame test image; it does not
|
||||
change a real headset or the released application.
|
||||
|
||||
Exact-head hosted CI must pass before this change is merged. A successful
|
||||
container build would show that at least one package attempt completed; it
|
||||
would not establish that Valve's package service is permanently healthy.
|
||||
@@ -0,0 +1,56 @@
|
||||
# v0.4.44 candidate gate, 26 October 2026
|
||||
|
||||
This candidate starts from main commit
|
||||
`c50f96510fdb42a2aee227436a04c0cfe8817919`, which contains PR #312's
|
||||
Framey scroll buttons and PR #313's read-only installed-app metadata projection.
|
||||
It also carries the documentation-only v0.4.43 release evidence from PR #314.
|
||||
The app and lockfile are bumped to 0.4.44. No compatibility label changes:
|
||||
the exact-version official Decky catalog remains **4 works / 49 partial /
|
||||
52 broken / 11 N/A**. Junk-Store's About and Dependencies pages now render in
|
||||
the local Chromium test with its actual ARM64 backend; the plugin remains partial.
|
||||
|
||||
## Real Frame checks on the combined code
|
||||
|
||||
At 08:37 UTC, `scripts/frame-smoke.sh` ran on that main commit under its own
|
||||
`/tmp/frame-test.lock` owner. Locked preflight found SteamVR activity 3
|
||||
(standby), proximity 6.25 and battery 99%. On Frame OS 0.5.6 build
|
||||
`20261022.6153909`, ARM64 and Proton executables launched; the optional x86_64
|
||||
launch was skipped because Steam Linux Runtime 4 is absent. The result was
|
||||
**12 passed / 1 skipped / 0 failed**. It removed its test titles, exited 0 and
|
||||
released its owned lock. The private result is
|
||||
`tests/smoke/results/2026-10-26T083719Z-20261022.6153909.json` on the test
|
||||
host.
|
||||
|
||||
At 08:45 UTC, `scripts/framey-vr-check.py --exercise` ran the same code under
|
||||
a separate unique shared-lock owner, beginning in standby (activity 3,
|
||||
proximity 6.3125, battery 99%). Synthetic native OpenVR clicks on the new
|
||||
**Scroll plugin down/up** buttons moved a temporary sample region 0 → 120 → 0.
|
||||
The sample setting save/reopen, quick action, slider, text and compositor-change
|
||||
checks passed. Native synthetic wheel attempts still produced no event or
|
||||
movement. Cleanup removed test services and its power watchdog, restored the
|
||||
original `false` / `5` power values, read battery 99%, and released its lock
|
||||
with no errors. The private report is
|
||||
`/tmp/framey-scroll-postmerge-direct-20261026/result.json` on the test host.
|
||||
This is an unworn sample panel check. It does not prove physical controller
|
||||
scrolling, optical readability or an official-plugin panel in VR.
|
||||
|
||||
## Publication boundary
|
||||
|
||||
The version-bumped release branch also ran `scripts/frame-smoke.sh` after its
|
||||
normal merge of PR #314's documentation. At 08:59 UTC, its locked preflight
|
||||
found activity 3, proximity 6.3125 and battery 97%. The result was again
|
||||
**12 passed / 1 skipped / 0 failed** on the same Frame OS build; ARM64 and
|
||||
Proton launches passed, while the optional x86 launch was skipped for the
|
||||
missing Steam Linux Runtime 4. Owned test title/process cleanup passed, the
|
||||
command exited 0, and its lock was released. The private result is
|
||||
`tests/smoke/results/2026-10-26T085951Z-20261022.6153909.json` on the test
|
||||
host. This evidence-only paragraph is the sole change after that smoke.
|
||||
|
||||
PR #313's own actual ARM64 backend/library test is documented in
|
||||
[installed-context evidence](framey-installed-context-2026-10-26.md). Its
|
||||
dependency installation, login, game operations, RSS and optional websocket
|
||||
remain unverified. The candidate still needs exact-head CI, tagged builds,
|
||||
ten installer digests with `SHA256SUMS`, downloaded package checks, publisher
|
||||
dry run and public updater readback before publication. A worn check requires
|
||||
activity, proximity and reliable wearer confirmation; none was available, so
|
||||
the hourly schedule stays enabled.
|
||||
@@ -0,0 +1,58 @@
|
||||
# v0.4.44 tagged release, 26 October 2026
|
||||
|
||||
The annotated `v0.4.44` tag dereferences to main merge commit
|
||||
`37e25e62ace388ce032f47d08398c26ea8540fdb` from PR #315. The app and
|
||||
lockfile both report 0.4.44. [Post-merge main checks](https://github.com/saphid/frame-control/actions/runs/40298400256)
|
||||
passed all seven jobs, including iOS and fake Frame end-to-end tests. The
|
||||
[tagged release workflow](https://github.com/saphid/frame-control/actions/runs/40299460805)
|
||||
passed its draft, Linux, Windows, Apple Silicon Mac, Intel Mac and checksum
|
||||
jobs. The tagged Linux build ran the AppImage under isolated Xvfb; this does
|
||||
not verify a physical display or headset.
|
||||
|
||||
## Frame and package gates
|
||||
|
||||
The [candidate evidence](v0444-candidate-2026-10-26.md) records a shared-lock
|
||||
real Frame smoke on the version-bumped candidate: **12 passed / 1 optional x86
|
||||
launch skipped / 0 failed**, with owned cleanup and lock release. The x86
|
||||
launch was skipped because Steam Linux Runtime 4 is absent. The candidate
|
||||
also records an unworn sample panel exercise: synthetic OpenVR clicks moved a
|
||||
temporary scroll region down and back, while a synthetic native wheel did
|
||||
not scroll. No physical controller or wearer-visible result follows from it.
|
||||
The final candidate edit was evidence only, and the merge commit added no
|
||||
runtime changes.
|
||||
|
||||
The draft contained ten installers and `SHA256SUMS`. Every installer had a
|
||||
GitHub SHA-256 digest. A freshly downloaded `SHA256SUMS` listed exactly those
|
||||
ten names and matching digests; its downloaded bytes matched GitHub's digest
|
||||
`072f8084d6f9f145f4a58457d10f54390b50d11288bece42f6d801a356a69b1c`.
|
||||
After the release notes were attached, `scripts/publish-release.sh --dry-run
|
||||
v0.4.44` passed the remote tag, ten installer and checksum gates.
|
||||
|
||||
Freshly downloaded packages passed these independent checks:
|
||||
|
||||
| Package | Result |
|
||||
| --- | --- |
|
||||
| Linux x86_64 AppImage | SHA-256 `d1cb5c3b590a44a9c61cf1d38d546cf89a835c73bece839c639f0d2be70ff139`; launched under isolated Xvfb, bundled server returned HTTP 200 with `FrameControl/1`, and stopped on exit. The first local attempt was blocked by the sandbox; the same downloaded bytes passed outside it. |
|
||||
| Mac arm64 ZIP | SHA-256 `5a25dfea9b3c645dae7acaf660b7127e9a46a03173a69d02ef4c64b0b39a5934`; ZIP CRC valid, bundle version 0.4.44, main Mach-O CPU arm64. |
|
||||
| Mac x64 ZIP | SHA-256 `fde1c48eef4e3b4be12a862d32c1154afd1a93fe1f27a32f0799365205655021`; ZIP CRC valid, bundle version 0.4.44, main Mach-O CPU x86_64. |
|
||||
| Windows x64 Setup | SHA-256 `e8cae0a8d0f8b76a41ca109f5ec4bf9947ca31531a8b93ebb8e326e453602a16`; PE/Nullsoft installer format. The tagged Windows CI also checked its packaged files and Python libraries. |
|
||||
| Linux arm64 DEB | SHA-256 `40f1704af89b5b824bc28e93328c516306aaefb2e0f441c1866197fc953eb21f`; package version 0.4.44 and architecture arm64. |
|
||||
|
||||
The tagged Mac and Windows packages were not launched on physical machines
|
||||
in this release gate. Earlier Intel Mac acceptance covers older bytes.
|
||||
|
||||
## Publication and limits
|
||||
|
||||
`scripts/publish-release.sh v0.4.44` published
|
||||
[v0.4.44](https://github.com/saphid/frame-control/releases/tag/v0.4.44) at
|
||||
2026-10-26 09:38:50 UTC. GitHub's latest-release API returned `draft=false`,
|
||||
`prerelease=false`, the expected tag, ten installers, `SHA256SUMS` and
|
||||
`update.json`. A fresh public latest-download of `update.json` reported
|
||||
version 0.4.44, the stable release page and ten hashed assets. Its notes
|
||||
retain the worn-VR limits. The exact-version official Decky catalog remains
|
||||
**4 works / 49 partial / 52 broken / 11 N/A** out of 116; Junk-Store remains
|
||||
partial.
|
||||
|
||||
No reliable wearer confirmation was available. Official-plugin VR rendering,
|
||||
physical controller use, optical readability, audible output and VR keyboard
|
||||
remain unverified. The hourly shared-lock worn-check schedule stays enabled.
|
||||
@@ -10,8 +10,13 @@ ARG BASE=archlinux:base
|
||||
FROM ${BASE}
|
||||
|
||||
RUN (pacman-key --init && pacman-key --populate) >/dev/null 2>&1; \
|
||||
pacman -Syu --noconfirm --needed openssh rsync python nodejs curl iproute2 procps-ng util-linux \
|
||||
&& pacman -Scc --noconfirm
|
||||
attempts=0; \
|
||||
until pacman -Syu --noconfirm --needed openssh rsync python nodejs curl iproute2 procps-ng util-linux; do \
|
||||
attempts=$((attempts + 1)); \
|
||||
[ "$attempts" -lt 5 ] || exit 1; \
|
||||
sleep 2; \
|
||||
done; \
|
||||
pacman -Scc --noconfirm
|
||||
|
||||
# The Frame's user is steamos (docs/ssh.md). Its password stands in for the
|
||||
# Developer Mode password.
|
||||
|
||||
Reference in new issue
Block a user