Page MenuHomePhabricator

Deprecate core fallbacks to $wgUser
Closed, ResolvedPublic

Description

Subtasks exist where there are more callers or other complications for specific methods

Related Objects

StatusSubtypeAssignedTask
OpenNone
OpenNone
OpenDannyS712
ResolvedDannyS712
OpenDannyS712
ResolvedDannyS712
ResolvedDannyS712
ResolvedDannyS712
ResolvedDannyS712
ResolvedDannyS712
ResolvedDannyS712
ResolvedDannyS712
ResolvedDannyS712
ResolvedDannyS712
ResolvedDannyS712
ResolvedDannyS712
ResolvedDannyS712
ResolvedDannyS712
ResolvedDannyS712
ResolvedDannyS712
ResolvedDannyS712
ResolvedDannyS712
ResolvedDannyS712
ResolvedDannyS712
ResolvedDannyS712
ResolvedDannyS712
ResolvedDannyS712
ResolvedDannyS712
ResolvedDannyS712
ResolvedDannyS712
ResolvedDannyS712
ResolvedDannyS712
ResolvedDannyS712
ResolvedDannyS712
ResolvedDannyS712
ResolvedDannyS712
Declined Pchelolo
ResolvedDannyS712
ResolvedDannyS712
ResolvedDannyS712
ResolvedDannyS712
ResolvedDannyS712

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

Change 563759 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/core@master] Deprecate not passing a user to Title::getNotificationTimestamp

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

Looking through the codesearch[1], most calls to getNotificationTimestamp relate to a WatchedItem (ie call WatchedItem::getNotificationTimestamp rather than Title::getNotificationTimestamp. I see no remaining uses of the title method that do not provide a user. Are there any objections to hard deprecating not providing a user without soft-deprecation first?

[1] https://codesearch.wmflabs.org/search/?q=getNotificationTimestamp%5C(&i=nope&files=&repos=

Calls to doDeleteArticleReal do not all include a user:
https://codesearch.wmflabs.org/search/?q=doDeleteArticleReal%5C(&i=nope&files=&repos=

Other core fallbacks to $wgUser:

FileDeleteForm::doDelete
Callers that don't pass a user:


Revision::newNullRevision
Calls that don't pass a user:


RecentChange::markPatrolled
Only 1 caller, can be easily dealt with (SpecialPatroller in MediaWiki-extensions-Patroller)


PatrolLog::record - all callers already include a user

Change 565702 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/core@master] Add a user parameter to RecentChange::markPatrolled

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

Change 565704 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/extensions/Patroller@master] Pass a user to RecentChange::markPatrolled

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

Change 565705 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/core@master] Tests: pass a $user to Revision::newNullRevision in RevisionDbTestBase

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

Change 565706 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/extensions/Duplicator@master] Pass a $user to Revision::newNullRevision

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

Change 565707 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/extensions/FlaggedRevs@master] Pass a $user to Revision::newNullRevision

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

Change 565706 merged by jenkins-bot:
[mediawiki/extensions/Duplicator@master] Pass a $user to Revision::newNullRevision

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

Change 566922 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/extensions/ArticleFeedbackv5@master] Pass a $user to WikiPage::insertProtectNullRevision

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

Change 566924 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/extensions/Translate@master] Pass a $user to WikiPage::insertProtectNullRevision

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

Change 566922 merged by jenkins-bot:
[mediawiki/extensions/ArticleFeedbackv5@master] Pass a $user to WikiPage::insertProtectNullRevision

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

Change 566924 merged by jenkins-bot:
[mediawiki/extensions/Translate@master] Pass a $user to WikiPage::insertProtectNullRevision

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

Change 565707 merged by jenkins-bot:
[mediawiki/extensions/FlaggedRevs@master] Pass a $user to Revision::newNullRevision

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

Change 565705 merged by jenkins-bot:
[mediawiki/core@master] Tests: pass a $user to Revision::newNullRevision & Wikipage::getContent

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

Change 565702 abandoned by DannyS712:
Add a user parameter to RecentChange::markPatrolled

Reason:
Replacing all callers instead

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

DannyS712 triaged this task as Medium priority.Feb 13 2020, 9:10 PM

Change 563759 merged by jenkins-bot:
[mediawiki/core@master] Deprecate falling back to $wgUser in some functions

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

Change 573434 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/core@master] Hard deprecate File::recordUpload (and LocalFile, ForeignDBFile)

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

1sollo25 added commits: rSVN34373: Also move the old files to the new hash path., rEWBA1f8242081535: Merge "Using the new Ruby Hash API", rMWb61dbaaf43ea: Also move the old files to the new hash path., rMW05abc5783865: Also move the old files to the new hash path., rEWBA85b38a78c24e: Merge "Use new Snak hash options in ResultBuilder", rEWBA49d6dd44a34f: Using the new Ruby Hash API, rEWBAa0d58a99c75f: Using the new Ruby Hash API, rWDQBa08a01f7a36f: BLZG-1304: new concept for pipelined hash index op, rODFM4e57dbdc26dc: Make GKE test firewalls work with new short-hash node names., rODCA8d1fbe4586c9: Code smell: Avoid explicit returns, rWBSERJS9e4bb6b42eac: Add support for serialization of snak hashes, rEMFRb699967ada66: limit hash changes by using replaceState (bug 36848), rEBHAc739616a2314: Added Table to store email-hash mappings ( EXPERIMENTAL ), rGSVTde8e41ba5d28: Update ToolforgeBundle and add version to footer, rMW284867638558: Create patch set 2, rMW16d4d37bb36d: Create patch set 3, rEWBAc180074b352e: Create patch set 4, rGVED0199103b6f28: Create patch set 2, rWEPDea1268f2c71f: - In order to be more stable, deletes one of the arguments that we were passing…, rEBHA024cfac93bd2: Added Table to store email-hash mappings ( EXPERIMENTAL ), rEWBA47e7d43e20bb: Create patch set 2, rODCA30f49bb28fd0: Resolving conflicts with ???, rMW6473c1569d4f: Update patch set 3, rGERRITf43d0c289baf: Reset location hash before file navigation, rMW6380cadedc57: Do not return invalid hash from ApiStashEdit, rMW139474af2c13: Do not return invalid hash from ApiStashEdit, rEWBA0270c7eca5b9: Add UnDeserializableValue to DataModelSerializationRoundtripTest, rEMMV3fab3120cbbf: Do not set up the overlay on irrelevant hash changes, rGERRIT26841bafe252: Reset location hash before file navigation, rEMMV572929049bb8: Do not set up the overlay on irrelevant hash changes, rGERRITe31f83d9eeeb: Reset location hash before file navigation, rGERRIT7ac7a55d5672: Reset location hash before file navigation, rEMMV6dddb2f7dbf5: Do not set up the overlay on irrelevant hash changes, rGERRITe4ff89a83b4e: Reset location hash before file navigation, rMW8b664986335c: Do not return invalid hash from ApiStashEdit, rGVEDae5c6a59aef9: Update notes for submitted changes, rEVED9fb6977e5205: Update VE core submodule to master (363adf2), rOSVV1b0acfb5a3d6: Use LRU hash for logline cache to avoid memory leak, rEVEDb8f6c3682aca: Update VE core submodule to master (363adf2), rEWBA2ed6ef1e0c2e: Update notes for submitted changes, rOSHD878ceb348c0e: Update Pear hash, rEWBAcc4982282cbd: Update notes for submitted changes, rWBDMJS97b8f3ba48dc: Add hash to Snak, rGERRIT6efa2b86396d: Introduce accountId field which is a new id (SHA-1 hash) for an Account., rGERRIT09bc4e3ff08f: Introduce accountId field which is a new id (SHA-1 hash) for an Account., rOPUP1c6ff43f1aa8: phabricator: don't assign a new hash key, rOSKU0c19b58df2f8: Make GKE test firewalls work with new short-hash node names., rWBDMJSd17091deb3ab: Add hash to Snak, rODFM0c19b58df2f8: Make GKE test firewalls work with new short-hash node names., rECITfc4788d51b93: Move originalDomElements to IV store and use new hash, rODCVd7f66f43f8f9: Add a new HSH_Insert() function which does that. Clean up the hash generation…, rMW1163c53226ad: API: new hash system, rODVRd7f66f43f8f9: Add a new HSH_Insert() function which does that. Clean up the hash generation…, rMW4e1fdde24737: API: new hash system, rMW7f0985b497a6: API: new hash system, rOPUP0ea2d6432627: phabricator: don't assign a new hash key, rOPUP23b24f3071ac: phabricator: don't assign a new hash key, rOPUPa8ab8d54a85b: phabricator: don't assign a new hash key, rWORGc11a23e115a1: + cool new library for hash change events * fix some more bugs with options…, rOSKUc3d905776eb7: Avoid comparing pod-template-hash when getting a deployment's new/old RSes, rODCV59caf963dce0: Exploit the new and cleaner director interface and add a "hash" director by…, rODVRcb5fa8b7cd34: Add a new paramter "purge_hash" which defaults to "off"., rOSKU6aaed13b2083: Avoid comparing pod-template-hash when getting a deployment's new/old RSes, rWEPD17cb13e18f84: - Adds new method that creates a hash with last_update and average_delay so…, rODVR59caf963dce0: Exploit the new and cleaner director interface and add a "hash" director by…, rODCVcb5fa8b7cd34: Add a new paramter "purge_hash" which defaults to "off"., rGVEDc13ca8c56d0d: GeneractedContentNode: Introduce new hash for rendering, rEWBA4e772ffdb0b4: Use new Snak hash options in ResultBuilder, rEWBAb15c73a2b522: Use new Snak hash options in ResultBuilder, rGVED7d3b35c1915f: [BREAKING CHANGE] GeneratedContentNode: Introduce new hash for rendering, rEWBA9c1517c52d95: Use new Snak hash options in ResultBuilder, rEWBA0435760dabe3: Use new Snak hash options in ResultBuilder, rEWBAe46ca23a1cd3: Use new Snak hash options in ResultBuilder, rECIT20f6dd698f56: Move originalDomElements to IV store and use new hash, rEWBAff9b9996d9fd: Use new Snak hash options in ResultBuilder, rWDQB90d9d9412923: BLZG-1304: new concept for pipelined hash index op, rGVEDd156dd70297c: GeneractedContentNode: Introduce new hash for rendering, rODCV735793511568: Add a new HSH_Insert() function which does that. Clean up the hash generation…, rODVR735793511568: Add a new HSH_Insert() function which does that. Clean up the hash generation…, rODVR67022a338b0f: Exploit the new and cleaner director interface and add a "hash" director by…, rODVR8ed169727074: Add a new paramter "purge_hash" which defaults to "off"., rODCV67022a338b0f: Exploit the new and cleaner director interface and add a "hash" director by…, rODCV8ed169727074: Add a new paramter "purge_hash" which defaults to "off"., rOPUP3d78d4aef2fd: Switch dns ldap config to use new ldap hash, rSVN30353: * Changed from direct DB query to get password hash to creating a new User…, rGVEDb9c77879600b: GeneractedContentNode: Introduce new hash for rendering, rOSHD512ecad7cbda: Convert ext_hash function/methods to use new HNI bindings, rGVEDda4be99a2c03: [BREAKING CHANGE] GeneratedContentNode: Introduce new hash for rendering, rEWBA20f0c236ee17: Using the new Ruby Hash API, rGVED63c5f67fc3b8: [BREAKING CHANGE] GeneratedContentNode: Introduce new hash for rendering, rEWBAfad1847a9126: Using the new Ruby Hash API, rOSKU4e57dbdc26dc: Make GKE test firewalls work with new short-hash node names., rGSVT9ea74bf1c40d: Update ToolforgeBundle and add version to footer, rESMWf6956778b09e: Use md5() instead of hash_init() et al., rMEXTebaf36748708: Update git submodules, rMW64f5383796aa: Update patch set 1, rMWc26818a5fcaa: Use standard exceptions in ObjectCache and always handle CACHE_NONE/"hash", rEMFRaf44992d7e73: limit hash changes by using replaceState (bug 36848), rGSVT79b7a5abb0a6: Update ToolforgeBundle and add version to footer, rGVED363adf28cdc2: Merge "[BREAKING CHANGE] GeneratedContentNode: Introduce new hash for rendering".Feb 26 2020, 6:43 AM
DannyS712 removed commits: rGVED363adf28cdc2: Merge "[BREAKING CHANGE] GeneratedContentNode: Introduce new hash for rendering", rGSVT79b7a5abb0a6: Update ToolforgeBundle and add version to footer, rEMFRaf44992d7e73: limit hash changes by using replaceState (bug 36848), rMWc26818a5fcaa: Use standard exceptions in ObjectCache and always handle CACHE_NONE/"hash", rMW64f5383796aa: Update patch set 1, rMEXTebaf36748708: Update git submodules, rESMWf6956778b09e: Use md5() instead of hash_init() et al., rGSVT9ea74bf1c40d: Update ToolforgeBundle and add version to footer, rOSKU4e57dbdc26dc: Make GKE test firewalls work with new short-hash node names., rEWBAfad1847a9126: Using the new Ruby Hash API, rGVED63c5f67fc3b8: [BREAKING CHANGE] GeneratedContentNode: Introduce new hash for rendering, rEWBA20f0c236ee17: Using the new Ruby Hash API, rGVEDda4be99a2c03: [BREAKING CHANGE] GeneratedContentNode: Introduce new hash for rendering, rOSHD512ecad7cbda: Convert ext_hash function/methods to use new HNI bindings, rGVEDb9c77879600b: GeneractedContentNode: Introduce new hash for rendering, rSVN30353: * Changed from direct DB query to get password hash to creating a new User…, rOPUP3d78d4aef2fd: Switch dns ldap config to use new ldap hash, rODCV8ed169727074: Add a new paramter "purge_hash" which defaults to "off"., rODCV67022a338b0f: Exploit the new and cleaner director interface and add a "hash" director by…, rODVR8ed169727074: Add a new paramter "purge_hash" which defaults to "off"., rODVR67022a338b0f: Exploit the new and cleaner director interface and add a "hash" director by…, rODVR735793511568: Add a new HSH_Insert() function which does that. Clean up the hash generation…, rODCV735793511568: Add a new HSH_Insert() function which does that. Clean up the hash generation…, rGVEDd156dd70297c: GeneractedContentNode: Introduce new hash for rendering, rWDQB90d9d9412923: BLZG-1304: new concept for pipelined hash index op, rEWBAff9b9996d9fd: Use new Snak hash options in ResultBuilder, rECIT20f6dd698f56: Move originalDomElements to IV store and use new hash, rEWBAe46ca23a1cd3: Use new Snak hash options in ResultBuilder, rEWBA0435760dabe3: Use new Snak hash options in ResultBuilder, rEWBA9c1517c52d95: Use new Snak hash options in ResultBuilder, rGVED7d3b35c1915f: [BREAKING CHANGE] GeneratedContentNode: Introduce new hash for rendering, rEWBAb15c73a2b522: Use new Snak hash options in ResultBuilder, rEWBA4e772ffdb0b4: Use new Snak hash options in ResultBuilder, rGVEDc13ca8c56d0d: GeneractedContentNode: Introduce new hash for rendering, rODCVcb5fa8b7cd34: Add a new paramter "purge_hash" which defaults to "off"., rODVR59caf963dce0: Exploit the new and cleaner director interface and add a "hash" director by…, rWEPD17cb13e18f84: - Adds new method that creates a hash with last_update and average_delay so…, rOSKU6aaed13b2083: Avoid comparing pod-template-hash when getting a deployment's new/old RSes, rODVRcb5fa8b7cd34: Add a new paramter "purge_hash" which defaults to "off"., rODCV59caf963dce0: Exploit the new and cleaner director interface and add a "hash" director by…, rOSKUc3d905776eb7: Avoid comparing pod-template-hash when getting a deployment's new/old RSes, rWORGc11a23e115a1: + cool new library for hash change events * fix some more bugs with options…, rOPUPa8ab8d54a85b: phabricator: don't assign a new hash key, rOPUP23b24f3071ac: phabricator: don't assign a new hash key, rOPUP0ea2d6432627: phabricator: don't assign a new hash key, rMW7f0985b497a6: API: new hash system, rMW4e1fdde24737: API: new hash system, rODVRd7f66f43f8f9: Add a new HSH_Insert() function which does that. Clean up the hash generation…, rMW1163c53226ad: API: new hash system, rODCVd7f66f43f8f9: Add a new HSH_Insert() function which does that. Clean up the hash generation…, rECITfc4788d51b93: Move originalDomElements to IV store and use new hash, rODFM0c19b58df2f8: Make GKE test firewalls work with new short-hash node names., rWBDMJSd17091deb3ab: Add hash to Snak, rOSKU0c19b58df2f8: Make GKE test firewalls work with new short-hash node names., rOPUP1c6ff43f1aa8: phabricator: don't assign a new hash key, rGERRIT09bc4e3ff08f: Introduce accountId field which is a new id (SHA-1 hash) for an Account., rGERRIT6efa2b86396d: Introduce accountId field which is a new id (SHA-1 hash) for an Account., rWBDMJS97b8f3ba48dc: Add hash to Snak, rEWBAcc4982282cbd: Update notes for submitted changes, rOSHD878ceb348c0e: Update Pear hash, rEWBA2ed6ef1e0c2e: Update notes for submitted changes, rEVEDb8f6c3682aca: Update VE core submodule to master (363adf2), rOSVV1b0acfb5a3d6: Use LRU hash for logline cache to avoid memory leak, rEVED9fb6977e5205: Update VE core submodule to master (363adf2), rGVEDae5c6a59aef9: Update notes for submitted changes, rMW8b664986335c: Do not return invalid hash from ApiStashEdit, rGERRITe4ff89a83b4e: Reset location hash before file navigation, rEMMV6dddb2f7dbf5: Do not set up the overlay on irrelevant hash changes, rGERRIT7ac7a55d5672: Reset location hash before file navigation, rGERRITe31f83d9eeeb: Reset location hash before file navigation, rEMMV572929049bb8: Do not set up the overlay on irrelevant hash changes, rGERRIT26841bafe252: Reset location hash before file navigation, rEMMV3fab3120cbbf: Do not set up the overlay on irrelevant hash changes, rEWBA0270c7eca5b9: Add UnDeserializableValue to DataModelSerializationRoundtripTest, rMW139474af2c13: Do not return invalid hash from ApiStashEdit, rMW6380cadedc57: Do not return invalid hash from ApiStashEdit, rGERRITf43d0c289baf: Reset location hash before file navigation, rMW6473c1569d4f: Update patch set 3, rODCA30f49bb28fd0: Resolving conflicts with ???, rEWBA47e7d43e20bb: Create patch set 2, rEBHA024cfac93bd2: Added Table to store email-hash mappings ( EXPERIMENTAL ), rWEPDea1268f2c71f: - In order to be more stable, deletes one of the arguments that we were passing…, rGVED0199103b6f28: Create patch set 2, rEWBAc180074b352e: Create patch set 4, rMW16d4d37bb36d: Create patch set 3, rMW284867638558: Create patch set 2, rGSVTde8e41ba5d28: Update ToolforgeBundle and add version to footer, rEBHAc739616a2314: Added Table to store email-hash mappings ( EXPERIMENTAL ), rEMFRb699967ada66: limit hash changes by using replaceState (bug 36848), rWBSERJS9e4bb6b42eac: Add support for serialization of snak hashes, rODCA8d1fbe4586c9: Code smell: Avoid explicit returns, rODFM4e57dbdc26dc: Make GKE test firewalls work with new short-hash node names., rWDQBa08a01f7a36f: BLZG-1304: new concept for pipelined hash index op, rEWBAa0d58a99c75f: Using the new Ruby Hash API, rEWBA49d6dd44a34f: Using the new Ruby Hash API, rEWBA85b38a78c24e: Merge "Use new Snak hash options in ResultBuilder", rMW05abc5783865: Also move the old files to the new hash path., rMWb61dbaaf43ea: Also move the old files to the new hash path., rEWBA1f8242081535: Merge "Using the new Ruby Hash API", rSVN34373: Also move the old files to the new hash path..Feb 26 2020, 7:16 PM

Change 573434 abandoned by DannyS712:
[mediawiki/core@master] Add missing File::recordUpload2, hard deprecate File::recordUpload

Reason:
done separately already

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

Forgot to resolve this back in 1.37, all core uses of $wgUser were deprecated, and the default value was a StubGlobalObject so that deprecation warnings would be emitted from trying to use it