This failed on https://gerrit.wikimedia.org/r/c/mediawiki/extensions/CheckUser/+/1189888, https://gerrit.wikimedia.org/r/c/mediawiki/extensions/CheckUser/+/1190232, and https://gerrit.wikimedia.org/r/c/mediawiki/extensions/CheckUser/+/1190223:
12:29:35 ────────────────────────────────────────────────────────────────────────────────────────────────────
12:29:35
12:29:35 Running: AddALink.cy.ts (1 of 7)
12:29:35
12:29:35 (Cypress:8806): dconf-CRITICAL **: 11:29:35.041: unable to create directory '/run/user/2947/dconf': Permission denied. dconf will not work properly.
12:29:35
12:29:35 (Cypress:8806): dconf-CRITICAL **: 11:29:35.042: unable to create directory '/run/user/2947/dconf': Permission denied. dconf will not work properly.
12:29:35
12:29:35 (Cypress:8806): dconf-CRITICAL **: 11:29:35.042: unable to create directory '/run/user/2947/dconf': Permission denied. dconf will not work properly.
12:29:40
12:29:40
12:29:40 Add a Link
12:30:15 1) link inspector can be used to accept/reject links and save an article.
12:30:15 cy:command ✔ task MwApi:CreateUser, {usernameprefix: Alice}
12:30:15 cy:command ✔ visit /index.php -> 301: http://127.0.0.1:9413/index.php?title=Main_Page
12:30:15 cy:command ✔ window
12:30:15 cy:command ✔ assert expected **<window>** to have property **mw**
12:30:15 cy:command ✔ window
12:30:15 cy:command ✔ its .mw.Api
12:30:15 cy:command ✔ assert expected **[Function]** to exist
12:30:15 cy:command ✔ window
12:30:15 cy:xhr ➟ POST http://127.0.0.1:9413/api.php
12:30:15 Status: 200
12:30:15 cy:xhr ➟ POST http://127.0.0.1:9413/api.php
12:30:15 Status: 200
12:30:15 cy:command ✔ visit /index.php -> 301: http://127.0.0.1:9413/index.php?title=Main_Page
12:30:15 cy:command ✔ window
12:30:15 cy:command ✔ its .mw.Api
12:30:15 cy:command ✔ assert expected **[Function]** to exist
12:30:15 cy:command ✔ window
12:30:15 cy:xhr ➟ POST http://127.0.0.1:9413/api.php
12:30:15 Status: 200
12:30:15 cy:log ✱ Closing the guided tour homepage_discovery
12:30:15 cy:command ✘ get .guider.mw-guidedtour-tour-homepage_discovery .guider_close button
12:30:15 cy:command ✘ assert expected **.guider.mw-guidedtour-tour-homepage_discovery .guider_close button** to be **visible**
12:30:15 Actual: ".guider.mw-guidedtour-tour-homepage_discovery .guider_close button"
12:30:15 Expected: "visible"
12:30:15
12:30:15
12:30:15
12:30:15
12:30:15 0 passing (35s)
12:30:15 1 failing
12:30:15
12:30:15 1) Add a Link
12:30:15 link inspector can be used to accept/reject links and save an article.:
12:30:15 AssertionError: Timed out retrying after 20000ms: Expected to find element: `.guider.mw-guidedtour-tour-homepage_discovery .guider_close button`, but never found it.
12:30:15 at GuidedTour.close (webpack://GrowthExperiments/./cypress/pageObjects/GuidedTour.module.ts:5:58)
12:30:15 at Context.eval (webpack://GrowthExperiments/./cypress/e2e/AddALink.cy.ts:24:13)
12:30:15
12:30:15
12:30:15
12:30:16
12:30:16 (Results)
12:30:16
12:30:16 ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
12:30:16 │ Tests: 1 │
12:30:16 │ Passing: 0 │
12:30:16 │ Failing: 1 │
12:30:16 │ Pending: 0 │
12:30:16 │ Skipped: 0 │
12:30:16 │ Screenshots: 1 │
12:30:16 │ Video: true │
12:30:16 │ Duration: 34 seconds │
12:30:16 │ Spec Ran: AddALink.cy.ts │
12:30:16 └────────────────────────────────────────────────────────────────────────────────────────────────┘
12:30:16
12:30:16
12:30:16 (Screenshots)
12:30:16
12:30:16 - /workspace/log/GrowthExperiments/AddALink.cy.ts/Add a Link -- link inspector can (1280x720)
12:30:16 be used to acceptreject links and save an article (failed).png
12:30:16
12:30:16
12:30:16 (Video)
12:30:16
12:30:16 - Video output: /workspace/log/GrowthExperiments/AddALink.cy.ts.mp4
12:30:16
12:30:16
12:30:16 ────────────────────────────────────────────────────────────────────────────────────────────────────
12:30:16
12:30:16 Running: AddImage.cy.ts (2 of 7)
12:30:19
12:30:19
12:30:19 Add Image Structured Task
12:30:44 1) desktop: user can view image info and image details
12:30:44 cy:command ✔ task MwApi:CreateUser, {usernameprefix: Alice}
12:30:44 cy:command ✔ visit /index.php -> 301: http://127.0.0.1:9413/index.php?title=Main_Page
12:30:44 cy:command ✔ window
12:30:44 cy:command ✔ assert expected **<window>** to have property **mw**
12:30:44 cy:command ✔ window
12:30:44 cy:command ✔ its .mw.Api
12:30:44 cy:command ✔ assert expected **[Function]** to exist
12:30:44 cy:command ✔ window
12:30:44 cy:xhr ➟ POST http://127.0.0.1:9413/api.php
12:30:44 Status: 200
12:30:44 cy:xhr ➟ POST http://127.0.0.1:9413/api.php
12:30:44 Status: 200
12:30:44 cy:command ✔ visit /index.php -> 301: http://127.0.0.1:9413/index.php?title=Main_Page
12:30:44 cy:command ✔ window
12:30:44 cy:command ✔ its .mw.Api
12:30:44 cy:command ✔ assert expected **[Function]** to exist
12:30:44 cy:command ✔ window
12:30:44 cy:xhr ➟ POST http://127.0.0.1:9413/api.php
12:30:44 Status: 200
12:30:44 cy:log ✱ Closing the guided tour homepage_discovery
12:30:44 cy:command ✘ get .guider.mw-guidedtour-tour-homepage_discovery .guider_close button
12:30:44 cy:command ✘ assert expected **.guider.mw-guidedtour-tour-homepage_discovery .guider_close button** to be **visible**
12:30:44 Actual: ".guider.mw-guidedtour-tour-homepage_discovery .guider_close button"
12:30:44 Expected: "visible"
12:30:44
12:30:44
12:31:13 2) mobile: user can close the image suggestion UI
12:31:13 cy:command ✔ task MwApi:CreateUser, {usernameprefix: Alice}
12:31:13 cy:command ✔ visit /index.php -> 301: http://127.0.0.1:9413/index.php?title=Main_Page
12:31:13 cy:command ✔ window
12:31:13 cy:command ✔ assert expected **<window>** to have property **mw**
12:31:13 cy:command ✔ window
12:31:13 cy:command ✔ its .mw.Api
12:31:13 cy:command ✔ assert expected **[Function]** to exist
12:31:13 cy:command ✔ window
12:31:13 cy:xhr ➟ POST http://127.0.0.1:9413/api.php
12:31:13 Status: 200
12:31:13 cy:xhr ➟ POST http://127.0.0.1:9413/api.php
12:31:13 Status: 200
12:31:13 cy:command ✔ visit /index.php -> 301: http://127.0.0.1:9413/index.php?title=Main_Page
12:31:13 cy:command ✔ window
12:31:13 cy:command ✔ its .mw.Api
12:31:13 cy:command ✔ assert expected **[Function]** to exist
12:31:13 cy:command ✔ window
12:31:13 cy:xhr ➟ POST http://127.0.0.1:9413/api.php
12:31:13 Status: 200
12:31:13 cy:command ✔ visit index.php?title=Special:Homepage&mobileaction=toggle_view_mobile#/homepage/suggested-edits -> 301: http://127.0.0.1:9413/index.php?title=Special:Homepage
12:31:13 cy:command ✔ get .se-card-title
12:31:13 cy:command ✔ assert expected **<h3.se-card-title>** to have text **Ma'amoul**
12:31:13 Actual: "Ma'amoul"
12:31:13 Expected: "Ma'amoul"
12:31:13 cy:command ✔ get a.se-card-content
12:31:13 cy:command ✔ assert expected **<a.se-card-content>** not to have attribute **href** with the value **#**
12:31:13 cons:warn ❖ This page is using the deprecated ResourceLoader module "moment".
12:31:13 [1.44] Use mediawiki.DateFormatter or native Intl function instead. See https://phabricator.wikimedia.org/T146798
12:31:13 cons:info ✱ You are running a development build of Vue.
12:31:13 Make sure to use the production build (*.prod.js) when deploying for production.
12:31:13 cy:xhr ➟ POST http://127.0.0.1:9413/rest.php/growthexperiments/v0/user-impact/%2325?lang=en
12:31:13 Status: 200
12:31:13 cy:command ✔ new url http://127.0.0.1:9413/index.php?title=Special:Homepage#
12:31:13 cy:command ✔ new url http://127.0.0.1:9413/index.php?title=Special:Homepage#/homepage/suggested-edits
12:31:13 cons:warn ❖ mediawiki.jqueryMsg: growthexperiments-homepage-mentorship-optout-text: Cannot read properties of null (reading 'mwJQueryMsgHasAlreadyBeenUsedAsAReplacement')
12:31:13 cons:warn ❖ mediawiki.jqueryMsg: growthexperiments-homepage-mentorship-about-subheader-mentor: Cannot read properties of null (reading 'mwJQueryMsgHasAlreadyBeenUsedAsAReplacement')
12:31:13 cons:warn ❖ mediawiki.jqueryMsg: growthexperiments-homepage-mentorship-about-mentor-par1: Cannot read properties of null (reading 'mwJQueryMsgHasAlreadyBeenUsedAsAReplacement')
12:31:13 cons:warn ❖ mediawiki.jqueryMsg: growthexperiments-homepage-mentorship-about-mentor-par2: Cannot read properties of null (reading 'mwJQueryMsgHasAlreadyBeenUsedAsAReplacement')
12:31:13 cons:warn ❖ mediawiki.jqueryMsg: growthexperiments-homepage-mentorship-optout-text: Cannot read properties of null (reading 'mwJQueryMsgHasAlreadyBeenUsedAsAReplacement')
12:31:13 cy:xhr ❖ GET http://127.0.0.1:9413/api/rest_v1/page/summary/Ma'amoul
12:31:13 Status: 404
12:31:13 cy:xhr ❖ GET https://wikimedia.org/api/rest_v1/metrics/pageviews/per-article/127.0.0.1/all-access/user/Ma'amoul/daily/20250722/20250920
12:31:13 Status: 404
12:31:13 cy:command ✔ get a.se-card-content
12:31:13 cy:command ✘ click
12:31:13 cy:xhr ❖ GET http://127.0.0.1:9413/api/rest_v1/page/summary/Ma'amoul
12:31:13 Status: 404
12:31:13 cy:xhr ❖ GET https://wikimedia.org/api/rest_v1/metrics/pageviews/per-article/127.0.0.1/all-access/user/Ma'amoul/daily/20250722/20250920
12:31:13 Status: 404
12:31:13
12:31:13
12:31:13
12:31:13
12:31:13 0 passing (54s)
12:31:13 2 failing
12:31:13
12:31:13 1) Add Image Structured Task
12:31:13 desktop: user can view image info and image details:
12:31:13 AssertionError: Timed out retrying after 20000ms: Expected to find element: `.guider.mw-guidedtour-tour-homepage_discovery .guider_close button`, but never found it.
12:31:13 at GuidedTour.close (webpack://GrowthExperiments/./cypress/pageObjects/GuidedTour.module.ts:5:58)
12:31:13 at Context.eval (webpack://GrowthExperiments/./cypress/e2e/AddImage.cy.ts:22:13)
12:31:13
12:31:13 2) Add Image Structured Task
12:31:13 mobile: user can close the image suggestion UI:
12:31:13 CypressError: Timed out retrying after 20050ms: `cy.click()` failed because this element:
12:31:13
12:31:13 `<a href="http://127.0.0.1:9413/index.php?title=Special%3AHomepage%2Fnewcomertask%2F23&geclickid=i55igfn3g8vmj7ar80nrla7hr2tuj40l&genewcomertasktoken=ho4omsb87olc1tt05i73n7a0dunl3psu&gesuggestededit=1&getasktype=image-recommendation" class="se-card-content">...</a>`
12:31:13
12:31:13 is being covered by another element:
12:31:13
12:31:13 `<div class="drawer-container__mask drawer-container__mask--visible"></div>`
12:31:13
12:31:13 Fix this problem, or use {force: true} to disable error checking.
12:31:13
12:31:13 https://on.cypress.io/element-cannot-be-interacted-with
12:31:13 at ensureIsDescendent (http://127.0.0.1:9413/__cypress/runner/cypress_runner.js:114504:68)
12:31:13 at ensureDescendents (http://127.0.0.1:9413/__cypress/runner/cypress_runner.js:114555:5)
12:31:13 at ensureDescendentsAndScroll (http://127.0.0.1:9413/__cypress/runner/cypress_runner.js:114561:14)
12:31:13 at ensureElIsNotCovered (http://127.0.0.1:9413/__cypress/runner/cypress_runner.js:114692:5)
12:31:13 at runAllChecks (http://127.0.0.1:9413/__cypress/runner/cypress_runner.js:114891:52)
12:31:13 at retryActionability (http://127.0.0.1:9413/__cypress/runner/cypress_runner.js:114928:16)
12:31:13 at tryCatcher (http://127.0.0.1:9413/__cypress/runner/cypress_runner.js:1777:23)
12:31:13 at Promise.attempt.Promise.try (http://127.0.0.1:9413/__cypress/runner/cypress_runner.js:4285:29)
12:31:13 at whenStable (http://127.0.0.1:9413/__cypress/runner/cypress_runner.js:147344:68)
12:31:13 at <unknown> (http://127.0.0.1:9413/__cypress/runner/cypress_runner.js:147285:14)
12:31:13 at tryCatcher (http://127.0.0.1:9413/__cypress/runner/cypress_runner.js:1777:23)
12:31:13 at Promise._settlePromiseFromHandler (http://127.0.0.1:9413/__cypress/runner/cypress_runner.js:1489:31)
12:31:13 at Promise._settlePromise (http://127.0.0.1:9413/__cypress/runner/cypress_runner.js:1546:18)
12:31:13 at Promise._settlePromise0 (http://127.0.0.1:9413/__cypress/runner/cypress_runner.js:1591:10)
12:31:13 at Promise._settlePromises (http://127.0.0.1:9413/__cypress/runner/cypress_runner.js:1671:18)
12:31:13 at Promise._fulfill (http://127.0.0.1:9413/__cypress/runner/cypress_runner.js:1615:18)
12:31:13 at <unknown> (http://127.0.0.1:9413/__cypress/runner/cypress_runner.js:5420:46)
12:31:13
12:31:13
12:31:13
12:31:14
12:31:14 (Results)
12:31:14
12:31:14 ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
12:31:14 │ Tests: 2 │
12:31:14 │ Passing: 0 │
12:31:14 │ Failing: 2 │
12:31:14 │ Pending: 0 │
12:31:14 │ Skipped: 0 │
12:31:14 │ Screenshots: 2 │
12:31:14 │ Video: true │
12:31:14 │ Duration: 54 seconds │
12:31:14 │ Spec Ran: AddImage.cy.ts │
12:31:14 └────────────────────────────────────────────────────────────────────────────────────────────────┘
12:31:14
12:31:14
12:31:14 (Screenshots)
12:31:14
12:31:14 - /workspace/log/GrowthExperiments/AddImage.cy.ts/Add Image Structured Task -- des (1280x720)
12:31:14 ktop user can view image info and image details (failed).png
12:31:14 - /workspace/log/GrowthExperiments/AddImage.cy.ts/Add Image Structured Task -- mob (1280x720)
12:31:14 ile user can close the image suggestion UI (failed).png