diff --git a/docs/evidence/framey-steam-status-browser-2026-10-25.md b/docs/evidence/framey-steam-status-browser-2026-10-25.md new file mode 100644 index 0000000..b9128ec --- /dev/null +++ b/docs/evidence/framey-steam-status-browser-2026-10-25.md @@ -0,0 +1,28 @@ +# Steam Status in the local Framey browser, 25 October 2026 + +This check used the unmodified official Steam Status 1.2.3 archive already +pinned in `tests/fixtures/framey-official/123.zip`. Its SHA-256 is +`9053308e04a74f44745b45b9f4f50af3673348d367e7b14bacc5677de707ac4e`. +The archive declares Decky API v2. No headset was contacted for this check. + +On a Linux PC, we extracted the archive to a disposable plugin folder with a +Frame Control store receipt. A local HTTP server served the page from +`framey_panel.panel(123)`, Frame Control's React 18.3.1 runtime and its +`framey-host.js`. A parent page put the panel in an iframe with +`sandbox="allow-scripts"` and returned `{}` for the plugin's `get_settings` +backend calls. This was a **stub**, not the Decky service. + +Chromium reported `framey:ready` and four `get_settings` calls. The page showed +Steam Status, Store, Community, WebAPI, Connection Managers, Players Online, +and other controls. Its own public `https://steamstatus.schelstraete.org/api/v1/status` +request returned HTTP 200 and populated the status view. A click on **Refresh** +sent Framey's trusted pointer event to the parent; this test did not prove a +fresh status fetch or settings write. The [browser screenshot](framey-steam-status-browser-2026-10-25.png) +contains only the local test page and public service data. + +The plugin logged `SecurityError` while reading and writing `localStorage` in +the opaque-origin iframe. It caught the errors and rendered anyway. Its cache +and offline behavior in Framey are **not verified**. The real Decky backend, +live settings, SteamVR visibility, controller input and headset performance +were not tested. This result supports only local frontend rendering for this +exact archive and Frame Control v0.4.34 host code. diff --git a/docs/evidence/framey-steam-status-browser-2026-10-25.png b/docs/evidence/framey-steam-status-browser-2026-10-25.png new file mode 100644 index 0000000..ae2188f Binary files /dev/null and b/docs/evidence/framey-steam-status-browser-2026-10-25.png differ diff --git a/docs/framey-loader.md b/docs/framey-loader.md index 7239ae4..04ad252 100644 --- a/docs/framey-loader.md +++ b/docs/framey-loader.md @@ -55,6 +55,11 @@ live Decky settings persistence, or badges on Steam game pages. The last item has no supported injection target in the Frame Control panel. The [browser and fake Frame evidence](evidence/framey-browser-2026-10-25.md) records exactly what was exercised. +The pinned official Steam Status 1.2.3 frontend also +[rendered in local Chromium](evidence/framey-steam-status-browser-2026-10-25.md) +with a stubbed settings reply. Its public status request worked, but its cache +logged `localStorage` errors in Framey's opaque iframe. No real Decky backend +or worn headset test was part of that check. Fake Frame CI also installs and removes pinned official ProtonDB Badges 1.3.4 and Steam Status 1.2.3 archives, checks their API v2 manifests and frontend bytes, and verifies they can be packed as Framey panels. It does not execute