Vertical Player — QA Summary (Rounds 2 & 3)

Last updated: 2026-04-09  |  Sites: iSport, e15, Reflex  |  Devices: Desktop Chromium, iPhone WebKit emulation
Prepared for: Marian Bulla  |  Includes Round 2 baseline (2026-04-08) + Round 3 iPhone-specific findings (2026-04-09)

Gtech Fix Verification

1. Video #4 Freeze (iSport Desktop) Fixed

The video-stall probe played 6 consecutive videos on iSport homepage (desktop Chromium). All 6 videos played ~5 seconds each without any stall events. Video at index 4 specifically: stalled = false, played 5.0s.

On iPhone WebKit, video index 4 did stall — but this is attributable to WebKit emulation limitations (see Finding 5).

Video #4 freeze: FIXED — confidence: high. Basis: reproduced on desktop Chromium with 6 videos checked, 0 stalls; consistent with e15 desktop (also 0 stalls across 6 videos).

2. Keyboard Navigation (iSport Desktop + e15) Requires Prior Click

The keyboard-nav probe tested arrow-key navigation in two phases:

SiteCold (no click)Post-click
iSport (desktop) No change (stayed at index -1) No change (stayed at index -1)
e15 (desktop) No change (stayed at index 0) Advanced from 0 to 1

On iSport, keyboard nav did not work even after clicking the player area. On e15, it required a click first — classic focus-gating behavior. The probe summary confirms: "Quirk confirmed."

Keyboard navigation: REQUIRES PRIOR CLICK — confidence: high. Basis: confirmed on e15 (cold=no change, post-click=advances). iSport keyboard nav appears broken even post-click (index stayed at -1).

Known Issue Investigation

3. Ad Entry Offset — Video #2 (Desktop + iPhone) No Issue

The ad-entry-offset probe checked whether ads appear at video slot #2 (the expected first-ad position) or are skipped.

DeviceFirst Ad at IndexSlots Checked
iSport Desktop2[2, 3, 4, 5]
iSport iPhone WebKit2[2, 3, 4, 5]

Both runs confirmed ads appearing at the correct entry slot. Ad selectors matched: iframe[src*="doubleclick.net"], iframe[src*="googlesyndication.com"], iframe[id*="google_ads"].

Ad entry offset (video #2): NO ISSUE — confidence: high. Basis: ad appeared at video index 2 on both desktop and iPhone runs.

4. Playlist Loop (iSport Desktop) Inconclusive

The playlist-loop probe attempted 12 advances through the iSport carousel (12 cards). The playlist did not loop back to the first video.

Navigation stalled at video index 5 — the probe visited indices [0, 1, 2, 3, 4, 5, 5, 5, 5], getting stuck after index 5 and never reaching videos 6–11 or looping back.

On e15, the playlist did loop successfully (9 advances, 8 unique videos, loop detected). This suggests the loop mechanism works but iSport's larger playlist (12 cards) hits a navigation stall mid-sequence.
Playlist loop (iSport): INCONCLUSIVE — confidence: low. Basis: navigation stalled at video #5, preventing the probe from reaching end-of-playlist. Cannot determine whether loop logic works on iSport.

5. iPhone Ads — WebKit Emulation Inconclusive

The iPhone WebKit run on iSport detected ad network activity:

The ad-pipeline failure is contradicted by the ad-entry-offset finding ads at index 2 and the 262 captured ad events. This suggests the ad-pipeline probe's detection heuristic may need calibration for WebKit.

Additionally, 3 of 6 videos stalled on iPhone WebKit (indices 2, 4, 6 — all even-indexed videos showed 0s playback). This is a WebKit emulation artifact.

Important limitation: iOS low-power-mode is NOT simulated in Playwright WebKit emulation. Real-device behavior for ad rendering and video playback may differ significantly. All iPhone findings are capped at medium confidence.
iPhone ads (WebKit): INCONCLUSIVE — confidence: medium (capped). Basis: ads detected at correct slot via ad-entry-offset, but ad-pipeline probe reported no ads; 3/6 video stalls suggest WebKit emulation artifacts.

Coverage Expansion

6. Cross-Site Summary Overview

SitePassFailInconclusiveN/ANotable
iSport (desktop) 5234 Playlist stall at video #5; ad-pipeline detection miss
iSport (iPhone) 4334 3/6 video stalls (WebKit); ad-pipeline fail despite events
e15 (desktop) 6026 Cleanest run. Playlist loops. Keyboard nav works post-click.
Reflex (desktop) 1508 Carousel not found — VP not present on Reflex homepage

Reflex: All 5 failures stem from the VP carousel not being found on the Reflex homepage. The discovery probe reported: "Carousel not found with selector .video-card--video-vertical. Article player: false." The tag-url probe also failed (function not available after 20s polling). This indicates Reflex either does not deploy VP on their homepage or uses a different integration path. Only the performance probe passed (FCP=1196ms, TTFB=287ms — fast).

e15: Best-performing site. All functional probes passed. Playlist loop confirmed (8 unique videos, loops at advance 9). Two "inconclusive" results are video-init (paused state on load — expected for autoplay policies) and navigation (generic nav probe — superseded by keyboard-nav which passed).

7. Category Page — iSport /fotbal No Player

The discovery probe on isport.blesk.cz/fotbal confirmed: no VP carousel present on category pages.

All 13 probes returned not_applicable (skipped due to no player found). Carousel selector .video-card--video-vertical matched 0 elements. Article player: false.

Category page VP presence: NOT PRESENT — confidence: high. Basis: discovery probe confirmed no carousel and no article player on /fotbal. Category pages do not currently include the VP carousel.

Round 3 — iPhone-specific findings (2026-04-09)

Three new probes were added in response to QA tester Simona's real-device feedback on iPhone 12 mini. All runs under Playwright WebKit iPhone 14 emulation against iSport homepage.

8. iPhone early playback / autoplay freeze Likely Confirmed

Simona reported: "videos freeze about 1 second in, need a screen tap to resume." The iphone-early-stall probe tested 4 consecutive videos under iPhone WebKit emulation.

Result: initialPlaybackStarted: false for all 4 videos. The stall monitor never triggered because currentTime never progressed past 0 within the 8s wait window. The probe technically reported status: pass (zero stalls counted) but the underlying data shows playback never actually started.

This is a new finding, distinct from the Gtech-fixed video #4 freeze (Finding 1, Round 2). The Round 2 bug was position-specific (only video at index 4 on desktop); this Round 3 issue is generic — every video on iPhone fails to auto-start.
iPhone autoplay / early freeze: LIKELY CONFIRMED — confidence: medium. Basis: 4/4 videos never advanced currentTime past 0 under WebKit emulation, matching Simona's observation. WebKit emulation behaves differently from real Safari, so real-device confirmation is still required.

9. iPhone ad consistency (per-video presence) Cannot Reproduce Today

Simona reported the same day (2026-04-09) that on her iPhone 12 mini only the first video showed ads — subsequent videos played without ads. The ad-per-video-presence probe classified ad appearance across 5 consecutive videos.

Result: pattern: 'all', videosChecked: 5, adsObservedCount: 5. Every video 1–5 matched ad selectors (iframe[id*="google_ads"], gpt- containers). Our WebKit run did not reproduce Simona's "ads only on first video" observation.

iPhone ad consistency: CANNOT REPRODUCE TODAY — confidence: low. Basis: WebKit run showed ads on all 5 videos. Consistent with the intermittent / flaky nature Simona described. The issue appears real-device-specific and does not surface under Playwright WebKit.

10. Ad vs. content audio state Inconclusive

Simona reported ads playing silently while content played audibly. The ad-audio-state probe attempted to capture audio state during an ad phase and a subsequent content-only phase.

Result: status: inconclusive. Ad phase captured at video index 2: muted: false, volume: 0.6. The content-only phase was never reached within the 3-video budget — because ads appeared on every video (see Finding 9), the probe never caught a pure content-playback sample for comparison.

Probe needs redesign: wait for ad-end on the same video (same element) rather than advancing to the next card. Current advancement strategy is blocked by the "ads on every video" pattern.
Ad audio mismatch: INCONCLUSIVE — confidence: low. Basis: ad-phase audio state captured but content-phase never reached. Mismatch neither proven nor disproven.

For Marian — Recommended real-device checks Action Items

The Round 3 findings above rely on Playwright WebKit emulation, which does not replicate iOS power management or real Safari's media pipeline. To validate, please run the following on your iPhone 12 mini:

  1. Low-power mode OFF: open iSport homepage — do videos start playing automatically, or do you need to tap the screen first? (This is the new "early stall" question from Finding 8.)
  2. Low-power mode ON: same question — does auto-play behave differently when low-power mode is enabled?
  3. Ad audio check: when an ad appears, is it muted or audible? Compare against the content video's audio immediately after the ad ends. (Finding 10.)
  4. Screen capture: if you can reproduce "only the first video has ads," please record a 30-second screen capture of that session. We need the timing data to debug the ad pipeline. (Finding 9.)

Not Yet Tested (Remaining Gaps)

Limitations

Generated by VP Testing Crawler v1.0.0  |  Rounds 2 & 3  |  Last updated 2026-04-09