Page MenuHomePhabricator

Reduce use of RequestContext::getMain in WMF-deployed extensions
Open, Needs TriagePublic

Description

While for core, the list of callsites is _kind of_ limited, extensions are a different story:
https://codesearch.wmcloud.org/deployed/?q=RequestContext%3A%3AgetMain&files=%5C.php&excludeFiles=phpunit

Event Timeline

Change #1270137 had a related patch set uploaded (by MGChecker; author: MGChecker):

[mediawiki/extensions/Collection@master] Remove only use of global context

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

Change #1260041 had a related patch set uploaded (by MGChecker; author: MGChecker):

[mediawiki/extensions/FlaggedRevs@master] Avoid accessing main context and replace wgLang

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

Change #1270151 had a related patch set uploaded (by MGChecker; author: MGChecker):

[mediawiki/extensions/wikihiero@master] Remove only use of global context

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

Change #1270152 had a related patch set uploaded (by MGChecker; author: MGChecker):

[mediawiki/extensions/Wikisource@master] Replace only use of main context

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

Change #1270153 had a related patch set uploaded (by MGChecker; author: MGChecker):

[mediawiki/extensions/WikimediaMaintenance@master] Replace only use of main context

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

In Collection and FlaggedRevs the context objects were not far away (even though in FlaggedRevs are some left over), in the other three extensions RequestContext was used exclusively to access the config.

WikimediaIncubator and GlobalCssJs also look rather easy, I will take a look at that once I have a bit more time.

Change #1270152 merged by jenkins-bot:

[mediawiki/extensions/Wikisource@master] Replace only use of main context

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

Change #1270151 merged by jenkins-bot:

[mediawiki/extensions/wikihiero@master] Remove only use of global context

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

Change #1270153 merged by jenkins-bot:

[mediawiki/extensions/WikimediaMaintenance@master] Replace only use of main context

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

Change #1270137 merged by jenkins-bot:

[mediawiki/extensions/Collection@master] Remove only use of global context

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

Just to have a mark for future progress, on 12/04 codesearch showed 432 files using RequestContext::getMain outside phpunit.

Change #1271094 had a related patch set uploaded (by MGChecker; author: MGChecker):

[mediawiki/extensions/WikimediaIncubator@master] Replace uses of main context

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

Change #1260041 merged by jenkins-bot:

[mediawiki/extensions/FlaggedRevs@master] Avoid accessing main context and replace wgLang

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

Change #1272725 had a related patch set uploaded (by MGChecker; author: MGChecker):

[mediawiki/extensions/Calendar@master] Use more robust approach to determine language

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

Change #1272789 had a related patch set uploaded (by MGChecker; author: MGChecker):

[mediawiki/extensions/TimedMediaHandler@master] Avoid use of RequestContext in getDimensionsString

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

Change #1272844 had a related patch set uploaded (by MGChecker; author: hgasuser@gmail.com):

[mediawiki/extensions/FileImporter@master] Replace uses of main context

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

Change #1271094 merged by jenkins-bot:

[mediawiki/extensions/WikimediaIncubator@master] Reduce use of main context

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

Change #1272789 merged by jenkins-bot:

[mediawiki/extensions/TimedMediaHandler@master] Avoid use of RequestContext in getDimensionsString

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

Change #1282043 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/Collection@master] Pass context source to Suggest and replace RequestContext::getMain()

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

Change #1282435 had a related patch set uploaded (by MGChecker; author: MGChecker):

[mediawiki/extensions/MediaSearch@master] Replace only use of RequestContext::getMain

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

Change #1282433 had a related patch set uploaded (by MGChecker; author: MGChecker):

[mediawiki/extensions/WikiLambda@master] Use DifferenceEngine::getContext instead of RequestContext

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

Change #1282433 merged by jenkins-bot:

[mediawiki/extensions/WikiLambda@master] Use DifferenceEngine::getContext instead of RequestContext

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

Change #1282435 merged by jenkins-bot:

[mediawiki/extensions/MediaSearch@master] Replace only use of RequestContext::getMain

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

Change #1282043 abandoned by Umherirrender:

[mediawiki/extensions/Collection@master] Pass context source to Suggest and replace RequestContext::getMain()

Reason:

Code under refactor, which also address this issue

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

Change #1272844 merged by jenkins-bot:

[mediawiki/extensions/FileImporter@master] Replace uses of main context

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

Change #1298725 had a related patch set uploaded (by Tacsipacsi; author: Tacsipacsi):

[mediawiki/extensions/Collection@master] refactor: Remove reliance on global session and request

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