aboutsummaryrefslogtreecommitdiffstats
path: root/includes
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | | | | | Make $wgUsersNotifiedOnAllChanges require confirmed emailsBartosz Dziewoński2025-03-261-7/+0
| | |/ / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: T389608 Change-Id: I6b826d58eb756577ab8fd103175e7b6cc6571679
* | | | | | | | | | objectcache: Improve docs for BagOStuff::ATTR_DURABILITY docsTimo Tijhof2025-03-271-12/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Explain why they exist, how they're used, and what classes they effectively exist to detect. This feature was first added for T141804 to enable detection of CACHE_DB, and skip in ChronologyProtector or WANCache defaults, when constructing Rdbms/LBFactory to avoid recursion. However, that original use case has been replaced with the simpler "isDatabaseId" function. But, two new uses have shown up since then, and these are now documented to explain why the attribute is still useful. Change-Id: If39fcde689a4ea7dd396657fdc1c261d280e5e16
* | | | | | | | | | objectcache: Remove internal StorageAwareness, now unusedTimo Tijhof2025-03-276-106/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update a few remnant references inside the library while at it. * WANObjectCache: Didn't use ATTR/QOS directly, and getQoS test already implemnented as BagOStuff const. Update getQoS() docs to match. * WANObjectCache: Already documented ERR_ as BagOStuff::ERR_. And Codesearch confirms no use of `WANObjectCache::(ERR|ATTR|QOS)`. * MemcachedClient: Switch from referencing one to the other. The class is not directly used outside core, only via BagOStuff. * Implicitly remove unused ATTR_EMULATION by not carrying over. Follows-up: * e8275758fe (I20fde9fa5c) Split IExpiringStore from BagOStuff, and re-use in WANObjectCache. * 74be3a0150 (I4377fc3f53) Move ERR_ from BagOStuff to IExpiringStore. * 69950da666 (Ia862c5111a) Replace IExpiringStore with StorageAwareness. * 59b002b866 (I9885f53f00) Remove StorageAwareness::QOS_LOCALITY_. * ec90b543ab (I8dec3f73fa) Remove StorageAwareness::QOS_EMULATION_SQL. * 62bdd78817 (I5649a29310) Adopt ERR_ in MemcachedClient. * e5a3e36bd1 (I836735b1fe) Mark StorageAwareness as internal. Bug: T353529 Bug: T364652 Change-Id: I1dfde995e29d5264611cf3500d61fe4d8631a7d7
* | | | | | | | | | Merge "Don't drop fragments in Skin::makeInternalOrExternalUrl()"jenkins-bot2025-03-271-1/+1
|\ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | Don't drop fragments in Skin::makeInternalOrExternalUrl()Bartosz Dziewoński2025-03-261-1/+1
| |/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Skin::makeInternalOrExternalUrl() allowed links to fragments when the input was an external URL, but not when it was an internal page name. This problem was discovered in case of edit tags (T389314), but all callers of this method should benefit from this change. Bug: T389314 Change-Id: I388be52d4274374e5a501fd222bed95f3521e2eb
* | | | | | | | | | Localisation updates from https://translatewiki.net.Translation updater bot2025-03-272-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Icbb7ac5c4484bb26e7b69f4118b39d40bef0eb68
* | | | | | | | | | LocalFileRestoreBatch: Add ->caller( __METHOD__ ) to a SQL queryBartosz Dziewoński2025-03-271-1/+1
| |_|_|/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Iaca08cb1400091ee847106b0ad2b264feddf0fdb
* | | | | | | | | Merge "ResourceLoader: Add page title to user script syntax error"jenkins-bot2025-03-261-9/+12
|\ \ \ \ \ \ \ \ \ | |_|/ / / / / / / |/| | | | | | | |
| * | | | | | | | ResourceLoader: Add page title to user script syntax errorTimo Tijhof2025-03-261-9/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This follows-up Ie309e761f (53a3c8b417), in which we switched from calling JsMinPlus/JSParser (which took $fileName as argument, and throw an exception that already included "on line N in X.js") to calling Peast. That patch formatted the error as "on line N" but forgot to include "in X.js". Test plan: * Log in as admin and create "MediaWiki:Common.js" with "foo/;", which is invalid syntax. Then browse the main page and check the browser console. * Before: "Parse error: Unexpected: ; on line 1" * After: "Parse error: Unexpected: ; on line 1 in MediaWiki:Common.js" While at it, document why this cache key is not purely MD5-based, but also includes wiki and page title. Change-Id: I16c3b1dacd02ee26a254809e6a9ac60f72aba4da
* | | | | | | | | Merge "htmlform: Drop HTMLForm::*Text and FormSpecialPage::*Text functions, ↵jenkins-bot2025-03-262-206/+6
|\ \ \ \ \ \ \ \ \ | |_|_|_|/ / / / / |/| | | | | | | | | | | | | | | | | deprecated in 1.38"
| * | | | | | | | htmlform: Drop HTMLForm::*Text and FormSpecialPage::*Text functions, ↵Umherirrender2025-03-262-206/+6
| | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | deprecated in 1.38 The following functions were removed: - FormSpecialPage::preText - FormSpecialPage::postText - HTMLForm::getPreText - HTMLForm::setPreText - HTMLForm::addPreText - HTMLForm::getPostText - HTMLForm::setPostText - HTMLForm::addPostText - HTMLForm::getHeaderText - HTMLForm::setHeaderText - HTMLForm::addHeaderText - HTMLForm::getFooterText - HTMLForm::setFooterText - HTMLForm::addFooterText Bug: T325474 Change-Id: Id8a05542fc56db52f3a5141a1b2125c1a602cf3c
* | | | | | | | Merge "api: Remove deprecated ApiPageSet::get*Titles"jenkins-bot2025-03-261-67/+0
|\ \ \ \ \ \ \ \
| * | | | | | | | api: Remove deprecated ApiPageSet::get*TitlesUmherirrender2025-03-261-67/+0
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following functions were removed: - ApiPageSet::getTitles - ApiPageSet::getGoodTitles - ApiPageSet::getMissingTitles - ApiPageSet::getGoodAndMissingTitles - ApiPageSet::getRedirectTitles - ApiPageSet::getSpecialTitles Bug: T339384 Change-Id: Iba8499c2d1b4a10b918f563069534b90fed7f6f9
* / / / / / / / page: Remove deprecated PageArchive::undeleteAsUserUmherirrender2025-03-261-59/+0
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: T339394 Change-Id: I4c7dd048913ee3d62982ec3bcbdb37548bd56280
* | | | | | | Merge "Chinese Conversion Table Update 2025-1"jenkins-bot2025-03-261-29/+216
|\ \ \ \ \ \ \
| * | | | | | | Chinese Conversion Table Update 2025-1BAKAHOME\chief2025-01-061-29/+216
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the Chinese conversion table routinely to fix bugs reported at https://zh.wikipedia.org/wiki/Wikipedia:字词转换/修复请求. It is only data changes and only works for Chinese WikiProjects. Change-Id: I2c7e4818a1dcb4c7027265840732ec503ec60b1a
* | | | | | | | Merge "Migrate MediaWiki.jobqueue to statslib"jenkins-bot2025-03-265-41/+57
|\ \ \ \ \ \ \ \
| * | | | | | | | Migrate MediaWiki.jobqueue to statslibAtieno2025-03-245-41/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch migrates the `MediaWiki.jobqueue` metric to the new Prometheus format. Bug: T359472 Change-Id: Ie1d54721a1849619fe9a33b74ad1c231868b1c26
* | | | | | | | | Merge "apihelp-query+userinfo-paramvalue-prop-theoreticalratelimits: Add ↵jenkins-bot2025-03-261-1/+1
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | trailing fullstop"
| * | | | | | | | | apihelp-query+userinfo-paramvalue-prop-theoreticalratelimits: Add trailing ↵Reedy2025-03-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fullstop Change-Id: Idce3996ad564b8a0bff7036130c8a2a81076ec29
* | | | | | | | | | Replace a number of uses of class aliases with the real thingsJames D. Forrester2025-03-2644-7/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Found via disabling phan's alias support for a run (and ignoring wgLang's hard-coded state of being a \Language, alas). Change-Id: I4753bcd84d72d6de111fc7ffc5841fa417bf7333
* | | | | | | | | | Localisation updates from https://translatewiki.net.Translation updater bot2025-03-268-7/+21
| |_|_|_|_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ie5ca65e941487bdd0b16a0e1f840a1b642a0d942
* | | | | | | | | Merge "DomainEvents: Model page state before/after"jenkins-bot2025-03-2512-86/+232
|\ \ \ \ \ \ \ \ \
| * | | | | | | | | DomainEvents: Model page state before/afterdaniel2025-03-2512-86/+232
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Why: - PageStateEvent models a change in page state, so it should provide access to the state before and after What: - add getPageRecordBefore() and getPageRecordAfter() to PageStateEvent - Move getPage() from PageStateEvent down to PageRevisionUpdatedEvent. - Add getPageId() to PageStateEvent. - Add getDeletedPage to PageDeletedEvent Bug: T388588 Depends-On: I76b09f2275a74d02e5701de2082d6b256d6b3b78 Change-Id: I94c52c0314e5dbe9adf82aab732f2e54ca42f686
* | | | | | | | | | Merge "Namespace all remaining files in includes/skin"jenkins-bot2025-03-2578-82/+127
|\ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | Namespace all remaining files in includes/skinJames D. Forrester2025-03-2578-82/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: T353458 Change-Id: I3e829e35c93bcaae75e401b1801bddf93c0b416c
* | | | | | | | | | | Merge "Namespace all remaining files in includes/changetags"jenkins-bot2025-03-2547-53/+89
|\| | | | | | | | | |
| * | | | | | | | | | Namespace all remaining files in includes/changetagsJames D. Forrester2025-03-2547-53/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: T353458 Change-Id: I3cf44dfe5425f2efb8409c83571c427447b053af
* | | | | | | | | | | Merge "Namespace all remaining files in includes/exception"jenkins-bot2025-03-25138-167/+300
|\| | | | | | | | | |
| * | | | | | | | | | Namespace all remaining files in includes/exceptionJames D. Forrester2025-03-25138-167/+300
| |/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In MediaWiki/Exception, to follow PSR-4 per plural vs. singular (this can be changed later if people really care). Also, move the couple of exceptions in here that were already namespaced in the MW-top-level into the new space. Bug: T353458 Change-Id: I12ed850ae99effb699a6d7ada173f54e72f0570e
* | | | | | | | | | Merge ""(diff | hist)" are plain text and have no links for categorization ↵jenkins-bot2025-03-251-2/+1
|\ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / |/| | | | | | | | | | | | | | | | | | | entries in Recent Changes and Watchlist in non-grouping mode"
| * | | | | | | | | "(diff | hist)" are plain text and have no links for categorization entries ↵Kgraessle2025-03-201-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in Recent Changes and Watchlist in non-grouping mode Bug: T148533 Change-Id: I33d3f186c1b59c2fa1a0ed7c588ed14e63a49559
* | | | | | | | | | Merge "REST: Fix rest-property-desc-search-matched-title message"jenkins-bot2025-03-251-1/+1
|\ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | REST: Fix rest-property-desc-search-matched-title messagebpirkle2025-03-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In bringing over documentation strings from the API Portal, this one was garbled. Fix to be sensible. Change-Id: I74ebd499e91b10487e0ba3e17b8df6efe2116858
* | | | | | | | | | | Localisation updates from https://translatewiki.net.Translation updater bot2025-03-256-5/+34
| |_|/ / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I30b0563c4188b53929e6a4109031a827916370f1
* | | | | | | | | | Merge "Hard-deprecate the PageContentSave hook, deprecated in 1.35"jenkins-bot2025-03-241-1/+1
|\ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | Hard-deprecate the PageContentSave hook, deprecated in 1.35James D. Forrester2025-03-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: T291001 Change-Id: If205bc0fa0d816fc01cd9b0496f6369969d2fc86
* | | | | | | | | | | Merge "Hard deprecate OutputPage::addParserOutput{,Content} with null ↵jenkins-bot2025-03-241-2/+2
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ParserOptions"
| * | | | | | | | | | | Hard deprecate OutputPage::addParserOutput{,Content} with null ParserOptionsC. Scott Ananian2025-03-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: T350626 Follows-Up: Iec19f9f08a4d88ea534ffa7b24e6e01ffbba2723 Depends-On: Ib96c6f33ce30529fe41f5db1c54b727ce63fb7c0 Depends-On: If1ece68d06bbc81ba3d726c98adda064394b9cf1 Depends-On: I98ced3bd0820b2981fecc29caaddaab0e952f214 Depends-On: I43b77f0bfa01c1b1589fe044cf07005d53aaf161 Depends-On: I5a0905efb4f71b50e6a48cee4b6ac4e0bab3193a Depends-On: I50e7aaae2214193b8df2a8729d5527f67ca4fba9 Depends-On: If6573fc759c5735a1542bbe104f92f214a4e9c11 Depends-On: Ica3bb81b37d62a9233becf7558aa71042fc5ced1 Depends-On: Ia20dfa77021fbdd7a4578e26be74b439c58ead99 Depends-On: Idb0165c526e414c4208d46c6e20aeec92bbce3f3 Depends-On: Ia128b083b89b7f461d19e6d9464f0b894cc842bc Depends-On: I4e1b65845876e051be13abaf02988136cb1f9c53 Depends-On: I892831073bb5daee06abb5e04877c95e55551154 Depends-On: Iec53d8b338ba3e27d72712fcf45061108019d4d6 Depends-On: I634efdd086506bae02dab855a0e6869fb0d56c4a Depends-On: I6b337d673d3c98c532e8a5da650836aa3d4d6b51 Change-Id: I5c33f9bce88126c91cd5b6dc0b52dc63496a9573
* | | | | | | | | | | | Merge "Deprecate OutputPage::showNewSectionLink(), ::forceHideNewSectionLink()"jenkins-bot2025-03-242-11/+17
|\ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | Deprecate OutputPage::showNewSectionLink(), ::forceHideNewSectionLink()C. Scott Ananian2025-03-242-11/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The OutputPage::getOutputFlag(...) method should be used instead. Bug: T301020 Change-Id: I3b5a76d30e88da1f29e50689cfab7d05ff83e43f
* | | | | | | | | | | | | Merge "Broaden type of DataAccess::preprocessWikitext()"jenkins-bot2025-03-244-1/+28
|\ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | Broaden type of DataAccess::preprocessWikitext()C. Scott Ananian2025-03-244-1/+28
| |/ / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This prepares the way for a revision of this API in the follow-up patch Ie543457d5a2eba2ef1f1f4b7622531582c48c3e4. Change-Id: I29b843daeb614d1f48009e1ade93c16fe2f16736
* | | | | | | | | | | | | Merge "Split OutputPage::getModulesInternal()"jenkins-bot2025-03-241-10/+37
|\ \ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / / |/| | | | | | | | | | | |
| * | | | | | | | | | | | Split OutputPage::getModulesInternal()C. Scott Ananian2025-03-221-10/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In preparation for moving the module lists to OutputPage::$metadata, deprecate the additional parameters to OutputPage::getModules() and OutputPage::getModuleStyles(); refactoring the actual implementation to a new private method OutputPage::getModulesInternal(). Bug: T301020 Change-Id: Iea1a40fed68d3b61b8decf9ab838391b1477ff95
* | | | | | | | | | | | | Merge "Use OutputPage::$metadata to store $mRevisionTimestamp"jenkins-bot2025-03-241-5/+7
|\ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | Use OutputPage::$metadata to store $mRevisionTimestampC. Scott Ananian2025-03-221-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: T301020 Change-Id: Iee09b1591bfa11142686c9043a8294e7e77d2b61
* | | | | | | | | | | | | | Merge "Deprecate OutputPage::getNoGallery()"jenkins-bot2025-03-243-13/+13
|\| | | | | | | | | | | | | | |_|/ / / / / / / / / / / |/| | | | | | | | | | | |
| * | | | | | | | | | | | Deprecate OutputPage::getNoGallery()C. Scott Ananian2025-03-223-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also switch to using OutputPage::$metadata to store $mNoGallery, although the expected replacement is OutputPage::getOutputFlag(). This is a slight semantic change, as it is the OR of the NO_GALLERY flag for all ParserOutputs used to compose the Output, instead of simply being the value of the last ParserOutput used. This isn't expected to be significant in practice. Improved the documentation of ParserOutputFlags::NO_GALLERY while we're touching this code. Bug: T301020 Change-Id: Ibaa31df331974e98254ecfcc4393ec1fda2ebe64
* | | | | | | | | | | | | Merge "PermissionStatus: Hard-deprecate toLegacyErrorArray()"jenkins-bot2025-03-242-1/+4
|\ \ \ \ \ \ \ \ \ \ \ \ \