Wikispeech QUnit tests fail with Chrome 66: play() failed because the user didn't interact with the document first.
Closed, ResolvedPublic16 Story Points

Description

The bulk of QUnit tests have been fixed via T194620 / https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Wikispeech/+/428393 .

They pass on the CI job mwext-qunit-jessie which comes with Chromium 57. That job is legacy though and should be changed with a new one quibble-vendor-mysql-php70-docker. It runs the tests in a Docker container based on Debian Stretch and comes with Chromium 66. That eventually causes:

play() failed because the user didn't interact with the document first. https://goo.gl/xX8pDD

The linked documentation states Chrome has changed the autoplay policy in April 2018, I havent read the technical details though.

Once that case is fixed, I will migrate that repository so it no more use the old mwext-qunit-jessie Jenkins job but the new Quibble one based on Docker / chrome 66 .

Doc https://goo.gl/xX8pDD
Repro comment check experimental on a Wikispeech Gerrit change. Look at the job quibble-vendor-mysql-php70-docker

hashar renamed this task from Wikispeec QUnit tests fail with Chrome 66: play() failed because the user didn't interact with the document first. to Wikispeech QUnit tests fail with Chrome 66: play() failed because the user didn't interact with the document first..Jun 22 2018, 10:35 AM

After digging in chromium cli switches, --no-user-gesture-required looked promising but did not work.

I eventually reached a bug to change chromium autoplay:

chromium --autoplay-policy=no-user-gesture-required

The tests pass.

An interesting document is https://github.com/GoogleChrome/chrome-launcher/blob/master/docs/chrome-flags-for-tools.md which list various flags and states:

--ignore-autoplay-restrictions

Removed December 2017 Can use --autoplay-policy=no-user-gesture-required instead.

hashar claimed this task.Jun 22 2018, 11:53 AM

Change 441544 had a related patch set uploaded (by Hashar; owner: Hashar):
[integration/quibble@master] Do not require user gesture for video autoplaying

https://gerrit.wikimedia.org/r/441544

Change 441544 merged by jenkins-bot:
[integration/quibble@master] Do not require user gesture for video autoplaying

https://gerrit.wikimedia.org/r/441544

Mentioned in SAL (#wikimedia-releng) [2018-06-22T12:10:01Z] <hashar> Tagging quibble 0.0.19 which pass "--autoplay-policy=no-user-gesture-required" to Chromium | T197687

Change 441545 had a related patch set uploaded (by Hashar; owner: Hashar):
[integration/config@master] docker: quibble 0.0.19

https://gerrit.wikimedia.org/r/441545

Change 441546 had a related patch set uploaded (by Hashar; owner: Hashar):
[integration/config@master] Bump Quibble jobs to 0.0.19

https://gerrit.wikimedia.org/r/441546

Change 441545 merged by jenkins-bot:
[integration/config@master] docker: quibble 0.0.19

https://gerrit.wikimedia.org/r/441545

Mentioned in SAL (#wikimedia-releng) [2018-06-22T12:34:24Z] <hashar> Building docker images for Quibble 0.0.19 | T197687

Change 441546 merged by jenkins-bot:
[integration/config@master] Bump Quibble jobs to 0.0.19

https://gerrit.wikimedia.org/r/441546

Fixed by passing --autoplay-policy=no-user-gesture-required to Chromium. We probably want that to be included in MediaWiki core as well.

hashar closed this task as Resolved.Jun 22 2018, 5:17 PM
Vvjjkkii renamed this task from Wikispeech QUnit tests fail with Chrome 66: play() failed because the user didn't interact with the document first. to 0naaaaaaaa.Jul 1 2018, 1:02 AM
Vvjjkkii reopened this task as Open.
Vvjjkkii triaged this task as High priority.
Vvjjkkii removed hashar as the assignee of this task.
Vvjjkkii updated the task description. (Show Details)
Vvjjkkii removed the point value for this task.
Vvjjkkii removed a subscriber: gerritbot.
CommunityTechBot set the point value for this task to 16.Jul 2 2018, 1:28 PM
CommunityTechBot updated the task description. (Show Details)
CommunityTechBot assigned this task to hashar.
CommunityTechBot raised the priority of this task from High to Needs Triage.
CommunityTechBot closed this task as Resolved.
CommunityTechBot renamed this task from 0naaaaaaaa to Wikispeech QUnit tests fail with Chrome 66: play() failed because the user didn't interact with the document first..
CommunityTechBot added a subscriber: gerritbot.