Remove the HA Dashboard tab and the Qt WebEngine dependency (D40)
DSH-1 ended with a negative result: the Frame's system WebEngine can't be loaded, and bundling our own failed (no sandbox, ICU resources, Vulkan abort, empty page). Reverts the tab (60deb43), the container packages (0676998) and the bundler's WebEngine support (b823ff3,e2cfa8e), and updates the docs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -103,7 +103,7 @@ FrameAssistant.
|
||||
|
||||
| ID | Requirement | Prio | MVP | Acceptance criteria |
|
||||
|----|-------------|------|-----|---------------------|
|
||||
| DSH-1 | A dashboard tab shows HA's web UI (Qt WebEngine) at a configured URL, as a "does it work out of the box" test. | M | ✓ | The page loads in VR and can be operated with the laser; whatever doesn't work out of the box is documented and moved to a later iteration. |
|
||||
| DSH-1 | A dashboard tab shows HA's web UI (Qt WebEngine) at a configured URL, as a "does it work out of the box" test. | M | ✓ | The page loads in VR and can be operated with the laser; whatever doesn't work out of the box is documented and moved to a later iteration. **Result (D40):** fails on the Frame; tab removed. |
|
||||
| DSH-2 | The full dashboard to control HA entities in VR: everything beyond DSH-1, e.g. login comfort, opening a given HA view (SRV-4), possibly a native approach (Q2, Q3). | S | | Defined after design exploration. |
|
||||
|
||||
### Non-functional (NFR)
|
||||
@@ -133,7 +133,7 @@ FrameAssistant.
|
||||
| # | Question | Status |
|
||||
|---|----------|--------|
|
||||
| Q1 | Several notifications at once: stack, queue, replace by tag? | open, design exploration |
|
||||
| Q2 | Dashboard: HA's own web UI vs. native VR UI? | open, design exploration (Qt WebEngine exists on the Frame, Appendix C) |
|
||||
| Q2 | Dashboard: HA's own web UI vs. native VR UI? | open; HA's web UI via Qt WebEngine failed on the Frame (D40), so native is the candidate |
|
||||
| Q3 | Dashboard data: HA WebSocket API (token) in addition to MQTT, or MQTT only? | open, design |
|
||||
| Q4 | Which MQTT client library? Licence, availability on SteamOS, TLS/login support. | answered: libmosquitto, shipped in the package (D14, Appendix B) |
|
||||
| Q5 | Status card: own tab or part of the main tab? | answered: own tab, on demand (D9) |
|
||||
@@ -163,6 +163,7 @@ FrameAssistant.
|
||||
| D15 | 2026-10-05 | HA MQTT discovery: **own small layer on Qt's JSON classes**, using device-based discovery (one `<prefix>/device/<id>/config` topic with all entities under `cmps`) | No suitable library (Appendix B); HA recommends device-based discovery for multi-entity devices (NFR-7) |
|
||||
| D20 | 2026-10-05 | New requirement UI-1 (status display in the main tab), MVP | Helps testing on the device; little effort |
|
||||
| D28 | 2026-10-05 | DSH-1 split: DSH-1 (MVP) = HA web UI in a tab as an out-of-the-box test; DSH-2 (Should) = the full dashboard. The MVP (D8) now also contains DSH-1 | The user wants to see early whether the simple variant works |
|
||||
| D40 | 2026-10-05 | DSH-1 done with a negative result: HA's web UI via Qt WebEngine doesn't work on the Frame (system WebEngine not loadable; bundling our own failed). The "HA Dashboard" tab and the WebEngine dependency are removed; the MVP no longer contains a dashboard. `homeassistant.url` stays reserved for DSH-2 | The out-of-the-box test answered its question; a WebEngine dependency would keep the whole app from starting on the Frame |
|
||||
|
||||
Design decisions (D16 onward) are in [DESIGN.md](DESIGN.md).
|
||||
|
||||
@@ -273,7 +274,7 @@ use Qt's private API, which requires the exact Qt version.
|
||||
| Sounds, audio from URL | NOT-4, SRV-8 | Qt Multimedia + QtNetwork | ✓ `libQt6Multimedia`, FFmpeg plugin | no |
|
||||
| HTTPS (downloads, WebSocket) | SRV-8, Q3 | Qt TLS plugin | ✓ `libqopensslbackend.so` | no |
|
||||
| Translations | NFR-4 | `QTranslator`, `lupdate`/`lrelease` | ✓ (build-time tools) | no |
|
||||
| Dashboard, HA web UI | DSH-1, DSH-2, Q2 | Qt WebEngine (Quick) | **✗ present but not loadable**: 6.7.0 next to Qt 6.8.0, built against FFmpeg 6, which the Frame lacks (STEAM-FRAME.md) | yes, only bundled with all of Qt (experiment, see PROGRESS.md) |
|
||||
| Dashboard, HA web UI | DSH-1, DSH-2, Q2 | Qt WebEngine (Quick); **dropped (D40)** | **✗ present but not loadable**: 6.7.0 next to Qt 6.8.0, built against FFmpeg 6, which the Frame lacks (STEAM-FRAME.md) | bundling it with all of Qt was tried and failed (STEAM-FRAME.md) |
|
||||
| Dashboard, native UI | DSH-2, Q2/Q3 | HA WebSocket API via Qt WebSockets | ✓ `libQt6WebSockets` | no |
|
||||
| Haptics, fade, apps | SRV-1/2 | OpenVR | ✓ | no |
|
||||
| Tests | NFR-8 | QtTest | ✓ (host only) | no |
|
||||
@@ -286,5 +287,5 @@ Also present and possibly useful later: `libQt6TextToSpeech`, Qt's `networkinfor
|
||||
Open points:
|
||||
- The Debian build container needs the matching `-dev` packages (amd64 and arm64) for every
|
||||
module used. Not checked yet.
|
||||
- WebEngine and Multimedia come with SteamOS's desktop (KDE) packages; a SteamOS update could
|
||||
remove them.
|
||||
- Multimedia comes with SteamOS's desktop (KDE) packages; a SteamOS update could remove it.
|
||||
(WebEngine likewise, but it isn't usable anyway, D40.)
|
||||
|
||||
Reference in New Issue
Block a user