Files
homarr/qa/release-v2/reports/widgets-02/report.md
T

31 KiB
Raw Blame History

widgets-02: Apps, embeds, video, game status, and stocks

Metadata Value
Status blocked
Wave widgets
PR refs #6502, #6555
Personas Cora Creator
Boards qa-widgets-02
Profiles main-writable, degraded
Chromium viewports mobile-320, mobile-375, boundary-767, boundary-768, tablet-1024, boundary-1279, desktop-1280, desktop-1440, desktop-1920
Zoom 100%, 200%
Input mouse, touch, keyboard
Widget kinds app, iframe, video, minecraftServerStatus, stockPrice
Artifact directory /home/habs/.codex/worktrees/8ba8/homarr/.screenshots/release-v2/widgets-02
Candidate SHA f57a660088
URL / actual port http://127.0.0.1:37137 / 37137
Runtime profile / flags main-writable; DEMO_MODE=true, DEMO_READ_ONLY=false, UNSAFE_ENABLE_MOCK_INTEGRATION=true
Executed persona Cora Creator
Browser session ID qa-v2-widgets-02
Timestamp 2026-08-31T15:58:22.521Z
Executed viewport / input / zoom mobile-320 / mouse / 100%

Dogfood evidence

Case ID Status Evidence Observed Expected
WG-002-RENDER-SIZE blocked browser artifacts The application entry repeated redirects until Chromium stopped navigation; the assigned flow was not reachable. Render every assigned widget kind at every assigned viewport and exercise default, minimum, maximum, and compact sizes where supported.
WG-002-STATES-RECOVERY blocked browser artifacts The application entry repeated redirects until Chromium stopped navigation; the assigned flow was not reachable. Verify loading, populated, empty, error, stale, retry, and recovered states for every assigned widget kind.
WG-002-OPTIONS-PERSISTENCE blocked browser artifacts The application entry repeated redirects until Chromium stopped navigation; the assigned flow was not reachable. Mutate meaningful options, save, reload, reset, and confirm each assigned widget kind persists correctly.
WG-002-ACCESS-READONLY blocked browser artifacts The application entry repeated redirects until Chromium stopped navigation; the assigned flow was not reachable. Verify Owner, Editor, Viewer, missing-integration, permission-denied, and global read-only behavior for every assigned widget kind.
WG-002-EVIDENCE blocked browser artifacts The application entry repeated redirects until Chromium stopped navigation; the assigned flow was not reachable. Capture screenshot, console, network, overflow, clipping, focus, and cleanup evidence for every kind and viewport row.

Widget kind × viewport checklist

Widget kind Viewport Size States Permission/read-only Options/persistence Recovery Evidence Status
app mobile-320 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
app mobile-375 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
app boundary-767 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
app boundary-768 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
app tablet-1024 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
app boundary-1279 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
app desktop-1280 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
app desktop-1440 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
app desktop-1920 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
iframe mobile-320 every width 1-24 × every height 1-6 blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
iframe mobile-375 every width 1-24 × every height 1-6 blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
iframe boundary-767 every width 1-24 × every height 1-6 blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
iframe boundary-768 every width 1-24 × every height 1-6 blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
iframe tablet-1024 every width 1-24 × every height 1-6 blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
iframe boundary-1279 every width 1-24 × every height 1-6 blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
iframe desktop-1280 every width 1-24 × every height 1-6 blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
iframe desktop-1440 every width 1-24 × every height 1-6 blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
iframe desktop-1920 every width 1-24 × every height 1-6 blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
video mobile-320 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
video mobile-375 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
video boundary-767 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
video boundary-768 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
video tablet-1024 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
video boundary-1279 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
video desktop-1280 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
video desktop-1440 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
video desktop-1920 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
minecraftServerStatus mobile-320 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
minecraftServerStatus mobile-375 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
minecraftServerStatus boundary-767 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
minecraftServerStatus boundary-768 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
minecraftServerStatus tablet-1024 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
minecraftServerStatus boundary-1279 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
minecraftServerStatus desktop-1280 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
minecraftServerStatus desktop-1440 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
minecraftServerStatus desktop-1920 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
stockPrice mobile-320 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
stockPrice mobile-375 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
stockPrice boundary-767 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
stockPrice boundary-768 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
stockPrice tablet-1024 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
stockPrice boundary-1279 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
stockPrice desktop-1280 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
stockPrice desktop-1440 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
stockPrice desktop-1920 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked

Performance measurements and limitations

No valid feature timing could be recorded because no application document rendered. Cold/warm, polling, rendering, memory, and recovery measurements remain blocked.

Independent reproductions

The common routing failure was independently reproduced by qa-v2-preflight-01; the corresponding tracked packet contains its own browser evidence.

Findings

RV2-P1-001 — P1: locale rewrite causes an infinite browser redirect

Preconditions: candidate f57a660088, main-writable, mobile-320, 100% zoom, mouse, fresh named Chromium session qa-v2-widgets-02.

  1. Launch a fresh Chromium context with the Chromium argument --no-sandbox.
  2. Set the assigned viewport and open http://127.0.0.1:37137 or its authentication entry.
  3. Observe repeated document requests to the same route.
  4. Wait until Chromium displays ERR_TOO_MANY_REDIRECTS or chrome-error://chromewebdata/.
  5. Close the context, retry in a fresh context, and observe the same result.

Expected: the application renders the assigned entry, permitting authentication and the packet flow. Actual: the redirect loop prevents the application from rendering. Reproducibility: reproduced on retry and independently by another Luna Max preflight agent. Console output was empty; network and visual evidence are linked below.

Artifacts

Mutations and persistence

No credentials were submitted and no product mutation occurred. Reload and fresh-session retries reproduced the routing failure, so application persistence was not reachable.

Blockers and gaps

Every non-evidence case listed as blocked remains untested beyond the routing entry. No blocked cell is treated as passed.

Cleanup

The named browser session was closed by the browser agent. Artifacts remain under the untracked packet directory; no secret values were captured.