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

35 KiB
Raw Blame History

widgets-08: Power, VPN, speed, routing, and analytics

Metadata Value
Status blocked
Wave widgets
PR refs #6502, #6555
Personas Ingrid Infra
Boards qa-widgets-08
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 ups, vpn, speedtestTracker, traefik, umami
Artifact directory /home/habs/.codex/worktrees/8ba8/homarr/.screenshots/release-v2/widgets-08
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 Ingrid Infra
Browser session ID qa-v2-widgets-08
Timestamp 2026-08-31T16:20:06.432Z
Executed viewport / input / zoom mobile-320 / mouse / 100%

Dogfood evidence

Case ID Status Evidence Observed Expected
WG-008-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-008-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-008-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-008-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-008-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
ups mobile-320 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
ups mobile-375 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
ups boundary-767 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
ups boundary-768 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
ups tablet-1024 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
ups boundary-1279 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
ups desktop-1280 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
ups desktop-1440 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
ups desktop-1920 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
vpn mobile-320 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
vpn mobile-375 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
vpn boundary-767 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
vpn boundary-768 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
vpn tablet-1024 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
vpn boundary-1279 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
vpn desktop-1280 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
vpn desktop-1440 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
vpn desktop-1920 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
speedtestTracker mobile-320 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
speedtestTracker mobile-375 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
speedtestTracker boundary-767 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
speedtestTracker boundary-768 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
speedtestTracker tablet-1024 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
speedtestTracker boundary-1279 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
speedtestTracker desktop-1280 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
speedtestTracker desktop-1440 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
speedtestTracker desktop-1920 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
traefik mobile-320 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
traefik mobile-375 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
traefik boundary-767 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
traefik boundary-768 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
traefik tablet-1024 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
traefik boundary-1279 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
traefik desktop-1280 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
traefik desktop-1440 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
traefik desktop-1920 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
umami mobile-320 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
umami mobile-375 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
umami boundary-767 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
umami boundary-768 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
umami tablet-1024 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
umami boundary-1279 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
umami desktop-1280 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
umami desktop-1440 minimum / canonical / wide / tall / maximum / overflow / behavior-changing thresholds blocked before render blocked before authentication not reached redirect retry reproduced artifacts blocked
umami 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-08.

  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 the preflight agents. 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.