For a couple reprository an upgrade gives the following error:
Error: TypeError: Cannot convert undefined or null to object
I haven't been able to pinpoint if the root cause is in core or in the extension. One thing I've been trying to look for is if the browser object is used before it's initilized but no luck. The problem Is also that I do not get this error when I tried in QuickStart, but get it in CI.
Here are some extensions with that problem:
https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Popups/+/1156609
Looking at the trace:
11:16:50 [0-0] 2025-06-12T09:16:50.292Z ERROR @wdio/runner: Error: Unable to load spec files quite likely because they rely on `browser` object that is not fully initialized. 11:16:50 [0-0] `browser` object has only `capabilities` and some flags like `isMobile`. 11:16:50 [0-0] Helper files that use other `browser` commands have to be moved to `before` hook. 11:16:50 [0-0] Spec file(s): file:///workspace/src/extensions/Newsletter/tests/selenium/specs/basic.js 11:16:50 [0-0] Error: TypeError: Cannot convert undefined or null to object 11:16:50 [0-0] at exports.unloadFile (/workspace/src/extensions/Newsletter/node_modules/mocha/lib/nodejs/file-unloader.js:14:32) 11:16:50 [0-0] at Mocha.unloadFile (/workspace/src/extensions/Newsletter/node_modules/mocha/lib/mocha.js:476:44) 11:16:50 [0-0] at /workspace/src/extensions/Newsletter/node_modules/mocha/lib/mocha.js:504:11 11:16:50 [0-0] at Array.forEach (<anonymous>) 11:16:50 [0-0] at Mocha.unloadFiles (/workspace/src/extensions/Newsletter/node_modules/mocha/lib/mocha.js:503:14) 11:16:50 [0-0] at Suite.<anonymous> (/workspace/src/extensions/Newsletter/node_modules/@wdio/mocha-framework/build/index.js:194:43) 11:16:50 [0-0] at Suite.emit (node:events:524:28) 11:16:50 [0-0] at Suite.emit (node:domain:489:12) 11:16:50 [0-0] at /workspace/src/extensions/Newsletter/node_modules/mocha/lib/mocha.js:455:13 11:16:50 [0-0] at exports.loadFilesAsync (/workspace/src/extensions/Newsletter/node_modules/mocha/lib/nodejs/esm-utils.js:104:5) 11:16:50 [0-0] at MochaAdapter._loadFiles (/workspace/src/extensions/Newsletter/node_modules/@wdio/mocha-framework/build/index.js:214:29) 11:16:50 [0-0] at async MochaAdapter.init (/workspace/src/extensions/Newsletter/node_modules/@wdio/mocha-framework/build/index.js:195:5) 11:16:50 [0-0] at async Object.adapterFactory.init (/workspace/src/extensions/Newsletter/node_modules/@wdio/mocha-framework/build/index.js:334:20)
The problem happens when it tried to load spes file and the file gets an TypeError: Cannot convert undefined or null to object. I think that error happens within core the we use our API code, but there's no good stack trace.