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:
| Site | Cold (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.
| Device | First Ad at Index | Slots Checked |
| iSport Desktop | 2 | [2, 3, 4, 5] |
| iSport iPhone WebKit | 2 | [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:
- 262 ad events captured (131 requests, 131 responses)
- Ad-entry-offset: ads appeared correctly at video #2
- Ad-pipeline probe: reported "No ad requests detected after advancing past first video" (status: fail)
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
| Site | Pass | Fail | Inconclusive | N/A | Notable |
| iSport (desktop) |
5 | 2 | 3 | 4 |
Playlist stall at video #5; ad-pipeline detection miss |
| iSport (iPhone) |
4 | 3 | 3 | 4 |
3/6 video stalls (WebKit); ad-pipeline fail despite events |
| e15 (desktop) |
6 | 0 | 2 | 6 |
Cleanest run. Playlist loops. Keyboard nav works post-click. |
| Reflex (desktop) |
1 | 5 | 0 | 8 |
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:
- 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.)
- Low-power mode ON: same question — does auto-play behave differently when low-power mode is enabled?
- 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.)
- 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)
- Slow network / CPU throttle: No tests run with network or CPU throttling. Video stall behavior under constrained conditions is unknown.
- Real iOS device testing (low-power mode): WebKit emulation cannot simulate iOS low-power mode. Ad rendering and autoplay behavior may differ on physical devices.
- Real iPhone 12 mini device testing for early-stall verification: Round 3 Finding 8 needs confirmation on Simona's physical device — WebKit emulation suggests the bug but cannot prove it.
- Content-only audio capture: Blocked by ads appearing on every video in the WebKit run (Finding 10). Probe redesign needed (wait for ad-end on same video rather than advancing).
- Android testing: No Android device profile configured. No data on Chrome mobile behavior.
- Playlist loop on iSport: Blocked by navigation stall at video #5. The probe cannot advance past this point, so loop behavior for iSport's 12-card playlist remains unknown. Needs investigation into why auto-advance stops at index 5.
- Ad-pipeline probe calibration: The ad-pipeline probe reported "no ads" on runs where ad-entry-offset found ads at the correct slot. The detection heuristic needs review.
Limitations
- iOS low-power mode: Not simulated. Playwright's WebKit emulation does not replicate iOS power management, which can disable autoplay and affect ad rendering.
- Emulation vs. real devices: All tests run in Playwright browser emulation. Real device touch events, GPU rendering, and network stack behavior may differ.
- WebKit video stalls: The iPhone run showed 3/6 videos stalling (even-indexed). This pattern is consistent with a WebKit emulation timing artifact rather than a real player bug.
- Ad blocker / consent: Tests run without ad blockers but also without explicit GDPR consent interaction. Ad behavior may vary with consent state.
- Single-run data: Most findings based on one automated run per configuration. Intermittent issues may not be captured.
- Reflex VP presence: Reflex may deploy VP on article pages rather than the homepage. Only homepage was tested.
Generated by VP Testing Crawler v1.0.0 | Rounds 2 & 3 | Last updated 2026-04-09