Page MenuHomePhabricator

Hard deprecate not passing a user to Revision::get methods with Revision::FOR_THIS_USER
Closed, ResolvedPublic

Description

Can be done before 1.35 is shipped; if no user is provided it uses $wgUser. To be updated:

Revision::getUser

  • Core
  • MobileFrontend

Revision::getUserText

  • Core
  • MobileFrontend

Revision::getComment

  • Core
  • MobileFrontend

Also getUserText is called by:

  • WikiPage::getCreator
  • Article::getCreator (method should be deprecated entirely)
  • WikiPage::getUserText
  • Article::getUserText (method should be deprecated entirely)

getUser is called by

  • WikiPage::getUser
  • Articel::getUser

Event Timeline

Change 582635 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/extensions/MobileFrontend@master] Pass a user to revision methods using FOR_THIS_USER

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

Change 582636 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/core@master] Linker: Pass a user to revision methods using FOR_THIS_USER

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

Change 582639 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/core@master] Always pass a user when using FOR_THIS_USER on revision methods

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

Change 582636 merged by jenkins-bot:
[mediawiki/core@master] Linker: Pass a user to revision methods using FOR_THIS_USER

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

Change 582639 merged by jenkins-bot:
[mediawiki/core@master] Always pass a user when using FOR_THIS_USER on revision methods

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

Change 582635 merged by jenkins-bot:
[mediawiki/extensions/MobileFrontend@master] Pass a user to revision methods using FOR_THIS_USER

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

Change 583439 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/core@master] Hard deprecate Article::getCreator

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

Change 583439 merged by jenkins-bot:
[mediawiki/core@master] Hard deprecate Article::getCreator

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

Change 583457 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/core@master] Hard deprecate not passing a user to WikiPage::getCreator when needed

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

Change 583499 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/extensions/BlueSpiceArticleInfo@master] Remove use of Article::getUserText

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

Change 583500 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/extensions/BlueSpiceUEModulePDF@master] Remove use of Article::getUserText

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

Change 583501 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/core@master] Hard deprecate Article::getUserText

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

Change 583499 merged by jenkins-bot:
[mediawiki/extensions/BlueSpiceArticleInfo@master] Remove use of Article::getUserText

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

Change 583502 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/core@master] Hard deprecate not passing a user to WikiPage::getUserText when needed

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

Change 583500 merged by jenkins-bot:
[mediawiki/extensions/BlueSpiceUEModulePDF@master] Remove use of Article::getUserText

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

Change 583501 merged by jenkins-bot:
[mediawiki/core@master] Hard deprecate Article::getUserText

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

All ->getUser calls checked:

1Need to remove calls to Article::getUser and verify passing a user if needed to WikiPage::getUser and Revision::getUser
2
3Its a lot:
4https://codesearch.wmflabs.org/search/?q=-%3EgetUser%5C(&i=nope&files=%5C.php%24&repos=
5
6Core:
7Article::userCan (duh)
8WikiPage::userCan (duh)
9
10Extensions
11edwardspec / mediawiki-moderation: clear
12extensions / BlueSpiceFoundation: clear
13extensions / Flow: clear
14extensions / GrowthExperiments: clear
15extensions / Translate: clear
16extensions / Wikibase: clear
17extensions / WikibaseLexeme: clear
18extensions / BlueSpiceSocial: clear
19extensions / EntitySchema: clear
20extensions / OAuth: clear
21extensions / BlueSpiceContextMenu: clear
22extensions / FileImporter: clear
23extensions / ORES: clear
24extensions / BlueSpiceSocialTopics: clear
25extensions / MobileFrontend: clear
26extensions / BlueSpiceExtendedSearch: clear
27extensions / BlueSpiceRating: clear
28extensions / Echo: clear
29extensions / Jade: clear
30extensions / SecurePoll: clear
31SemanticMediaWiki / SemanticMediaWiki: clear
32extensions / BlueSpicePrivacy: clear
33extensions / ProofreadPage: clear
34extensions / ReadingLists: clear
35extensions / WebDAV: clear
36extensions / BlueSpiceExpiry: clear
37extensions / BlueSpiceReminder: clear
38extensions / FlaggedRevs: clear
39extensions / MassMessage: clear
40extensions / Newsletter: clear
41extensions / TwoColConflict: clear
42extensions / BlueSpicePageAssignments: clear
43extensions / BlueSpiceSocialProfile: clear
44extensions / CirrusSearch: clear
45extensions / CommentStreams: clear
46extensions / SocialProfile: clear
47miraheze / ManageWiki: clear
48Nikerabbit / mediawiki-extensions-Ainut: clear
49extensions / BlueSpiceExtendedStatistics: clear
50extensions / BlueSpiceSocialWikiPage: clear
51extensions / CollaborationKit: clear
52extensions / PageTriage: clear
53extensions / RegexBlock: clear
54extensions / AbuseFilter: clear
55extensions / ArticleFeedbackv5: clear
56extensions / BlueSpiceAvatars: clear
57extensions / BlueSpiceEchoConnector: clear
58extensions / BlueSpiceReaders: clear
59extensions / BlueSpiceUserSidebar: clear
60extensions / CentralAuth: clear
61extensions / CodeReview: clear
62extensions / EventBus: clear
63extensions / GWToolset: clear
64extensions / LiquidThreads: clear
65extensions / NSFileRepo: clear
66extensions / OATHAuth: clear
67extensions / Thanks: clear
68extensions / WikibaseMediaInfo: clear
69extensions / WikiForum: clear
70extensions / WikimediaEditorTasks: clear
71SemanticMediaWiki / SemanticWatchlist: clear
72extensions / AdvancedMeta: clear
73extensions / BetaFeatures: clear
74extensions / BlueSpiceArticleInfo: clear
75extensions / BlueSpiceNSFileRepoConnector: clear
76extensions / BlueSpiceSaferEdit: clear
77extensions / BlueSpiceSMWConnector: clear
78extensions / BlueSpiceSocialArticleActions: clear
79extensions / BlueSpiceSocialBlog: clear
80extensions / BlueSpiceSocialTags: clear
81extensions / BlueSpiceSocialWatch: clear
82extensions / BlueSpiceUserManager: clear
83extensions / BlueSpiceWhoIsOnline: clear
84extensions / CentralNotice: clear
85extensions / Collection: clear
86extensions / Drafts: clear
87extensions / FanBoxes: clear
88extensions / Favorites: clear
89extensions / MachineVision: clear
90extensions / PageForms: clear
91extensions / Popups: clear
92extensions / SpamRegex: clear
93extensions / TimedMediaHandler: clear
94extensions / TranslateSvg: clear
95extensions / Video: clear
96extensions / WebAuthn: clear
97extensions / WikimediaEvents: clear
98femiwiki / skin: clear
99thaider / Tweeki: clear
100cmln / chameleon: clear
101examknow / CentralCheckUser: clear
102extensions / AbsenteeLandlord: clear
103extensions / AdvancedSearch: clear
104extensions / ApprovedRevs: clear
105extensions / BlogPage: clear
106extensions / BlueSpiceAuthors: clear
107extensions / BlueSpiceDashboards: clear
108extensions / BlueSpiceDistributionConnector: clear
109extensions / BlueSpiceGroupManager: clear
110extensions / BlueSpiceInsertCategory: clear
111extensions / BlueSpiceNamespaceManager: clear
112extensions / BlueSpicePagesVisited: clear
113extensions / BlueSpicePageTemplates: clear
114extensions / BlueSpiceReadConfirmation: clear
115extensions / BlueSpiceSmartList: clear
116extensions / BlueSpiceSocialResolve: clear
117extensions / BlueSpiceTagCloud: clear
118extensions / Cargo: clear
119extensions / Challenge: clear
120extensions / CheckUser: clear
121extensions / CodeMirror: clear
122extensions / Comments: clear
123extensions / ConfirmEdit: clear
124extensions / CreatedPagesList: clear
125extensions / DisplayTitle: clear
126extensions / EditSimilar: clear
127extensions / FileExporter: clear
128extensions / Gadgets: clear
129extensions / GlobalPreferences: clear
130extensions / GraphViz: clear
131extensions / LDAPGroups: clear
132extensions / LinkFilter: clear
133extensions / OAuthAuthentication: clear
134extensions / OpenID: clear
135extensions / PageSchemas: clear
136extensions / ParserMigration: clear
137extensions / PhpTagsStorage: clear
138extensions / PollNY: clear
139extensions / SimpleSAMLphp: clear
140extensions / SpamDiffTool: clear
141extensions / Survey: clear
142extensions / TemplateSandbox: clear
143extensions / TinyMCE: clear
144extensions / TitleBlacklist: clear
145extensions / UploadWizard: clear
146extensions / WikimediaIncubator: clear
147hexmode / mediawiki-PeriodicRelatedChanges: clear
148librewiki / Liberty-MW-Skin: clear
149miraheze / CreateWiki: clear
150miraheze / IncidentReporting: clear
151oetterer / BootstrapComponents: clear
152Wikifab / AutoSetPageLang: clear
153dolfinus / DarkVector: clear
154enterprisemediawiki / WatchAnalytics: clear
155extensions / ActiveAbstract: clear
156extensions / AddPersonalUrls: clear
157extensions / AdminLinks: clear
158extensions / AJAXPoll: clear
159extensions / AkismetKlik: clear
160extensions / AnonPrivacy: clear
161extensions / AntiSpoof: clear
162extensions / ArticleCreationWorkflow: clear
163extensions / ArticlePlaceholder: clear
164extensions / ArticleRatings: clear
165extensions / Athena: clear
166extensions / Auth_remoteuser: clear
167extensions / AuthorProtect: clear
168extensions / BibManager: clear
169extensions / BlueSpiceBookshelf: clear
170extensions / BlueSpiceBookshelfUI: clear
171extensions / BlueSpiceCategoryManager: clear
172extensions / BlueSpiceCustomMenu: clear
173extensions / BlueSpiceNamespaceCSS: clear
174extensions / BlueSpicePermissionManager: clear
175extensions / BlueSpiceSocialComments: clear
176extensions / BlueSpiceSocialRating: clear
177extensions / BlueSpiceSocialTimelineUpdate: clear
178extensions / BlueSpiceUEModuleBookPDF: clear
179extensions / BlueSpiceUEModuleHTML: clear
180extensions / BlueSpiceUEModulePDF: clear
181extensions / BlueSpiceUEModulePDFRecursive: clear
182extensions / BlueSpiceUEModulePDFSubpages: clear
183extensions / BlueSpiceUEModuleTable2Excel: clear
184extensions / BlueSpiceUniversalExport: clear
185extensions / BlueSpiceUserInfo: clear
186extensions / BlueSpiceVisualDiff: clear
187extensions / BlueSpiceWatchList: clear
188extensions / BreadCrumbs: clear
189extensions / CategoryTagSorter: clear
190extensions / CategoryWatch: clear
191extensions / CodeEditor: clear
192extensions / Cognate: clear
193extensions / CollapsibleVector: clear
194extensions / Commentbox: clear
195extensions / ConfirmAccount: clear
196extensions / ContentTranslation: clear
197extensions / Contributors: clear
198extensions / CookieWarning: clear
199extensions / CreateUserPage: clear
200extensions / DarkMode: clear
201extensions / DeleteBatch: clear
202extensions / DeleteOwn: clear
203extensions / DeletePagesForGood: clear
204extensions / DisableAccount: clear
205extensions / DiscussionTools: clear
206extensions / DismissableSiteNotice: clear
207extensions / DonationInterface: clear
208extensions / Duplicator: clear
209extensions / DynamicSidebar: clear
210extensions / EtherpadLite: clear
211extensions / EventLogging: clear
212extensions / FeaturedFeeds: clear
213extensions / FilterListUsers: clear
214extensions / ForcePreview: clear
215extensions / GeoCrumbs: clear
216extensions / GettingStarted: clear
217extensions / GlobalBlocking: clear
218extensions / GlobalContribs: clear
219extensions / GlobalCssJs: clear
220extensions / GlobalNotice: clear
221extensions / GlobalUserrights: clear
222extensions / GoogleAdSense: clear
223extensions / googleAnalytics: clear
224extensions / GraphQL: clear
225extensions / GroupsSidebar: clear
226extensions / HSTS: clear
227extensions / ImageRating: clear
228extensions / ImageTweaks: clear
229extensions / intersection: clear
230extensions / JSBreadCrumbs: clear
231extensions / JsonData: clear
232extensions / LDAPProvider: clear
233extensions / LinkedWiki: clear
234extensions / LinkSuggest: clear
235extensions / LinkSuggest2: clear
236extensions / Lockdown: clear
237extensions / LogEntry: clear
238extensions / LookupUser: clear
239extensions / MassEditRegex: clear
240extensions / Math: clear
241extensions / MediaWikiAuth: clear
242extensions / MediaWikiChat: clear
243extensions / MiniInvite: clear
244extensions / MintyDocs: clear
245extensions / MultiLanguageManager: clear
246extensions / MultimediaViewer: clear
247extensions / NamespaceRelations: clear
248extensions / NetworkAuth: clear
249extensions / News: clear
250extensions / NewsBox: clear
251extensions / NewsTicker: clear
252extensions / Nuke: clear
253extensions / OnlineStatusBar: clear
254extensions / OnlyRecentRecentChanges: clear
255extensions / OOJsUIAjaxLogin: clear
256extensions / OpenStackManager: clear
257extensions / PagedTiffHandler: clear
258extensions / PageImages: clear
259extensions / PageInCat: clear
260extensions / PageViewInfo: clear
261extensions / PerformanceInspector: clear
262extensions / PictureGame: clear
263extensions / PluggableAuth: clear
264extensions / PluggableSSO: clear
265extensions / PopcornEditor: clear
266extensions / PopupPages: clear
267extensions / PrivateDomains: clear
268extensions / Quantcast: clear
269extensions / QuizGame: clear
270extensions / QuizTabulate: clear
271extensions / reCaptcha: clear
272extensions / RelatedArticles: clear
273extensions / Renameuser: clear
274extensions / ReplaceText: clear
275extensions / RevisionSlider: clear
276extensions / RightFunctions: clear
277extensions / RT: clear
278extensions / S5SlideShow: clear
279extensions / SandboxLink: clear
280extensions / SemanticACL: clear
281extensions / ShoutWikiAds: clear
282extensions / ShowRealUsernames: clear
283extensions / SimpleSecurity: clear
284extensions / SiteSettings: clear
285extensions / SkinPerNamespace: clear
286extensions / SlimboxThumbs: clear
287extensions / SmiteSpam: clear
288extensions / SpamBlacklist: clear
289extensions / SparkPost: clear
290extensions / StaffEdits: clear
291extensions / StickToThatLanguage: clear
292extensions / StopForumSpam: clear
293extensions / SubPageList3: clear
294extensions / SVGEdit: clear
295extensions / TemplateStyles: clear
296extensions / Theme: clear
297extensions / ThrottleOverride: clear
298extensions / TwitterLogin: clear
299extensions / UIFeedback: clear
300extensions / UniversalLanguageSelector: clear
301extensions / UploadsLink: clear
302extensions / URNames: clear
303extensions / UserAgreement: clear
304extensions / UserMerge: clear
305extensions / UserPageViewTracker: clear
306extensions / VEForAll: clear
307extensions / VisualEditor: clear
308extensions / VoteNY: clear
309extensions / WebToolsManager: clear
310extensions / WhoIsWatching: clear
311extensions / WhosOnline: clear
312extensions / WikibaseCirrusSearch: clear
313extensions / WikibaseQualityConstraints: clear
314extensions / WikiEditor: clear
315extensions / WikiLexicalData: clear
316extensions / WikiLove: clear
317extensions / WikimediaMessages: clear
318extensions / Wikispeech: clear
319extensions / WikiTextLoggedInOut: clear
320femiwiki / Sanctions: clear
321hexmode / MABS: clear
322hexmode / mediawiki-PageProtect: clear
323hexmode / mediawiki-UserSnoop: clear
324jamesmontalvo3 / MediaWiki-HeaderFooter: clear
325jaydenkieran / mw-discord: clear
326JeroenDeDauw / Maps: clear
327miraheze / MatomoAnalytics: clear
328miraheze / MirahezeMagic: clear
329Nikerabbit / mediawiki-extensions-Nimiarkisto: clear
330SemanticMediaWiki / SemanticExtraSpecialProperties: clear
331skizzerz / mediawiki-GTag: clear
332wiki-chan / ModernSkylight: clear
333Wikifab / UsersPagesLinks: clear
334WikiToLearn / mediawiki-extensions-Collection: clear
335
336Skins:
337skins / BlueSpiceCalumma: clear
338skins / MinervaNeue: clear
339skins / Metrolook: clear
340skins / MonoBook: clear
341skins / Vector: clear
342skins / Anisa: clear
343skins / apex: clear
344skins / BlueSky: clear
345skins / erudite: clear
346skins / GreyStuff: clear
347skins / Material: clear
348skins / mediawiki-strapping: clear
349skins / Nimbus: clear
350skins / Nostalgia: clear
351skins / Poncho: clear
352skins / Refreshed: clear
353skins / Splash: clear
354skins / Timeless: clear
355skins / webplatform: clear

Change 583502 abandoned by DannyS712:
Hard deprecate not passing a user to WikiPage::getUserText when needed

Reason:
Hard deprecate Article::getUser and WikiPage::getUser fallback

WikiPage::getUser requires a user if the audience is FOR_THIS_USER

Bug: T248291

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

Change 583502 restored by DannyS712:
Hard deprecate not passing a user to WikiPage::getUserText when needed

Reason:
Oops

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

Change 583505 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/core@master] Hard deprecate Article::getUser and WikiPage::getUser fallback

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

Change 583457 merged by jenkins-bot:
[mediawiki/core@master] Hard deprecate not passing a user to WikiPage::getCreator when needed

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

Change 583502 merged by jenkins-bot:
[mediawiki/core@master] Hard deprecate not passing a user to WikiPage::getUserText when needed

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

Change 583506 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/core@master] Hard deprecate fallbacks to $wgUser in Revision::get methods

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

Change 583505 merged by jenkins-bot:
[mediawiki/core@master] Hard deprecate Article::getUser and WikiPage::getUser fallback

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

Change 583506 merged by jenkins-bot:
[mediawiki/core@master] Hard deprecate fallbacks to $wgUser in Revision::get methods

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

DannyS712 claimed this task.
DannyS712 removed a project: Patch-For-Review.
DannyS712 updated the task description. (Show Details)

Change 583508 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/core@master] Forgot about WikiPage::getComment - deprecate $wgUser fallback

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

Change 583508 merged by jenkins-bot:
[mediawiki/core@master] WikiPage::getComment - deprecate $wgUser fallback

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