mirror of
https://github.com/gesellix/Bose-SoundTouch.git
synced 2026-08-18 00:26:29 +00:00
Refreshes docs/images/ui-{settings,devices,sync,migration}.png by
driving the web UI in chromedp against a synthetic speaker, so
documentation can be regenerated without real hardware and without
leaking personal data from the local network.
Three independent pieces:
- pkg/service/testing/fakespeaker — embeddable library serving the
HTTP and telnet surface the migration wizard probes (/info,
/presets, /recents and a getpdo CurrentSystemConfiguration reply
that places the device on the unmigrated happy path).
- cmd/dummy-speaker — thin CLI wrapping the library; self-registers
with a running service via POST /setup/devices.
- scripts/screenshots — chromedp runner driven by a JSON manifest;
decoupled from speaker/service setup so it can target any backend
URL. run.sh orchestrates a one-shot end-to-end capture and seeds
settings.json with a generic hostname plus discovery disabled to
keep real-network state out of the captures.
Captures are at DPR=2 for retina-sharp text.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
35 lines
878 B
JSON
35 lines
878 B
JSON
{
|
|
"shots": [
|
|
{
|
|
"name": "ui-settings",
|
|
"path": "/",
|
|
"click_selector": "button[onclick*=\"tab-settings\"]",
|
|
"wait_selector": "#tab-settings.active",
|
|
"settle_ms": 300
|
|
},
|
|
{
|
|
"name": "ui-devices",
|
|
"path": "/",
|
|
"click_selector": "button[onclick*=\"tab-devices\"]",
|
|
"wait_selector": "#tab-devices.active",
|
|
"settle_ms": 500
|
|
},
|
|
{
|
|
"name": "ui-sync",
|
|
"path": "/",
|
|
"click_selector": "button[onclick*=\"tab-sync\"]",
|
|
"wait_selector": "#tab-sync.active",
|
|
"settle_ms": 300
|
|
},
|
|
{
|
|
"name": "ui-migration",
|
|
"path": "/",
|
|
"click_selector": "button[onclick*=\"tab-migration\"]",
|
|
"wait_selector": "#tab-migration.active",
|
|
"evaluate": "prepareMigration('DEADBEEFCAFE')",
|
|
"wait_after_eval": "#migration-summary",
|
|
"settle_ms": 4000
|
|
}
|
|
]
|
|
}
|