Page MenuHomePhabricator

Replace deprecated mediawiki.Uri usage in GrowthExperiments' SuggestedEditSession
Closed, ResolvedPublicBUG REPORT

Description

Parent task: T380079 (Replace deprecated mediawiki.Uri module usage)

PROBLEM:
The GrowthExperiments extension is using the deprecated mediawiki.Uri ResourceLoader module in the SuggestedEditSession component. This generates deprecation warnings in the browser console for every page load where this component is active.

STEPS TO REPRODUCE:

  1. Visit any page with GrowthExperiments' SuggestedEditSession active
  2. Open browser developer tools
  3. Observe deprecation warning for mediawiki.Uri usage

CURRENT BEHAVIOR:
Console shows deprecation warning:
"This page is using the deprecated ResourceLoader module 'mediawiki.Uri'"

EXPECTED BEHAVIOR:

  • No deprecation warnings
  • Use native URL API instead of mediawiki.Uri
  • Maintain all existing functionality

ACCEPTANCE CRITERIA:

  1. No mediawiki.Uri deprecation warnings in console
  2. All existing SuggestedEditSession functionality works as before
  3. Code uses native URL API consistently
  4. All tests pass

Note: This is a subtask focusing only on GrowthExperiments' implementation. Other extensions' usage of mediawiki.Uri will be handled in separate tasks.

Event Timeline

Change #1097428 had a related patch set uploaded (by Cyndywikime; author: Cyndywikime):

[mediawiki/extensions/GrowthExperiments@master] WIP: Replace deprecated mediawiki.Uri with native URL API in GrowthExperiments

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

Cyndymediawiksim changed the task status from Open to In Progress.Nov 25 2024, 4:39 PM
Cyndymediawiksim triaged this task as Low priority.
Urbanecm_WMF subscribed.

Has unresolved code review feedback; moving back to Doing.

Change #1097428 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] Replace deprecated mediawiki.Uri with native URL API in GrowthExperiments

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

Urbanecm_WMF changed the task status from In Progress to Open.Jan 20 2025, 8:59 PM
Urbanecm_WMF removed a project: Patch-For-Review.
Etonkovidova subscribed.

@Cyndymediawiksim - I checked testwiki wmf.14, wmf.13, and beta - the warning is still displayed on all GrwothExperiments pages (in fact, the warning is displayed on all other pages too which is not in the scope of this task).

This page is using the deprecated ResourceLoader module "mediawiki.Uri".
Please use browser native URL.

Are there something else should be done or some dependencies to resolve? Moving to Blocked for more visibility.

Thanks @Etonkovidova for highlighting this.
As earlier discussed, I believe the deprecation warning might be triggered by other parts of the MediaWiki core or other extensions that are still using mediawiki.Uri. Since the warning is not limited to the GrowthExperiments extension, it could be originating from a different module or extension that is active on the same page.

Porting @Urbanecm_WMF ,'s discovery:

I looked into the issue. I added temporary logging into OutputPage::addModules() that records what modules are directly loaded into the page:

wfDebug( __METHOD__ . ' registers {modules}', 'all', [
	'modules' => json_encode( $modules ),
	'exception' => new \RuntimeException,
] );
Loading Special:Homepage triggered the following logs:
MediaWiki\Output\OutputPage::addModules registers "ext.growthExperiments.Homepage"
MediaWiki\Output\OutputPage::addModules registers []
MediaWiki\Output\OutputPage::addModules registers ["ext.growthExperiments.Homepage.SuggestedEdits"]
MediaWiki\Output\OutputPage::addModules registers ["ext.growthExperiments.Homepage.Impact"]
MediaWiki\Output\OutputPage::addModules registers ["ext.growthExperiments.Homepage.Mentorship"]
MediaWiki\Output\OutputPage::addModules registers []
MediaWiki\Output\OutputPage::addModules registers ["site","mediawiki.page.ready"]
MediaWiki\Output\OutputPage::addModules registers []
MediaWiki\Output\OutputPage::addModules registers []
MediaWiki\Output\OutputPage::addModules registers ["skins.vector.js"]
MediaWiki\Output\OutputPage::addModules registers []
MediaWiki\Output\OutputPage::addModules registers []
MediaWiki\Output\OutputPage::addModules registers []
MediaWiki\Output\OutputPage::addModules registers ["ext.eventLogging"]
MediaWiki\Output\OutputPage::addModules registers "ext.eventLogging.debug"
MediaWiki\Output\OutputPage::addModules registers "ext.wikimediaEvents"
MediaWiki\Output\OutputPage::addModules registers "ext.checkUser.clientHints"
MediaWiki\Output\OutputPage::addModules registers "ext.checkUser"
MediaWiki\Output\OutputPage::addModules registers "ext.growthExperiments.HelpPanel.init"
MediaWiki\Output\OutputPage::addModules registers ["ext.echo.init"]
MediaWiki\Output\OutputPage::addModules registers ["ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader"]
MediaWiki\Output\OutputPage::addModules registers ["user","user.options"]

Based on a CodeSearch query, WikimediaEvents depends on mediawiki.Uri, which is causing the deprecation warning to stay.

Moving this back to QA , as i think this resolves the task. Kindly , feel free to move it back to blocked/doing if i missed anything! Thanks!

Thanks, @Cyndymediawiksim (and @Urbanecm_WMF) for clarification. The scope of this particular task seems to be done.