mirror of
https://github.com/saphid/frame-control.git
synced 2026-10-24 22:00:25 +02:00
Primary tabs become Apps (Installed / Browse / Linux apps), Games (Installed / Owned / Store), Tools and Settings, with shortcuts 1-4 and one Add / Install chooser for catalogs, Steam, Linux apps, files and install links. Installed rows show identity, one state and Open/Stop; the rest moves to app details. Review fixes (#106): input, touch, approvals, artwork repair, keyboard helper delivery and catalogue jobs stay bound to the headset they were meant for; report preview follows the latest consent; failed Store reads are not an empty library; keyboard access to device details and the Store sheet; the iOS bundle ships the artwork renderer and OpenXR resources; typed addresses and custom SSH ports survive setup; WebKit crashes recover; native preferences survive relaunch; APK update rollback and repair stay retryable. Refs #101, #104, #106 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
15 lines
580 B
Python
15 lines
580 B
Python
"""Production navigation and app actions, without a browser or headset."""
|
|
import shutil
|
|
import subprocess
|
|
import unittest
|
|
from pathlib import Path
|
|
|
|
|
|
@unittest.skipUnless(shutil.which('node'), 'Node exercises shared page behavior')
|
|
class Workspace(unittest.TestCase):
|
|
def test_behavior(self):
|
|
root = Path(__file__).resolve().parents[1]
|
|
result = subprocess.run(['node', '--test', str(root / 'tests/ui_workspace.cjs')],
|
|
capture_output=True, text=True)
|
|
self.assertEqual(result.returncode, 0, result.stdout + result.stderr)
|