wiki.techinc.nl/includes/config-schema.php

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

3430 lines
82 KiB
PHP
Raw Normal View History

<?php
// This file is automatically generated using maintenance/generateConfigSchema.php.
// Do not modify this file manually, edit includes/MainConfigSchema.php instead.
// phpcs:disable Generic.Files.LineLength
return [
'config-schema-inverse' => [
'default' => [
'ConfigRegistry' => [
'main' => 'GlobalVarConfig::newInstance',
],
'Sitename' => 'MediaWiki',
'Server' => false,
'CanonicalServer' => false,
'ServerName' => false,
'AssumeProxiesUseDefaultProtocolPorts' => true,
'HttpsPort' => 443,
'ForceHTTPS' => false,
'ScriptPath' => '/wiki',
'UsePathInfo' => null,
'Script' => false,
'LoadScript' => false,
'RestPath' => false,
'StylePath' => false,
'LocalStylePath' => false,
'ExtensionAssetsPath' => false,
'ExtensionDirectory' => null,
'StyleDirectory' => null,
'BaseDirectory' => null,
'ArticlePath' => false,
'UploadPath' => false,
'ImgAuthPath' => false,
'ThumbPath' => false,
'UploadDirectory' => false,
'FileCacheDirectory' => false,
'Logo' => false,
'Logos' => false,
'Favicon' => '/favicon.ico',
'AppleTouchIcon' => false,
'ReferrerPolicy' => false,
'TmpDirectory' => false,
'UploadBaseUrl' => '',
'UploadStashScalerBaseUrl' => false,
'ActionPaths' => [
],
'MainPageIsDomainRoot' => false,
'EnableUploads' => false,
'UploadStashMaxAge' => 21600,
'EnableAsyncUploads' => false,
'EnableAsyncUploadsByURL' => false,
'UploadMaintenance' => false,
'IllegalFileChars' => ':\\/\\\\',
'DeletedDirectory' => false,
'ImgAuthDetails' => false,
'ImgAuthUrlPathMap' => [
],
'LocalFileRepo' => false,
'ForeignFileRepos' => [
],
'UseInstantCommons' => false,
'UseSharedUploads' => false,
'SharedUploadDirectory' => null,
'SharedUploadPath' => null,
'HashedSharedUploadDirectory' => true,
'RepositoryBaseUrl' => 'https://commons.wikimedia.org/wiki/File:',
'FetchCommonsDescriptions' => false,
'SharedUploadDBname' => false,
'SharedUploadDBprefix' => '',
'CacheSharedUploads' => true,
'ForeignUploadTargets' => [
'local',
],
'UploadDialog' => [
'fields' => [
'description' => true,
'date' => false,
'categories' => false,
],
'licensemessages' => [
'local' => 'generic-local',
'foreign' => 'generic-foreign',
],
'comment' => [
'local' => '',
'foreign' => '',
],
'format' => [
'filepage' => '$DESCRIPTION',
'description' => '$TEXT',
'ownwork' => '',
'license' => '',
'uncategorized' => '',
],
],
'FileBackends' => [
],
'LockManagers' => [
],
'ShowEXIF' => null,
'UpdateCompatibleMetadata' => false,
'AllowCopyUploads' => false,
'CopyUploadsDomains' => [
],
'CopyUploadsFromSpecialUpload' => false,
'CopyUploadProxy' => false,
'CopyUploadTimeout' => false,
'CopyUploadAllowOnWikiDomainConfig' => false,
'MaxUploadSize' => 104857600,
'MinUploadChunkSize' => 1024,
'UploadNavigationUrl' => false,
'UploadMissingFileUrl' => false,
'ThumbnailScriptPath' => false,
'SharedThumbnailScriptPath' => false,
'HashedUploadDirectory' => true,
'FileExtensions' => [
'png',
'gif',
'jpg',
'jpeg',
'webp',
],
'ProhibitedFileExtensions' => [
'html',
'htm',
'js',
'jsb',
'mhtml',
'mht',
'xhtml',
'xht',
'php',
'phtml',
'php3',
'php4',
'php5',
'phps',
'phar',
'shtml',
'jhtml',
'pl',
'py',
'cgi',
'exe',
'scr',
'dll',
'msi',
'vbs',
'bat',
'com',
'pif',
'cmd',
'vxd',
'cpl',
'xml',
],
'MimeTypeExclusions' => [
'text/html',
'application/javascript',
'text/javascript',
'text/x-javascript',
'application/x-shellscript',
'application/x-php',
'text/x-php',
'text/x-python',
'text/x-perl',
'text/x-bash',
'text/x-sh',
'text/x-csh',
'text/scriptlet',
'application/x-msdownload',
'application/x-msmetafile',
'application/java',
'application/xml',
'text/xml',
],
'CheckFileExtensions' => true,
'StrictFileExtensions' => true,
'DisableUploadScriptChecks' => false,
'UploadSizeWarning' => false,
'TrustedMediaFormats' => [
'BITMAP',
'AUDIO',
'VIDEO',
'image/svg+xml',
'application/pdf',
],
'MediaHandlers' => [
],
'NativeImageLazyLoading' => false,
'ParserTestMediaHandlers' => [
'image/jpeg' => 'MockBitmapHandler',
'image/png' => 'MockBitmapHandler',
'image/gif' => 'MockBitmapHandler',
'image/tiff' => 'MockBitmapHandler',
'image/webp' => 'MockBitmapHandler',
'image/x-ms-bmp' => 'MockBitmapHandler',
'image/x-bmp' => 'MockBitmapHandler',
'image/x-xcf' => 'MockBitmapHandler',
'image/svg+xml' => 'MockSvgHandler',
'image/vnd.djvu' => 'MockDjVuHandler',
],
'UseImageResize' => true,
'UseImageMagick' => false,
'ImageMagickConvertCommand' => '/usr/bin/convert',
'MaxInterlacingAreas' => [
],
'SharpenParameter' => '0x0.4',
'SharpenReductionThreshold' => 0.85,
'ImageMagickTempDir' => false,
'CustomConvertCommand' => false,
'JpegTran' => '/usr/bin/jpegtran',
'JpegPixelFormat' => 'yuv420',
'JpegQuality' => 80,
'Exiv2Command' => '/usr/bin/exiv2',
'Exiftool' => '/usr/bin/exiftool',
'SVGConverters' => [
'ImageMagick' => '$path/convert -background "#ffffff00" -thumbnail $widthx$height\\! $input PNG:$output',
'sodipodi' => '$path/sodipodi -z -w $width -f $input -e $output',
'inkscape' => '$path/inkscape -z -w $width -f $input -e $output',
'batik' => 'java -Djava.awt.headless=true -jar $path/batik-rasterizer.jar -w $width -d $output $input',
'rsvg' => '$path/rsvg-convert -w $width -h $height -o $output $input',
'imgserv' => '$path/imgserv-wrapper -i svg -o png -w$width $input $output',
'ImagickExt' => [
'SvgHandler::rasterizeImagickExt',
],
],
'SVGConverter' => 'ImageMagick',
'SVGConverterPath' => '',
'SVGMaxSize' => 5120,
'SVGMetadataCutoff' => 5242880,
'SVGNativeRendering' => false,
'SVGNativeRenderingSizeLimit' => 51200,
'MediaInTargetLanguage' => true,
'MaxImageArea' => 12500000,
'MaxAnimatedGifArea' => 12500000,
'TiffThumbnailType' => [
],
'ThumbnailEpoch' => '20030516000000',
'AttemptFailureEpoch' => 1,
'IgnoreImageErrors' => false,
'GenerateThumbnailOnParse' => true,
'ShowArchiveThumbnails' => true,
'EnableAutoRotation' => null,
'Antivirus' => null,
'AntivirusSetup' => [
'clamav' => [
'command' => 'clamscan --no-summary ',
'codemap' => [
0 => 0,
1 => 1,
52 => -1,
'*' => false,
],
'messagepattern' => '/.*?:(.*)/sim',
],
],
'AntivirusRequired' => true,
'VerifyMimeType' => true,
'MimeTypeFile' => 'internal',
'MimeInfoFile' => 'internal',
'MimeDetectorCommand' => null,
'TrivialMimeDetection' => false,
'XMLMimeTypes' => [
'http://www.w3.org/2000/svg:svg' => 'image/svg+xml',
'svg' => 'image/svg+xml',
'http://www.lysator.liu.se/~alla/dia/:diagram' => 'application/x-dia-diagram',
'http://www.w3.org/1999/xhtml:html' => 'text/html',
'html' => 'text/html',
],
'ImageLimits' => [
[
320,
240,
],
[
640,
480,
],
[
800,
600,
],
[
1024,
768,
],
[
1280,
1024,
],
[
2560,
2048,
],
],
'ThumbLimits' => [
120,
150,
180,
200,
250,
300,
],
Introduce SearchResultThumbnailProvider & move hook + NS_FILE thumbs in What was previously a REST API-only feature (the thumbnails hook allowing for thumbnails for non-file pages via the PageImages extension) is now also being adopted in the main search page. That hook will now be called with NS_FILE result thumbnails pre-filled, which was not the case previously. PageImages essentially duplicated NS_FILE thumbnail logic that was already present in Special:Search, so that can (and will in a follow-up patch) then be removed there. Special:Search will then simply take whatever is produced from the provider (which will include both NS_FILE thumbs - which it handled already - as well as whatever else it receives from the hook), as will the REST API (which already received both) Since thumbnails can now come in for multiple namespaces & having some of those results with & others without a thumbnail can be quite jarring, it was decided that we'd display placeholder images (for certain namespaces). This is now controlled by $wgThumbnailNamespaces. I also split up a few things in FullSearchResultWidget:: generateFileHtml for more clarity. Meanwhile also updated mediawiki.special.search.styles.less to use variables for known colors. Also implemented a 'transform' (required for testing this change properly) and 'getDisplayWidthHeight' (it became needed after implementing transform) callback function for mock Files, and updated some existing tests in response to these changes. And some more Rest test files have been updated to allow passing around a HookContainer instead of only an array of hooks (from which a new HookContainer would then be created) to allow the same container to be used across all relevant objects, who may have it injected as dependency. Bug: T306883 Change-Id: I2a679b51758020d3e822da01a1bde1ae632b0b0a
2022-08-31 14:51:57 +00:00
'ThumbnailNamespaces' => [
6,
Introduce SearchResultThumbnailProvider & move hook + NS_FILE thumbs in What was previously a REST API-only feature (the thumbnails hook allowing for thumbnails for non-file pages via the PageImages extension) is now also being adopted in the main search page. That hook will now be called with NS_FILE result thumbnails pre-filled, which was not the case previously. PageImages essentially duplicated NS_FILE thumbnail logic that was already present in Special:Search, so that can (and will in a follow-up patch) then be removed there. Special:Search will then simply take whatever is produced from the provider (which will include both NS_FILE thumbs - which it handled already - as well as whatever else it receives from the hook), as will the REST API (which already received both) Since thumbnails can now come in for multiple namespaces & having some of those results with & others without a thumbnail can be quite jarring, it was decided that we'd display placeholder images (for certain namespaces). This is now controlled by $wgThumbnailNamespaces. I also split up a few things in FullSearchResultWidget:: generateFileHtml for more clarity. Meanwhile also updated mediawiki.special.search.styles.less to use variables for known colors. Also implemented a 'transform' (required for testing this change properly) and 'getDisplayWidthHeight' (it became needed after implementing transform) callback function for mock Files, and updated some existing tests in response to these changes. And some more Rest test files have been updated to allow passing around a HookContainer instead of only an array of hooks (from which a new HookContainer would then be created) to allow the same container to be used across all relevant objects, who may have it injected as dependency. Bug: T306883 Change-Id: I2a679b51758020d3e822da01a1bde1ae632b0b0a
2022-08-31 14:51:57 +00:00
],
'ThumbnailBuckets' => null,
'ThumbnailMinimumBucketDistance' => 50,
'UploadThumbnailRenderMap' => [
],
'UploadThumbnailRenderMethod' => 'jobqueue',
'UploadThumbnailRenderHttpCustomHost' => false,
'UploadThumbnailRenderHttpCustomDomain' => false,
'UseTinyRGBForJPGThumbnails' => false,
'GalleryOptions' => [
],
'ThumbUpright' => 0.75,
'DirectoryMode' => 511,
'ResponsiveImages' => true,
'ImagePreconnect' => false,
'DjvuUseBoxedCommand' => false,
'DjvuDump' => null,
'DjvuRenderer' => null,
'DjvuTxt' => null,
'DjvuPostProcessor' => 'pnmtojpeg',
'DjvuOutputExtension' => 'jpg',
'EmergencyContact' => false,
'PasswordSender' => false,
'NoReplyAddress' => false,
'EnableEmail' => true,
'EnableUserEmail' => true,
'EnableSpecialMute' => false,
'EnableUserEmailMuteList' => false,
'UserEmailUseReplyTo' => true,
'PasswordReminderResendTime' => 24,
'NewPasswordExpiry' => 604800,
'UserEmailConfirmationTokenExpiry' => 604800,
'PasswordExpirationDays' => false,
'PasswordExpireGrace' => 604800,
'SMTP' => false,
'AdditionalMailParams' => null,
'AllowHTMLEmail' => false,
'EnotifFromEditor' => false,
'EmailAuthentication' => true,
'EnotifWatchlist' => false,
'EnotifUserTalk' => false,
'EnotifRevealEditorAddress' => false,
'EnotifMinorEdits' => true,
'EnotifImpersonal' => false,
'EnotifMaxRecips' => 500,
'EnotifUseRealName' => false,
'UsersNotifiedOnAllChanges' => [
],
'DBname' => 'my_wiki',
'DBmwschema' => null,
'DBprefix' => '',
'DBserver' => 'localhost',
'DBport' => 5432,
'DBuser' => 'wikiuser',
'DBpassword' => '',
'DBtype' => 'mysql',
'DBssl' => false,
'DBcompress' => false,
'DBStrictWarnings' => false,
'DBadminuser' => null,
'DBadminpassword' => null,
'SearchType' => null,
'SearchTypeAlternatives' => null,
'DBTableOptions' => 'ENGINE=InnoDB, DEFAULT CHARSET=binary',
'SQLMode' => '',
'DBDefaultGroup' => null,
'SQLiteDataDir' => '',
'SharedDB' => null,
'SharedPrefix' => false,
'SharedTables' => [
'user',
'user_properties',
'user_autocreate_serial',
],
'SharedSchema' => false,
'DBservers' => false,
'LBFactoryConf' => [
'class' => 'Wikimedia\\Rdbms\\LBFactorySimple',
],
'DataCenterUpdateStickTTL' => 10,
'DBerrorLog' => false,
'DBerrorLogTZ' => false,
'LocalDatabases' => [
],
'DatabaseReplicaLagWarning' => 10,
'DatabaseReplicaLagCritical' => 30,
'MaxExecutionTimeForExpensiveQueries' => 0,
'VirtualDomainsMapping' => [
],
'PageLinksSchemaMigrationStage' => 768,
'ExternalLinksDomainGaps' => [
],
'ContentHandlers' => [
'wikitext' => [
'class' => 'MediaWiki\\Content\\WikitextContentHandler',
'services' => [
'TitleFactory',
'ParserFactory',
'GlobalIdGenerator',
'LanguageNameUtils',
'LinkRenderer',
'MagicWordFactory',
'ParsoidParserFactory',
],
],
'javascript' => 'MediaWiki\\Content\\JavaScriptContentHandler',
'json' => 'MediaWiki\\Content\\JsonContentHandler',
'css' => 'MediaWiki\\Content\\CssContentHandler',
'text' => 'MediaWiki\\Content\\TextContentHandler',
'unknown' => 'MediaWiki\\Content\\FallbackContentHandler',
],
'NamespaceContentModels' => [
],
'TextModelsToParse' => [
'wikitext',
'javascript',
'css',
],
'CompressRevisions' => false,
'ExternalStores' => [
],
'ExternalServers' => [
],
'DefaultExternalStore' => false,
'RevisionCacheExpiry' => 604800,
'RevisionSlotsCacheExpiry' => [
'local' => 3600,
'WAN' => 86400,
],
'PageLanguageUseDB' => false,
'DiffEngine' => null,
'ExternalDiffEngine' => false,
'Wikidiff2Options' => [
],
'RequestTimeLimit' => null,
'TransactionalTimeLimit' => 120,
'CriticalSectionTimeLimit' => 180.0,
'MiserMode' => false,
'DisableQueryPages' => false,
'QueryCacheLimit' => 1000,
'WantedPagesThreshold' => 1,
'AllowSlowParserFunctions' => false,
'AllowSchemaUpdates' => true,
'MaxArticleSize' => 2048,
'MemoryLimit' => '50M',
'PoolCounterConf' => null,
'PoolCountClientConf' => [
'servers' => [
'127.0.0.1',
],
'timeout' => 0.1,
],
'MaxUserDBWriteDuration' => false,
'MaxJobDBWriteDuration' => false,
'LinkHolderBatchSize' => 1000,
'MaximumMovedPages' => 100,
'ForceDeferredUpdatesPreSend' => false,
'MultiShardSiteStats' => false,
'CacheDirectory' => false,
'MainCacheType' => 0,
'MessageCacheType' => -1,
'ParserCacheType' => -1,
'SessionCacheType' => -1,
'LanguageConverterCacheType' => -1,
'ObjectCaches' => [
0 => [
'class' => 'Wikimedia\\ObjectCache\\EmptyBagOStuff',
'reportDupes' => false,
],
1 => [
'class' => 'SqlBagOStuff',
'loggroup' => 'SQLBagOStuff',
],
'memcached-php' => [
'class' => 'Wikimedia\\ObjectCache\\MemcachedPhpBagOStuff',
'loggroup' => 'memcached',
],
'memcached-pecl' => [
'class' => 'Wikimedia\\ObjectCache\\MemcachedPeclBagOStuff',
'loggroup' => 'memcached',
],
'hash' => [
'class' => 'Wikimedia\\ObjectCache\\HashBagOStuff',
'reportDupes' => false,
],
'apc' => [
'class' => 'Wikimedia\\ObjectCache\\APCUBagOStuff',
'reportDupes' => false,
],
'apcu' => [
'class' => 'Wikimedia\\ObjectCache\\APCUBagOStuff',
'reportDupes' => false,
],
],
objectcache: Remove $wgMainWANCache and $wgWANObjectCaches We always wrap the local cluster cache, and there are no subclasses of WANObjectCache. It was never documented or recommended how these would be used. It is a left-over from the original 2015 Multi-DC plan in which WANObjectCache would work differently. See task for details. Note that this requires no configuration changes, even in the theoretical case of these variables being used, as the only option is to use the main cache, and that's also the default. * Update WAN overrides to override the underlying main cache instead. * Fix EditPageTest which was previously implicitly using a 'hash' as main cache but also relying on wan cache to be 'none'. The part that it actually needs is the 'none'. When WAN cache is enabled, testUpdateNoMinor fails due to an edit conflict because one of the edits it makes is made with a current timestamp whereas it expects to simulate wpEdittime in the year 2012 which, when caching is enabled, is ignored and becomes the current time instead. I don't understand exactly why, but I'm going to conserve that behaviour for now. * Fix TemplateCategoriesTest, which was failing due to an unexpected cache hit: > [objectcache] fetchOrRegenerate(…:page:10:…): volatile hit This could be solved in a more realistic way by splitting the test, or by explicitly resetting services half-way the test to clear WikiPageFactory, PageStore and WANCache process state. For now, keep the prior behaviour of no cache in this test. Bug: T305093 Bug: T329680 Depends-On: If890622eed0d0f8b4bd73d36ba1815a3d760ea05 Depends-On: Ie1def75208822bdf19bb2cfd7e6edf32c2000e6b Depends-On: I35cce61dc3ee90dcee3dd6f0b36f84133be029ed Change-Id: I53781a8c06ebb2583f6ca83dd91bbfe8a5c88b13
2023-02-14 21:43:12 +00:00
'WANObjectCache' => [
],
'MicroStashType' => -1,
'MainStash' => 1,
'ParsoidCacheConfig' => [
'StashType' => null,
'StashDuration' => 86400,
'WarmParsoidParserCache' => false,
],
'ParsoidSelectiveUpdateSampleRate' => 0,
'ParserCacheFilterConfig' => [
'pcache' => [
'default' => [
'minCpuTime' => 0,
],
],
'parsoid-pcache' => [
'default' => [
'minCpuTime' => 0,
],
],
],
'ChronologyProtectorSecret' => '',
'ParserCacheExpireTime' => 86400,
'OldRevisionParserCacheExpireTime' => 3600,
'ObjectCacheSessionExpiry' => 3600,
'PHPSessionHandling' => 'enable',
'SuspiciousIpExpiry' => false,
'SessionPbkdf2Iterations' => 10001,
'MemCachedServers' => [
'127.0.0.1:11211',
],
'MemCachedPersistent' => false,
'MemCachedTimeout' => 500000,
'UseLocalMessageCache' => false,
'AdaptiveMessageCache' => false,
'LocalisationCacheConf' => [
'class' => 'LocalisationCache',
'store' => 'detect',
'storeClass' => false,
'storeDirectory' => false,
'storeServer' => [
],
'forceRecache' => false,
'manualRecache' => false,
],
'CachePages' => true,
'CacheEpoch' => '20030516000000',
'GitInfoCacheDirectory' => false,
'UseFileCache' => false,
'FileCacheDepth' => 2,
'RenderHashAppend' => '',
'EnableSidebarCache' => false,
'SidebarCacheExpiry' => 86400,
'UseGzip' => false,
'InvalidateCacheOnLocalSettingsChange' => true,
'ExtensionInfoMTime' => false,
'EnableRemoteBagOStuffTests' => false,
'UseCdn' => false,
'VaryOnXFP' => false,
'InternalServer' => false,
'CdnMaxAge' => 18000,
'CdnMaxageLagged' => 30,
'CdnMaxageStale' => 10,
'CdnReboundPurgeDelay' => 0,
'CdnMaxageSubstitute' => 60,
'ForcedRawSMaxage' => 300,
'CdnServers' => [
],
'CdnServersNoPurge' => [
],
'HTCPRouting' => [
],
'HTCPMulticastTTL' => 1,
'UsePrivateIPs' => false,
'CdnMatchParameterOrder' => true,
'LanguageCode' => 'en',
'GrammarForms' => [
],
'InterwikiMagic' => true,
'HideInterlanguageLinks' => false,
'ExtraInterlanguageLinkPrefixes' => [
],
'InterlanguageLinkCodeMap' => [
],
'ExtraLanguageNames' => [
],
'ExtraLanguageCodes' => [
'bh' => 'bho',
'no' => 'nb',
'simple' => 'en',
],
'DummyLanguageCodes' => [
],
'AllUnicodeFixes' => false,
'LegacyEncoding' => false,
'AmericanDates' => false,
'TranslateNumerals' => true,
'UseDatabaseMessages' => true,
'MaxMsgCacheEntrySize' => 10000,
'DisableLangConversion' => false,
'DisableTitleConversion' => false,
'DefaultLanguageVariant' => false,
'UsePigLatinVariant' => false,
'DisabledVariants' => [
],
'VariantArticlePath' => false,
'UseXssLanguage' => false,
'LoginLanguageSelector' => false,
'ForceUIMsgAsContentMsg' => [
],
'RawHtmlMessages' => [
'copyright',
'history_copyright',
'googlesearch',
],
'AllowRawHtmlCopyrightMessages' => true,
'Localtimezone' => null,
'LocalTZoffset' => null,
'OverrideUcfirstCharacters' => [
],
'MimeType' => 'text/html',
'Html5Version' => null,
'EditSubmitButtonLabelPublish' => false,
'XhtmlNamespaces' => [
],
'SiteNotice' => '',
'BrowserFormatDetection' => 'telephone=no',
'SkinMetaTags' => [
],
'DefaultSkin' => 'vector-2022',
'FallbackSkin' => 'fallback',
'SkipSkins' => [
],
'DisableOutputCompression' => false,
'FragmentMode' => [
'html5',
'legacy',
],
'ExternalInterwikiFragmentMode' => 'legacy',
'FooterIcons' => [
'copyright' => [
'copyright' => [
],
],
'poweredby' => [
'mediawiki' => [
'src' => null,
'url' => 'https://www.mediawiki.org/',
'alt' => 'Powered by MediaWiki',
],
],
],
'UseCombinedLoginLink' => false,
'Edititis' => false,
'Send404Code' => true,
'ShowRollbackEditCount' => 10,
'EnableCanonicalServerLink' => false,
'InterwikiLogoOverride' => [
],
'ResourceModules' => [
],
'ResourceModuleSkinStyles' => [
],
'ResourceLoaderSources' => [
],
'ResourceBasePath' => null,
'ResourceLoaderMaxage' => [
],
'ResourceLoaderUseObjectCacheForDeps' => true,
'ResourceLoaderDebug' => false,
'ResourceLoaderMaxQueryLength' => false,
'ResourceLoaderValidateJS' => true,
'ResourceLoaderEnableJSProfiler' => false,
'ResourceLoaderStorageEnabled' => true,
'ResourceLoaderStorageVersion' => 1,
'ResourceLoaderEnableSourceMapLinks' => true,
'AllowSiteCSSOnRestrictedPages' => false,
'VueDevelopmentMode' => false,
Codex: Allow a local development version to be used Developers can use this to test their local version of Codex with MediaWiki by pointing $wgCodexDevelopmentDir to their local clone of the Codex repo, e.g. $wgCodexDevelopmentDir = '/home/yourname/git/codex'; Setting $wgCodexDevelopmentDir affects where the following things come from: - Codex JS/CSS files for the full library - Codex JS/CSS files for code-split chunks, and the manifest.json file that points to them - Icons retrieved by CodexModule::getIcons() - CSS-only icons imported in Less - Design tokens imported in Less Other changes in this patch: - Add CodexModule::makeFilePath() to centralize the repeated path concatenation. This makes it easier to switch out the regular path for the dev mode path. - Replace all uses of $IP (which is deprecated) and MW_INSTALL_PATH in CodexModule with the BaseDirectory config setting. - Make CodexModule::getIcons() reset its static cache if the path to the icons file changes. Without this, it's impossible to make the unit tests pass. - Move the i18n messages code from the CodexModule constructor to getMessages(). It can't be in the constructor because makeFilePath() doesn't work there (it fails because the Config object hasn't been set up yet). - Add a 'mediawiki.skin.codex' import path so that we can stop hard-coding the path to the Codex mixins file. Without this, we can't make the Codex mixins come from the right place in development mode. - Consider $wgCodexDevelopmentDir in setting the cache key for compiled Less code, since changing this setting can change the output of Less compilation (by changing design tokens, icons or mixins). - Add unit tests for (the non-dev mode behavior of) CodexModule::getIcons() and the i18n message key handling. Bug: T314507 Change-Id: I11c6a81a1ba34fe10f4b1c98bf76f0db40c1ce98
2024-05-02 03:27:22 +00:00
'CodexDevelopmentDir' => null,
'MetaNamespace' => false,
'MetaNamespaceTalk' => false,
'CanonicalNamespaceNames' => [
-2 => 'Media',
-1 => 'Special',
0 => '',
1 => 'Talk',
2 => 'User',
3 => 'User_talk',
4 => 'Project',
5 => 'Project_talk',
6 => 'File',
7 => 'File_talk',
8 => 'MediaWiki',
9 => 'MediaWiki_talk',
10 => 'Template',
11 => 'Template_talk',
12 => 'Help',
13 => 'Help_talk',
14 => 'Category',
15 => 'Category_talk',
],
'ExtraNamespaces' => [
],
'ExtraGenderNamespaces' => [
],
'NamespaceAliases' => [
],
'LegalTitleChars' => ' %!"$&\'()*,\\-.\\/0-9:;=?@A-Z\\\\^_`a-z~\\x80-\\xFF+',
'CapitalLinks' => true,
'CapitalLinkOverrides' => [
],
'NamespacesWithSubpages' => [
1 => true,
2 => true,
3 => true,
4 => true,
5 => true,
7 => true,
8 => true,
9 => true,
10 => true,
11 => true,
12 => true,
13 => true,
15 => true,
],
'ContentNamespaces' => [
0,
],
'ShortPagesNamespaceExclusions' => [
],
'ExtraSignatureNamespaces' => [
],
'InvalidRedirectTargets' => [
'Filepath',
'Mypage',
'Mytalk',
'Redirect',
'Mylog',
],
'DisableHardRedirects' => false,
'FixDoubleRedirects' => false,
'LocalInterwikis' => [
],
'InterwikiExpiry' => 10800,
'InterwikiCache' => false,
'InterwikiScopes' => 3,
'InterwikiFallbackSite' => 'wiki',
'RedirectSources' => false,
'SiteTypes' => [
'mediawiki' => 'MediaWiki\\Site\\MediaWikiSite',
],
'MaxTocLevel' => 999,
'MaxPPNodeCount' => 1000000,
'MaxTemplateDepth' => 100,
'MaxPPExpandDepth' => 100,
'UrlProtocols' => [
'bitcoin:',
'ftp://',
'ftps://',
'geo:',
'git://',
'gopher://',
'http://',
'https://',
'irc://',
'ircs://',
'magnet:',
'mailto:',
'matrix:',
'mms://',
'news:',
'nntp://',
'redis://',
'sftp://',
'sip:',
'sips:',
'sms:',
'ssh://',
'svn://',
'tel:',
'telnet://',
'urn:',
'worldwind://',
'xmpp:',
'//',
],
'CleanSignatures' => true,
'AllowExternalImages' => false,
'AllowExternalImagesFrom' => '',
'EnableImageWhitelist' => false,
'TidyConfig' => [
],
'ParsoidSettings' => [
'useSelser' => true,
],
'ParserEnableLegacyMediaDOM' => false,
'ParserEnableLegacyHeadingDOM' => true,
'UseContentMediaStyles' => false,
'UseLegacyMediaStyles' => false,
'RawHtml' => false,
'ExternalLinkTarget' => false,
'NoFollowLinks' => true,
'NoFollowNsExceptions' => [
],
'NoFollowDomainExceptions' => [
'mediawiki.org',
],
'RegisterInternalExternals' => false,
'AllowDisplayTitle' => true,
'RestrictDisplayTitle' => true,
'ExpensiveParserFunctionLimit' => 100,
'PreprocessorCacheThreshold' => 1000,
'EnableScaryTranscluding' => false,
'TranscludeCacheExpiry' => 3600,
'EnableMagicLinks' => [
'ISBN' => false,
'PMID' => false,
'RFC' => false,
],
'ParserEnableUserLanguage' => false,
'ArticleCountMethod' => 'link',
'ActiveUserDays' => 30,
'LearnerEdits' => 10,
'LearnerMemberSince' => 4,
'ExperiencedUserEdits' => 500,
'ExperiencedUserMemberSince' => 30,
'ManualRevertSearchRadius' => 15,
'RevertedTagMaxDepth' => 15,
'CentralIdLookupProviders' => [
'local' => [
'class' => 'MediaWiki\\User\\CentralId\\LocalIdLookup',
'services' => [
'MainConfig',
'DBLoadBalancerFactory',
'HideUserUtils',
],
],
],
'CentralIdLookupProvider' => 'local',
'UserRegistrationProviders' => [
'local' => [
'class' => 'MediaWiki\\User\\Registration\\LocalUserRegistrationProvider',
'services' => [
'UserFactory',
],
],
],
'PasswordPolicy' => [
'policies' => [
'bureaucrat' => [
'MinimalPasswordLength' => 10,
'MinimumPasswordLengthToLogin' => 1,
],
'sysop' => [
'MinimalPasswordLength' => 10,
'MinimumPasswordLengthToLogin' => 1,
],
'interface-admin' => [
'MinimalPasswordLength' => 10,
'MinimumPasswordLengthToLogin' => 1,
],
'bot' => [
'MinimalPasswordLength' => 10,
'MinimumPasswordLengthToLogin' => 1,
],
'default' => [
'MinimalPasswordLength' => [
'value' => 8,
'suggestChangeOnLogin' => true,
],
'PasswordCannotBeSubstringInUsername' => [
'value' => true,
'suggestChangeOnLogin' => true,
],
'PasswordCannotMatchDefaults' => [
'value' => true,
'suggestChangeOnLogin' => true,
],
'MaximalPasswordLength' => [
'value' => 4096,
'suggestChangeOnLogin' => true,
],
'PasswordNotInCommonList' => [
'value' => true,
'suggestChangeOnLogin' => true,
],
],
],
'checks' => [
'MinimalPasswordLength' => [
'MediaWiki\\Password\\PasswordPolicyChecks',
'checkMinimalPasswordLength',
],
'MinimumPasswordLengthToLogin' => [
'MediaWiki\\Password\\PasswordPolicyChecks',
'checkMinimumPasswordLengthToLogin',
],
'PasswordCannotBeSubstringInUsername' => [
'MediaWiki\\Password\\PasswordPolicyChecks',
'checkPasswordCannotBeSubstringInUsername',
],
'PasswordCannotMatchDefaults' => [
'MediaWiki\\Password\\PasswordPolicyChecks',
'checkPasswordCannotMatchDefaults',
],
'MaximalPasswordLength' => [
'MediaWiki\\Password\\PasswordPolicyChecks',
'checkMaximalPasswordLength',
],
'PasswordNotInCommonList' => [
'MediaWiki\\Password\\PasswordPolicyChecks',
'checkPasswordNotInCommonList',
],
],
],
'AuthManagerConfig' => null,
'AuthManagerAutoConfig' => [
'preauth' => [
'MediaWiki\\Auth\\ThrottlePreAuthenticationProvider' => [
'class' => 'MediaWiki\\Auth\\ThrottlePreAuthenticationProvider',
'sort' => 0,
],
],
'primaryauth' => [
'MediaWiki\\Auth\\TemporaryPasswordPrimaryAuthenticationProvider' => [
'class' => 'MediaWiki\\Auth\\TemporaryPasswordPrimaryAuthenticationProvider',
'services' => [
'DBLoadBalancerFactory',
'UserOptionsLookup',
],
'args' => [
[
'authoritative' => false,
],
],
'sort' => 0,
],
'MediaWiki\\Auth\\LocalPasswordPrimaryAuthenticationProvider' => [
'class' => 'MediaWiki\\Auth\\LocalPasswordPrimaryAuthenticationProvider',
'services' => [
'DBLoadBalancerFactory',
],
'args' => [
[
'authoritative' => true,
],
],
'sort' => 100,
],
],
'secondaryauth' => [
'MediaWiki\\Auth\\CheckBlocksSecondaryAuthenticationProvider' => [
'class' => 'MediaWiki\\Auth\\CheckBlocksSecondaryAuthenticationProvider',
'sort' => 0,
],
'MediaWiki\\Auth\\ResetPasswordSecondaryAuthenticationProvider' => [
'class' => 'MediaWiki\\Auth\\ResetPasswordSecondaryAuthenticationProvider',
'sort' => 100,
],
'MediaWiki\\Auth\\EmailNotificationSecondaryAuthenticationProvider' => [
'class' => 'MediaWiki\\Auth\\EmailNotificationSecondaryAuthenticationProvider',
'services' => [
'DBLoadBalancerFactory',
],
'sort' => 200,
],
],
],
'RememberMe' => 'choose',
'ReauthenticateTime' => [
'default' => 3600,
],
'AllowSecuritySensitiveOperationIfCannotReauthenticate' => [
'default' => true,
],
'ChangeCredentialsBlacklist' => [
'MediaWiki\\Auth\\TemporaryPasswordAuthenticationRequest',
],
'RemoveCredentialsBlacklist' => [
'MediaWiki\\Auth\\PasswordAuthenticationRequest',
],
'InvalidPasswordReset' => true,
'PasswordDefault' => 'pbkdf2',
'PasswordConfig' => [
'A' => [
'class' => 'MediaWiki\\Password\\MWOldPassword',
],
'B' => [
'class' => 'MediaWiki\\Password\\MWSaltedPassword',
],
'pbkdf2-legacyA' => [
'class' => 'MediaWiki\\Password\\LayeredParameterizedPassword',
'types' => [
'A',
'pbkdf2',
],
],
'pbkdf2-legacyB' => [
'class' => 'MediaWiki\\Password\\LayeredParameterizedPassword',
'types' => [
'B',
'pbkdf2',
],
],
'bcrypt' => [
'class' => 'MediaWiki\\Password\\BcryptPassword',
'cost' => 9,
],
'pbkdf2' => [
'class' => 'MediaWiki\\Password\\Pbkdf2PasswordUsingOpenSSL',
'algo' => 'sha512',
'cost' => '30000',
'length' => '64',
],
'argon2' => [
'class' => 'MediaWiki\\Password\\Argon2Password',
'algo' => 'auto',
],
],
'PasswordResetRoutes' => [
'username' => true,
'email' => true,
],
'MaxSigChars' => 255,
'SignatureValidation' => 'warning',
'SignatureAllowedLintErrors' => [
'obsolete-tag',
],
'MaxNameChars' => 255,
'ReservedUsernames' => [
'MediaWiki default',
'Conversion script',
'Maintenance script',
'Template namespace initialisation script',
'ScriptImporter',
'Delete page script',
'Move page script',
'Command line script',
'Unknown user',
'msg:double-redirect-fixer',
'msg:usermessage-editor',
'msg:proxyblocker',
'msg:sorbs',
'msg:spambot_username',
'msg:autochange-username',
],
'DefaultUserOptions' => [
'ccmeonemails' => 0,
'date' => 'default',
'diffonly' => 0,
'diff-type' => 'table',
'disablemail' => 0,
'editfont' => 'monospace',
'editondblclick' => 0,
'editrecovery' => 0,
'editsectiononrightclick' => 0,
'email-allow-new-users' => 1,
'enotifminoredits' => 0,
'enotifrevealaddr' => 0,
'enotifusertalkpages' => 1,
'enotifwatchlistpages' => 1,
'extendwatchlist' => 1,
'fancysig' => 0,
'forceeditsummary' => 0,
'forcesafemode' => 0,
'gender' => 'unknown',
'hidecategorization' => 1,
'hideminor' => 0,
'hidepatrolled' => 0,
'imagesize' => 2,
'minordefault' => 0,
'newpageshidepatrolled' => 0,
'nickname' => '',
'norollbackdiff' => 0,
'prefershttps' => 1,
'previewonfirst' => 0,
'previewontop' => 1,
'pst-cssjs' => 1,
'rcdays' => 7,
'rcenhancedfilters-disable' => 0,
'rclimit' => 50,
'requireemail' => 0,
'search-match-redirect' => true,
'search-special-page' => 'Search',
'search-thumbnail-extra-namespaces' => true,
'searchlimit' => 20,
'showhiddencats' => 0,
'shownumberswatching' => 1,
'showrollbackconfirmation' => 0,
'skin' => false,
'skin-responsive' => 1,
'thumbsize' => 5,
'underline' => 2,
'useeditwarning' => 1,
'uselivepreview' => 0,
'usenewrc' => 1,
'watchcreations' => 1,
'watchdefault' => 1,
'watchdeletion' => 0,
'watchlistdays' => 7,
'watchlisthideanons' => 0,
'watchlisthidebots' => 0,
'watchlisthidecategorization' => 1,
'watchlisthideliu' => 0,
'watchlisthideminor' => 0,
'watchlisthideown' => 0,
'watchlisthidepatrolled' => 0,
'watchlistreloadautomatically' => 0,
'watchlistunwatchlinks' => 0,
'watchmoves' => 0,
'watchrollback' => 0,
'watchuploads' => 1,
'wlenhancedfilters-disable' => 0,
'wllimit' => 250,
],
'ConditionalUserOptions' => [
],
'HiddenPrefs' => [
],
'InvalidUsernameCharacters' => '@:>=',
'UserrightsInterwikiDelimiter' => '@',
'SecureLogin' => false,
'AuthenticationTokenVersion' => null,
'SessionProviders' => [
'MediaWiki\\Session\\CookieSessionProvider' => [
'class' => 'MediaWiki\\Session\\CookieSessionProvider',
'args' => [
[
'priority' => 30,
],
],
],
'MediaWiki\\Session\\BotPasswordSessionProvider' => [
'class' => 'MediaWiki\\Session\\BotPasswordSessionProvider',
'args' => [
[
'priority' => 75,
],
],
'services' => [
'GrantsInfo',
],
],
],
'AutoCreateTempUser' => [
'known' => false,
'enabled' => false,
'actions' => [
'edit',
],
'genPattern' => '~$1',
'matchPattern' => null,
'reservedPattern' => '~$1',
'serialProvider' => [
'type' => 'local',
'useYear' => true,
],
'serialMapping' => [
'type' => 'plain-numeric',
],
'expireAfterDays' => 90,
'notifyBeforeExpirationDays' => 10,
],
'AutoblockExpiry' => 86400,
'BlockAllowsUTEdit' => true,
'BlockCIDRLimit' => [
'IPv4' => 16,
'IPv6' => 19,
],
'BlockDisablesLogin' => false,
'EnablePartialActionBlocks' => false,
'EnableMultiBlocks' => false,
'BlockTargetMigrationStage' => 768,
'WhitelistRead' => false,
'WhitelistReadRegexp' => false,
'EmailConfirmToEdit' => false,
'HideIdentifiableRedirects' => true,
'GroupPermissions' => [
'*' => [
'createaccount' => true,
'read' => true,
'edit' => true,
'createpage' => true,
'createtalk' => true,
'viewmyprivateinfo' => true,
'editmyprivateinfo' => true,
'editmyoptions' => true,
],
'user' => [
'move' => true,
'move-subpages' => true,
'move-rootuserpages' => true,
'move-categorypages' => true,
'movefile' => true,
'read' => true,
'edit' => true,
'createpage' => true,
'createtalk' => true,
'upload' => true,
'reupload' => true,
'reupload-shared' => true,
'minoredit' => true,
'editmyusercss' => true,
'editmyuserjson' => true,
'editmyuserjs' => true,
'editmyuserjsredirect' => true,
'sendemail' => true,
'applychangetags' => true,
'changetags' => true,
'editcontentmodel' => true,
'viewmywatchlist' => true,
'editmywatchlist' => true,
],
'autoconfirmed' => [
'autoconfirmed' => true,
'editsemiprotected' => true,
],
'bot' => [
'bot' => true,
'autoconfirmed' => true,
'editsemiprotected' => true,
'nominornewtalk' => true,
'autopatrol' => true,
'suppressredirect' => true,
'apihighlimits' => true,
],
'sysop' => [
'block' => true,
'createaccount' => true,
'delete' => true,
'bigdelete' => true,
'deletedhistory' => true,
'deletedtext' => true,
'undelete' => true,
'editinterface' => true,
'editsitejson' => true,
'edituserjson' => true,
'import' => true,
'importupload' => true,
'move' => true,
'move-subpages' => true,
'move-rootuserpages' => true,
'move-categorypages' => true,
'patrol' => true,
'autopatrol' => true,
'protect' => true,
'editprotected' => true,
'rollback' => true,
'upload' => true,
'reupload' => true,
'reupload-shared' => true,
'unwatchedpages' => true,
'autoconfirmed' => true,
'editsemiprotected' => true,
'ipblock-exempt' => true,
'blockemail' => true,
'markbotedits' => true,
'apihighlimits' => true,
'browsearchive' => true,
'noratelimit' => true,
'movefile' => true,
'unblockself' => true,
'suppressredirect' => true,
'mergehistory' => true,
'managechangetags' => true,
'deletechangetags' => true,
],
'interface-admin' => [
'editinterface' => true,
'editsitecss' => true,
'editsitejson' => true,
'editsitejs' => true,
'editusercss' => true,
'edituserjson' => true,
'edituserjs' => true,
],
'bureaucrat' => [
'userrights' => true,
'noratelimit' => true,
'renameuser' => true,
],
'suppress' => [
'hideuser' => true,
'suppressrevision' => true,
'viewsuppressed' => true,
'suppressionlog' => true,
'deleterevision' => true,
'deletelogentry' => true,
],
],
'PrivilegedGroups' => [
'bureaucrat',
'interface-admin',
'suppress',
'sysop',
],
'RevokePermissions' => [
],
'GroupInheritsPermissions' => [
],
'ImplicitGroups' => [
'*',
'user',
'autoconfirmed',
],
'GroupsAddToSelf' => [
],
'GroupsRemoveFromSelf' => [
],
'RestrictionTypes' => [
'create',
'edit',
'move',
'upload',
],
'RestrictionLevels' => [
'',
'autoconfirmed',
'sysop',
],
'CascadingRestrictionLevels' => [
'sysop',
],
'SemiprotectedRestrictionLevels' => [
'autoconfirmed',
],
'NamespaceProtection' => [
],
'NonincludableNamespaces' => [
],
'AutoConfirmAge' => 0,
'AutoConfirmCount' => 0,
'Autopromote' => [
'autoconfirmed' => [
'&',
[
1,
null,
],
[
2,
null,
],
],
],
'AutopromoteOnce' => [
'onEdit' => [
],
],
'AutopromoteOnceLogInRC' => true,
'AddGroups' => [
],
'RemoveGroups' => [
],
'AvailableRights' => [
],
'ImplicitRights' => [
],
'DeleteRevisionsLimit' => 0,
'DeleteRevisionsBatchSize' => 1000,
'HideUserContribLimit' => 1000,
'AccountCreationThrottle' => [
[
'count' => 0,
'seconds' => 86400,
],
],
'TempAccountCreationThrottle' => [
[
'count' => 6,
'seconds' => 86400,
],
],
'TempAccountNameAcquisitionThrottle' => [
[
'count' => 60,
'seconds' => 86400,
],
],
'SpamRegex' => [
],
'SummarySpamRegex' => [
],
'EnableDnsBlacklist' => false,
'DnsBlacklistUrls' => [
],
'ProxyList' => [
],
'ProxyWhitelist' => [
],
'SoftBlockRanges' => [
],
'ApplyIpBlocksToXff' => false,
'RateLimits' => [
'edit' => [
'ip' => [
8,
60,
],
'newbie' => [
8,
60,
],
'user' => [
90,
60,
],
],
'move' => [
'newbie' => [
2,
120,
],
'user' => [
8,
60,
],
],
'upload' => [
'ip' => [
8,
60,
],
'newbie' => [
8,
60,
],
],
'rollback' => [
'user' => [
10,
60,
],
'newbie' => [
5,
120,
],
],
'mailpassword' => [
'ip' => [
5,
3600,
],
],
'sendemail' => [
'ip' => [
5,
86400,
],
'newbie' => [
5,
86400,
],
'user' => [
20,
86400,
],
],
'changeemail' => [
'ip-all' => [
10,
3600,
],
'user' => [
4,
86400,
],
],
'confirmemail' => [
'ip-all' => [
10,
3600,
],
'user' => [
4,
86400,
],
],
'purge' => [
'ip' => [
30,
60,
],
'user' => [
30,
60,
],
],
'linkpurge' => [
'ip' => [
30,
60,
],
'user' => [
30,
60,
],
],
'renderfile' => [
'ip' => [
700,
30,
],
'user' => [
700,
30,
],
],
'renderfile-nonstandard' => [
'ip' => [
70,
30,
],
'user' => [
70,
30,
],
],
'stashedit' => [
'ip' => [
30,
60,
],
'newbie' => [
30,
60,
],
],
'stashbasehtml' => [
'ip' => [
5,
60,
],
'newbie' => [
5,
60,
],
],
'changetags' => [
'ip' => [
8,
60,
],
'newbie' => [
8,
60,
],
],
'editcontentmodel' => [
'newbie' => [
2,
120,
],
'user' => [
8,
60,
],
],
],
'RateLimitsExcludedIPs' => [
],
'PutIPinRC' => true,
'QueryPageDefaultLimit' => 50,
'PasswordAttemptThrottle' => [
[
'count' => 5,
'seconds' => 300,
],
[
'count' => 150,
'seconds' => 172800,
],
],
'GrantPermissions' => [
'basic' => [
'autocreateaccount' => true,
'autoconfirmed' => true,
'autopatrol' => true,
'editsemiprotected' => true,
'ipblock-exempt' => true,
'nominornewtalk' => true,
'patrolmarks' => true,
'read' => true,
'unwatchedpages' => true,
],
'highvolume' => [
'bot' => true,
'apihighlimits' => true,
'noratelimit' => true,
'markbotedits' => true,
],
'import' => [
'import' => true,
'importupload' => true,
],
'editpage' => [
'edit' => true,
'minoredit' => true,
'applychangetags' => true,
'changetags' => true,
'editcontentmodel' => true,
'pagelang' => true,
],
'editprotected' => [
'edit' => true,
'minoredit' => true,
'applychangetags' => true,
'changetags' => true,
'editcontentmodel' => true,
'editprotected' => true,
],
'editmycssjs' => [
'edit' => true,
'minoredit' => true,
'applychangetags' => true,
'changetags' => true,
'editcontentmodel' => true,
'editmyusercss' => true,
'editmyuserjson' => true,
'editmyuserjs' => true,
],
'editmyoptions' => [
'editmyoptions' => true,
'editmyuserjson' => true,
],
'editinterface' => [
'edit' => true,
'minoredit' => true,
'applychangetags' => true,
'changetags' => true,
'editcontentmodel' => true,
'editinterface' => true,
'edituserjson' => true,
'editsitejson' => true,
],
'editsiteconfig' => [
'edit' => true,
'minoredit' => true,
'applychangetags' => true,
'changetags' => true,
'editcontentmodel' => true,
'editinterface' => true,
'edituserjson' => true,
'editsitejson' => true,
'editusercss' => true,
'edituserjs' => true,
'editsitecss' => true,
'editsitejs' => true,
],
'createeditmovepage' => [
'edit' => true,
'minoredit' => true,
'applychangetags' => true,
'changetags' => true,
'editcontentmodel' => true,
'createpage' => true,
'createtalk' => true,
'delete-redirect' => true,
'move' => true,
'move-rootuserpages' => true,
'move-subpages' => true,
'move-categorypages' => true,
'suppressredirect' => true,
],
'uploadfile' => [
'upload' => true,
'reupload-own' => true,
],
'uploadeditmovefile' => [
'upload' => true,
'reupload-own' => true,
'reupload' => true,
'reupload-shared' => true,
'upload_by_url' => true,
'movefile' => true,
'suppressredirect' => true,
],
'patrol' => [
'patrol' => true,
],
'rollback' => [
'rollback' => true,
],
'blockusers' => [
'block' => true,
'blockemail' => true,
],
'viewdeleted' => [
'browsearchive' => true,
'deletedhistory' => true,
'deletedtext' => true,
],
'viewrestrictedlogs' => [
'suppressionlog' => true,
],
'delete' => [
'edit' => true,
'minoredit' => true,
'applychangetags' => true,
'changetags' => true,
'editcontentmodel' => true,
'browsearchive' => true,
'deletedhistory' => true,
'deletedtext' => true,
'delete' => true,
'bigdelete' => true,
'deletelogentry' => true,
'deleterevision' => true,
'undelete' => true,
],
'oversight' => [
'suppressrevision' => true,
'viewsuppressed' => true,
],
'protect' => [
'edit' => true,
'minoredit' => true,
'applychangetags' => true,
'changetags' => true,
'editcontentmodel' => true,
'editprotected' => true,
'protect' => true,
],
'viewmywatchlist' => [
'viewmywatchlist' => true,
],
'editmywatchlist' => [
'editmywatchlist' => true,
],
'sendemail' => [
'sendemail' => true,
],
'createaccount' => [
'createaccount' => true,
],
'privateinfo' => [
'viewmyprivateinfo' => true,
],
'mergehistory' => [
'mergehistory' => true,
],
],
'GrantPermissionGroups' => [
'basic' => 'hidden',
'editpage' => 'page-interaction',
'createeditmovepage' => 'page-interaction',
'editprotected' => 'page-interaction',
'patrol' => 'page-interaction',
'uploadfile' => 'file-interaction',
'uploadeditmovefile' => 'file-interaction',
'sendemail' => 'email',
'viewmywatchlist' => 'watchlist-interaction',
'editviewmywatchlist' => 'watchlist-interaction',
'editmycssjs' => 'customization',
'editmyoptions' => 'customization',
'editinterface' => 'administration',
'editsiteconfig' => 'administration',
'rollback' => 'administration',
'blockusers' => 'administration',
'delete' => 'administration',
'viewdeleted' => 'administration',
'viewrestrictedlogs' => 'administration',
'protect' => 'administration',
'oversight' => 'administration',
'createaccount' => 'administration',
'mergehistory' => 'administration',
'import' => 'administration',
'highvolume' => 'high-volume',
'privateinfo' => 'private-information',
],
'GrantRiskGroups' => [
'basic' => 'low',
'editpage' => 'low',
'createeditmovepage' => 'low',
'editprotected' => 'vandalism',
'patrol' => 'low',
'uploadfile' => 'low',
'uploadeditmovefile' => 'low',
'sendemail' => 'security',
'viewmywatchlist' => 'low',
'editviewmywatchlist' => 'low',
'editmycssjs' => 'security',
'editmyoptions' => 'security',
'editinterface' => 'vandalism',
'editsiteconfig' => 'security',
'rollback' => 'low',
'blockusers' => 'vandalism',
'delete' => 'vandalism',
'viewdeleted' => 'vandalism',
'viewrestrictedlogs' => 'security',
'protect' => 'vandalism',
'oversight' => 'security',
'createaccount' => 'low',
'mergehistory' => 'vandalism',
'import' => 'security',
'highvolume' => 'low',
'privateinfo' => 'low',
],
'EnableBotPasswords' => true,
'BotPasswordsCluster' => false,
'BotPasswordsDatabase' => false,
'SecretKey' => false,
'AllowUserJs' => false,
'AllowUserCss' => false,
'AllowUserCssPrefs' => true,
'UseSiteJs' => true,
'UseSiteCss' => true,
'BreakFrames' => false,
'EditPageFrameOptions' => 'DENY',
'ApiFrameOptions' => 'DENY',
'CSPHeader' => false,
'CSPReportOnlyHeader' => false,
'CSPFalsePositiveUrls' => [
'https://3hub.co' => true,
'https://morepro.info' => true,
'https://p.ato.mx' => true,
'https://s.ato.mx' => true,
'https://adserver.adtech.de' => true,
'https://ums.adtechus.com' => true,
'https://cas.criteo.com' => true,
'https://cat.nl.eu.criteo.com' => true,
'https://atpixel.alephd.com' => true,
'https://rtb.metrigo.com' => true,
'https://d5p.de17a.com' => true,
'https://ad.lkqd.net/vpaid/vpaid.js' => true,
'https://ad.lkqd.net/vpaid/vpaid.js?fusion=1.0' => true,
'https://t.lkqd.net/t' => true,
'chrome-extension' => true,
],
'AllowCrossOrigin' => false,
'RestAllowCrossOriginCookieAuth' => false,
'SessionSecret' => false,
'CookieExpiration' => 2592000,
'ExtendedLoginCookieExpiration' => 15552000,
'CookieDomain' => '',
'CookiePath' => '/',
'CookieSecure' => 'detect',
'CookiePrefix' => false,
'CookieHttpOnly' => true,
'CookieSameSite' => null,
'CacheVaryCookies' => [
],
'SessionName' => false,
'CookieSetOnAutoblock' => true,
'CookieSetOnIpBlock' => true,
'DebugLogFile' => '',
'DebugLogPrefix' => '',
'DebugRedirects' => false,
'DebugRawPage' => false,
'DebugComments' => false,
'DebugDumpSql' => false,
'TrxProfilerLimits' => [
'GET' => [
'masterConns' => 0,
'writes' => 0,
'readQueryTime' => 5,
'readQueryRows' => 10000,
],
'POST' => [
'readQueryTime' => 5,
'writeQueryTime' => 1,
'readQueryRows' => 100000,
'maxAffected' => 1000,
],
'POST-nonwrite' => [
'writes' => 0,
'readQueryTime' => 5,
'readQueryRows' => 10000,
],
'PostSend-GET' => [
'readQueryTime' => 5,
'writeQueryTime' => 1,
'readQueryRows' => 10000,
'maxAffected' => 1000,
'masterConns' => 0,
'writes' => 0,
],
'PostSend-POST' => [
'readQueryTime' => 5,
'writeQueryTime' => 1,
'readQueryRows' => 100000,
'maxAffected' => 1000,
],
'JobRunner' => [
'readQueryTime' => 30,
'writeQueryTime' => 5,
'readQueryRows' => 100000,
'maxAffected' => 500,
],
'Maintenance' => [
'writeQueryTime' => 5,
'maxAffected' => 1000,
],
],
'DebugLogGroups' => [
],
'MWLoggerDefaultSpi' => [
'class' => 'MediaWiki\\Logger\\LegacySpi',
],
'ShowDebug' => false,
'SpecialVersionShowHooks' => false,
'ShowExceptionDetails' => false,
'LogExceptionBacktrace' => true,
'PropagateErrors' => true,
'ShowHostnames' => false,
'OverrideHostname' => false,
'DevelopmentWarnings' => false,
'DeprecationReleaseLimit' => false,
'Profiler' => [
],
'StatsdServer' => false,
'StatsdMetricPrefix' => 'MediaWiki',
'StatsTarget' => null,
'StatsFormat' => null,
'StatsPrefix' => 'mediawiki',
'OpenTelemetryConfig' => null,
'PageInfoTransclusionLimit' => 50,
'EnableJavaScriptTest' => false,
'CachePrefix' => false,
'DebugToolbar' => false,
'DisableTextSearch' => false,
'AdvancedSearchHighlighting' => false,
'SearchHighlightBoundaries' => '[\\p{Z}\\p{P}\\p{C}]',
'OpenSearchTemplates' => [
'application/x-suggestions+json' => false,
'application/x-suggestions+xml' => false,
],
'OpenSearchDefaultLimit' => 10,
'OpenSearchDescriptionLength' => 100,
'SearchSuggestCacheExpiry' => 1200,
'DisableSearchUpdate' => false,
'NamespacesToBeSearchedDefault' => [
true,
],
'DisableInternalSearch' => false,
'SearchForwardUrl' => null,
'SitemapNamespaces' => false,
'SitemapNamespacesPriorities' => false,
'EnableSearchContributorsByIP' => true,
'SpecialSearchFormOptions' => [
],
'SearchMatchRedirectPreference' => false,
'SearchRunSuggestedQuery' => true,
'Diff3' => '/usr/bin/diff3',
'Diff' => '/usr/bin/diff',
'PreviewOnOpenNamespaces' => [
14 => true,
],
'UniversalEditButton' => true,
'UseAutomaticEditSummaries' => true,
'CommandLineDarkBg' => false,
'ReadOnly' => null,
'ReadOnlyWatchedItemStore' => false,
'ReadOnlyFile' => false,
'UpgradeKey' => false,
'GitBin' => '/usr/bin/git',
'GitRepositoryViewers' => [
'https://(?:[a-z0-9_]+@)?gerrit.wikimedia.org/r/(?:p/)?(.*)' => 'https://gerrit.wikimedia.org/g/%R/+/%H',
'ssh://(?:[a-z0-9_]+@)?gerrit.wikimedia.org:29418/(.*)' => 'https://gerrit.wikimedia.org/g/%R/+/%H',
],
'RCMaxAge' => 7776000,
'WatchersMaxAge' => 15552000,
'UnwatchedPageSecret' => 1,
'RCFilterByAge' => false,
'RCLinkLimits' => [
50,
100,
250,
500,
],
'RCLinkDays' => [
1,
3,
7,
14,
30,
],
'RCFeeds' => [
],
'RCEngines' => [
'redis' => 'MediaWiki\\RCFeed\\RedisPubSubFeedEngine',
'udp' => 'MediaWiki\\RCFeed\\UDPRCFeedEngine',
],
'RCWatchCategoryMembership' => false,
'UseRCPatrol' => true,
'StructuredChangeFiltersLiveUpdatePollingRate' => 3,
'UseNPPatrol' => true,
'UseFilePatrol' => true,
'Feed' => true,
'FeedLimit' => 50,
'FeedCacheTimeout' => 60,
'FeedDiffCutoff' => 32768,
'OverrideSiteFeed' => [
],
'FeedClasses' => [
'rss' => 'MediaWiki\\Feed\\RSSFeed',
'atom' => 'MediaWiki\\Feed\\AtomFeed',
],
'AdvertisedFeedTypes' => [
'atom',
],
'RCShowWatchingUsers' => false,
'RCShowChangedSize' => true,
'RCChangedSizeThreshold' => 500,
'ShowUpdatedMarker' => true,
'DisableAnonTalk' => false,
'UseTagFilter' => true,
'SoftwareTags' => [
'mw-contentmodelchange' => true,
'mw-new-redirect' => true,
'mw-removed-redirect' => true,
'mw-changed-redirect-target' => true,
'mw-blank' => true,
'mw-replace' => true,
'mw-rollback' => true,
'mw-undo' => true,
'mw-manual-revert' => true,
'mw-reverted' => true,
'mw-server-side-upload' => true,
],
'UnwatchedPageThreshold' => false,
'RecentChangesFlags' => [
'newpage' => [
'letter' => 'newpageletter',
'title' => 'recentchanges-label-newpage',
'legend' => 'recentchanges-legend-newpage',
'grouping' => 'any',
],
'minor' => [
'letter' => 'minoreditletter',
'title' => 'recentchanges-label-minor',
'legend' => 'recentchanges-legend-minor',
'class' => 'minoredit',
'grouping' => 'all',
],
'bot' => [
'letter' => 'boteditletter',
'title' => 'recentchanges-label-bot',
'legend' => 'recentchanges-legend-bot',
'class' => 'botedit',
'grouping' => 'all',
],
'unpatrolled' => [
'letter' => 'unpatrolledletter',
'title' => 'recentchanges-label-unpatrolled',
'legend' => 'recentchanges-legend-unpatrolled',
'grouping' => 'any',
],
],
'WatchlistExpiry' => false,
'WatchlistPurgeRate' => 0.1,
'WatchlistExpiryMaxDuration' => '1 year',
'RightsPage' => null,
'RightsUrl' => null,
'RightsText' => null,
'RightsIcon' => null,
'UseCopyrightUpload' => false,
'MaxCredits' => 0,
'ShowCreditsIfMax' => true,
'ImportSources' => [
],
'ImportTargetNamespace' => null,
'ExportAllowHistory' => true,
'ExportMaxHistory' => 0,
'ExportAllowListContributors' => false,
'ExportMaxLinkDepth' => 0,
'ExportFromNamespaces' => false,
'ExportAllowAll' => false,
'ExportPagelistLimit' => 5000,
'XmlDumpSchemaVersion' => '0.11',
'WikiFarmSettingsDirectory' => null,
'WikiFarmSettingsExtension' => 'yaml',
'ExtensionFunctions' => [
],
'ExtensionMessagesFiles' => [
],
'MessagesDirs' => [
],
'TranslationAliasesDirs' => [
],
'ExtensionEntryPointListFiles' => [
],
'EnableParserLimitReporting' => true,
'ValidSkinNames' => [
],
'SpecialPages' => [
],
'ExtensionCredits' => [
],
'Hooks' => [
],
'ServiceWiringFiles' => [
],
'JobClasses' => [
'deletePage' => 'DeletePageJob',
'refreshLinks' => 'RefreshLinksJob',
'deleteLinks' => 'DeleteLinksJob',
'htmlCacheUpdate' => 'HTMLCacheUpdateJob',
'sendMail' => [
'class' => 'EmaillingJob',
'services' => [
'Emailer',
],
],
'enotifNotify' => 'EnotifNotifyJob',
'fixDoubleRedirect' => [
'class' => 'DoubleRedirectJob',
'services' => [
'RevisionLookup',
'MagicWordFactory',
'WikiPageFactory',
],
'needsPage' => true,
],
'AssembleUploadChunks' => 'AssembleUploadChunksJob',
'PublishStashedFile' => 'PublishStashedFileJob',
'ThumbnailRender' => 'ThumbnailRenderJob',
'UploadFromUrl' => 'UploadFromUrlJob',
'recentChangesUpdate' => 'RecentChangesUpdateJob',
'refreshLinksPrioritized' => 'RefreshLinksJob',
'refreshLinksDynamic' => 'RefreshLinksJob',
'activityUpdateJob' => 'MediaWiki\\Watchlist\\ActivityUpdateJob',
'categoryMembershipChange' => 'CategoryMembershipChangeJob',
'clearUserWatchlist' => 'MediaWiki\\Watchlist\\ClearUserWatchlistJob',
'watchlistExpiry' => 'MediaWiki\\Watchlist\\WatchlistExpiryJob',
'cdnPurge' => 'CdnPurgeJob',
'userGroupExpiry' => 'UserGroupExpiryJob',
'clearWatchlistNotifications' => 'MediaWiki\\Watchlist\\ClearWatchlistNotificationsJob',
'userOptionsUpdate' => 'UserOptionsUpdateJob',
'revertedTagUpdate' => 'RevertedTagUpdateJob',
'null' => 'NullJob',
'userEditCountInit' => 'UserEditCountInitJob',
'parsoidCachePrewarm' => [
'class' => 'ParsoidCachePrewarmJob',
'services' => [
'ParserOutputAccess',
'PageStore',
'RevisionLookup',
'ParsoidSiteConfig',
],
'needsPage' => false,
],
'renameUser' => [
'class' => 'MediaWiki\\RenameUser\\RenameUserJob',
'services' => [
'MainConfig',
'DBLoadBalancerFactory',
],
],
],
'JobTypesExcludedFromDefaultQueue' => [
'AssembleUploadChunks',
'PublishStashedFile',
'UploadFromUrl',
],
'JobBackoffThrottling' => [
],
'JobTypeConf' => [
'default' => [
'class' => 'JobQueueDB',
'order' => 'random',
'claimTTL' => 3600,
],
],
'JobQueueIncludeInMaxLagFactor' => false,
'SpecialPageCacheUpdates' => [
'Statistics' => [
'MediaWiki\\Deferred\\SiteStatsUpdate',
'cacheUpdate',
],
],
'PagePropLinkInvalidations' => [
'hiddencat' => 'categorylinks',
],
'CategoryMagicGallery' => true,
'CategoryPagingLimit' => 200,
'CategoryCollation' => 'uppercase',
'TempCategoryCollations' => [
],
'SortedCategories' => false,
'TrackingCategories' => [
],
'LogTypes' => [
'',
'block',
'protect',
'rights',
'delete',
'upload',
'move',
'import',
'patrol',
'merge',
'suppress',
'tag',
'managetags',
'contentmodel',
'renameuser',
],
'LogRestrictions' => [
'suppress' => 'suppressionlog',
],
'FilterLogTypes' => [
'patrol' => true,
'tag' => true,
'newusers' => false,
],
'LogNames' => [
'' => 'all-logs-page',
'block' => 'blocklogpage',
'protect' => 'protectlogpage',
'rights' => 'rightslog',
'delete' => 'dellogpage',
'upload' => 'uploadlogpage',
'move' => 'movelogpage',
'import' => 'importlogpage',
'patrol' => 'patrol-log-page',
'merge' => 'mergelog',
'suppress' => 'suppressionlog',
],
'LogHeaders' => [
'' => 'alllogstext',
'block' => 'blocklogtext',
'delete' => 'dellogpagetext',
'import' => 'importlogpagetext',
'merge' => 'mergelogpagetext',
'move' => 'movelogpagetext',
'patrol' => 'patrol-log-header',
'protect' => 'protectlogtext',
'rights' => 'rightslogtext',
'suppress' => 'suppressionlogtext',
'upload' => 'uploadlogpagetext',
],
'LogActions' => [
],
'LogActionsHandlers' => [
'block/block' => 'BlockLogFormatter',
'block/reblock' => 'BlockLogFormatter',
'block/unblock' => 'BlockLogFormatter',
'contentmodel/change' => 'ContentModelLogFormatter',
'contentmodel/new' => 'ContentModelLogFormatter',
'delete/delete' => 'DeleteLogFormatter',
'delete/delete_redir' => 'DeleteLogFormatter',
'delete/delete_redir2' => 'DeleteLogFormatter',
'delete/event' => 'DeleteLogFormatter',
'delete/restore' => 'DeleteLogFormatter',
'delete/revision' => 'DeleteLogFormatter',
'import/interwiki' => 'ImportLogFormatter',
'import/upload' => 'ImportLogFormatter',
'managetags/activate' => 'LogFormatter',
'managetags/create' => 'LogFormatter',
'managetags/deactivate' => 'LogFormatter',
'managetags/delete' => 'LogFormatter',
'merge/merge' => 'MergeLogFormatter',
'move/move' => 'MoveLogFormatter',
'move/move_redir' => 'MoveLogFormatter',
'patrol/patrol' => 'PatrolLogFormatter',
'patrol/autopatrol' => 'PatrolLogFormatter',
'protect/modify' => 'ProtectLogFormatter',
'protect/move_prot' => 'ProtectLogFormatter',
'protect/protect' => 'ProtectLogFormatter',
'protect/unprotect' => 'ProtectLogFormatter',
'renameuser/renameuser' => 'RenameuserLogFormatter',
'rights/autopromote' => 'RightsLogFormatter',
'rights/rights' => 'RightsLogFormatter',
'suppress/block' => 'BlockLogFormatter',
'suppress/delete' => 'DeleteLogFormatter',
'suppress/event' => 'DeleteLogFormatter',
'suppress/reblock' => 'BlockLogFormatter',
'suppress/revision' => 'DeleteLogFormatter',
'tag/update' => 'TagLogFormatter',
'upload/overwrite' => 'UploadLogFormatter',
'upload/revert' => 'UploadLogFormatter',
'upload/upload' => 'UploadLogFormatter',
],
'ActionFilteredLogs' => [
'block' => [
'block' => [
'block',
],
'reblock' => [
'reblock',
],
'unblock' => [
'unblock',
],
],
'contentmodel' => [
'change' => [
'change',
],
'new' => [
'new',
],
],
'delete' => [
'delete' => [
'delete',
],
'delete_redir' => [
'delete_redir',
'delete_redir2',
],
'restore' => [
'restore',
],
'event' => [
'event',
],
'revision' => [
'revision',
],
],
'import' => [
'interwiki' => [
'interwiki',
],
'upload' => [
'upload',
],
],
'managetags' => [
'create' => [
'create',
],
'delete' => [
'delete',
],
'activate' => [
'activate',
],
'deactivate' => [
'deactivate',
],
],
'move' => [
'move' => [
'move',
],
'move_redir' => [
'move_redir',
],
],
'newusers' => [
'create' => [
'create',
'newusers',
],
'create2' => [
'create2',
],
'autocreate' => [
'autocreate',
],
'byemail' => [
'byemail',
],
],
'protect' => [
'protect' => [
'protect',
],
'modify' => [
'modify',
],
'unprotect' => [
'unprotect',
],
'move_prot' => [
'move_prot',
],
],
'rights' => [
'rights' => [
'rights',
],
'autopromote' => [
'autopromote',
],
],
'suppress' => [
'event' => [
'event',
],
'revision' => [
'revision',
],
'delete' => [
'delete',
],
'block' => [
'block',
],
'reblock' => [
'reblock',
],
],
'upload' => [
'upload' => [
'upload',
],
'overwrite' => [
'overwrite',
],
'revert' => [
'revert',
],
],
],
'NewUserLog' => true,
'PageCreationLog' => true,
'AllowSpecialInclusion' => true,
'DisableQueryPageUpdate' => false,
'CountCategorizedImagesAsUsed' => false,
'MaxRedirectLinksRetrieved' => 500,
'RangeContributionsCIDRLimit' => [
'IPv4' => 16,
'IPv6' => 32,
],
'Actions' => [
],
'DefaultRobotPolicy' => 'index,follow',
'NamespaceRobotPolicies' => [
],
'ArticleRobotPolicies' => [
],
'ExemptFromUserRobotsControl' => null,
'DebugAPI' => false,
'APIModules' => [
],
'APIFormatModules' => [
],
'APIMetaModules' => [
],
'APIPropModules' => [
],
'APIListModules' => [
],
'APIMaxDBRows' => 5000,
'APIMaxResultSize' => 8388608,
'APIMaxUncachedDiffs' => 1,
'APIMaxLagThreshold' => 7,
'APIRequestLog' => false,
'APICacheHelpTimeout' => 3600,
'APIUselessQueryPages' => [
'MIMEsearch',
'LinkSearch',
],
'AjaxLicensePreview' => true,
'CrossSiteAJAXdomains' => [
],
'CrossSiteAJAXdomainExceptions' => [
],
'AllowedCorsHeaders' => [
'Accept',
'Accept-Language',
'Content-Language',
'Content-Type',
'Accept-Encoding',
'DNT',
'Origin',
'User-Agent',
'Api-User-Agent',
'Access-Control-Max-Age',
'Authorization',
],
'RestAPIAdditionalRouteFiles' => [
],
'MaxShellMemory' => 307200,
'MaxShellFileSize' => 102400,
'MaxShellTime' => 180,
'MaxShellWallClockTime' => 180,
'ShellCgroup' => false,
'PhpCli' => '/usr/bin/php',
'ShellRestrictionMethod' => 'autodetect',
'ShellboxUrls' => [
'default' => null,
],
'ShellboxSecretKey' => null,
2023-12-04 00:09:12 +00:00
'ShellboxShell' => '/bin/sh',
'HTTPTimeout' => 25,
'HTTPConnectTimeout' => 5.0,
'HTTPMaxTimeout' => 0,
'HTTPMaxConnectTimeout' => 0,
'HTTPImportTimeout' => 25,
'AsyncHTTPTimeout' => 25,
'HTTPProxy' => '',
'LocalVirtualHosts' => [
],
'LocalHTTPProxy' => false,
'AllowExternalReqID' => false,
'JobRunRate' => 1,
'RunJobsAsync' => false,
'UpdateRowsPerJob' => 300,
'UpdateRowsPerQuery' => 100,
'RedirectOnLogin' => null,
'VirtualRestConfig' => [
'paths' => [
],
'modules' => [
],
'global' => [
'timeout' => 360,
'forwardCookies' => false,
'HTTPProxy' => null,
],
],
'EventRelayerConfig' => [
'default' => [
'class' => 'Wikimedia\\EventRelayer\\EventRelayerNull',
],
],
'Pingback' => false,
'OriginTrials' => [
],
'ReportToExpiry' => 86400,
'ReportToEndpoints' => [
],
'FeaturePolicyReportOnly' => [
],
'SkinsPreferred' => [
'vector-2022',
'vector',
],
'SpecialContributeSkinsEnabled' => [
],
'EnableEditRecovery' => false,
'EditRecoveryExpiry' => 2592000,
'UseCodexSpecialBlock' => false,
'ShowLogoutConfirmation' => false,
'EnableProtectionIndicators' => false,
'OutputPipelineStages' => [
],
],
'type' => [
'ConfigRegistry' => 'object',
'AssumeProxiesUseDefaultProtocolPorts' => 'boolean',
'ForceHTTPS' => 'boolean',
'ExtensionDirectory' => [
'string',
'null',
],
'StyleDirectory' => [
'string',
'null',
],
'Logos' => [
'object',
'boolean',
],
'ReferrerPolicy' => [
'array',
'string',
'boolean',
],
'ActionPaths' => 'object',
'MainPageIsDomainRoot' => 'boolean',
'ImgAuthUrlPathMap' => 'object',
'LocalFileRepo' => [
'object',
'boolean',
],
'ForeignFileRepos' => 'array',
'UseSharedUploads' => 'boolean',
'SharedUploadDirectory' => [
'string',
'null',
],
'SharedUploadPath' => [
'string',
'null',
],
'HashedSharedUploadDirectory' => 'boolean',
'FetchCommonsDescriptions' => 'boolean',
'SharedUploadDBname' => [
'boolean',
'string',
],
'SharedUploadDBprefix' => 'string',
'CacheSharedUploads' => 'boolean',
'ForeignUploadTargets' => 'array',
'UploadDialog' => 'object',
'FileBackends' => 'object',
'LockManagers' => 'array',
'CopyUploadsDomains' => 'array',
'CopyUploadTimeout' => [
'boolean',
'integer',
],
'SharedThumbnailScriptPath' => [
'string',
'boolean',
],
'HashedUploadDirectory' => 'boolean',
'FileExtensions' => 'array',
'ProhibitedFileExtensions' => 'array',
'MimeTypeExclusions' => 'array',
'TrustedMediaFormats' => 'array',
'MediaHandlers' => 'object',
'NativeImageLazyLoading' => 'boolean',
'ParserTestMediaHandlers' => 'object',
'MaxInterlacingAreas' => 'object',
'SVGConverters' => 'object',
'SVGNativeRendering' => [
'string',
'boolean',
],
'MaxImageArea' => [
'string',
'integer',
'boolean',
],
'TiffThumbnailType' => 'array',
'GenerateThumbnailOnParse' => 'boolean',
'EnableAutoRotation' => [
'boolean',
'null',
],
'Antivirus' => [
'string',
'null',
],
'AntivirusSetup' => 'object',
'MimeDetectorCommand' => [
'string',
'null',
],
'XMLMimeTypes' => 'object',
'ImageLimits' => 'array',
'ThumbLimits' => 'array',
Introduce SearchResultThumbnailProvider & move hook + NS_FILE thumbs in What was previously a REST API-only feature (the thumbnails hook allowing for thumbnails for non-file pages via the PageImages extension) is now also being adopted in the main search page. That hook will now be called with NS_FILE result thumbnails pre-filled, which was not the case previously. PageImages essentially duplicated NS_FILE thumbnail logic that was already present in Special:Search, so that can (and will in a follow-up patch) then be removed there. Special:Search will then simply take whatever is produced from the provider (which will include both NS_FILE thumbs - which it handled already - as well as whatever else it receives from the hook), as will the REST API (which already received both) Since thumbnails can now come in for multiple namespaces & having some of those results with & others without a thumbnail can be quite jarring, it was decided that we'd display placeholder images (for certain namespaces). This is now controlled by $wgThumbnailNamespaces. I also split up a few things in FullSearchResultWidget:: generateFileHtml for more clarity. Meanwhile also updated mediawiki.special.search.styles.less to use variables for known colors. Also implemented a 'transform' (required for testing this change properly) and 'getDisplayWidthHeight' (it became needed after implementing transform) callback function for mock Files, and updated some existing tests in response to these changes. And some more Rest test files have been updated to allow passing around a HookContainer instead of only an array of hooks (from which a new HookContainer would then be created) to allow the same container to be used across all relevant objects, who may have it injected as dependency. Bug: T306883 Change-Id: I2a679b51758020d3e822da01a1bde1ae632b0b0a
2022-08-31 14:51:57 +00:00
'ThumbnailNamespaces' => 'array',
'ThumbnailBuckets' => [
'array',
'null',
],
'UploadThumbnailRenderMap' => 'object',
'GalleryOptions' => 'object',
'DjvuDump' => [
'string',
'null',
],
'DjvuRenderer' => [
'string',
'null',
],
'DjvuTxt' => [
'string',
'null',
],
'DjvuPostProcessor' => [
'string',
'null',
],
'SMTP' => [
'boolean',
'object',
],
'EnotifFromEditor' => 'boolean',
'EnotifRevealEditorAddress' => 'boolean',
'UsersNotifiedOnAllChanges' => 'object',
'DBmwschema' => [
'string',
'null',
],
'SharedTables' => 'array',
'DBservers' => [
'boolean',
'array',
],
'LBFactoryConf' => 'object',
'LocalDatabases' => 'array',
'VirtualDomainsMapping' => 'object',
'PageLinksSchemaMigrationStage' => 'integer',
'ExternalLinksDomainGaps' => 'object',
'ContentHandlers' => 'object',
'NamespaceContentModels' => 'object',
'TextModelsToParse' => 'array',
'ExternalStores' => 'array',
'ExternalServers' => 'object',
'DefaultExternalStore' => [
'array',
'boolean',
],
'RevisionCacheExpiry' => 'integer',
'RevisionSlotsCacheExpiry' => 'object',
'PageLanguageUseDB' => 'boolean',
'DiffEngine' => [
'string',
'null',
],
'ExternalDiffEngine' => [
'string',
'boolean',
],
'Wikidiff2Options' => 'object',
'RequestTimeLimit' => [
'integer',
'null',
],
'CriticalSectionTimeLimit' => 'number',
'PoolCounterConf' => [
'object',
'null',
],
'PoolCountClientConf' => 'object',
'MaxUserDBWriteDuration' => [
'integer',
'boolean',
],
'MaxJobDBWriteDuration' => [
'integer',
'boolean',
],
'MultiShardSiteStats' => 'boolean',
'ObjectCaches' => 'object',
objectcache: Remove $wgMainWANCache and $wgWANObjectCaches We always wrap the local cluster cache, and there are no subclasses of WANObjectCache. It was never documented or recommended how these would be used. It is a left-over from the original 2015 Multi-DC plan in which WANObjectCache would work differently. See task for details. Note that this requires no configuration changes, even in the theoretical case of these variables being used, as the only option is to use the main cache, and that's also the default. * Update WAN overrides to override the underlying main cache instead. * Fix EditPageTest which was previously implicitly using a 'hash' as main cache but also relying on wan cache to be 'none'. The part that it actually needs is the 'none'. When WAN cache is enabled, testUpdateNoMinor fails due to an edit conflict because one of the edits it makes is made with a current timestamp whereas it expects to simulate wpEdittime in the year 2012 which, when caching is enabled, is ignored and becomes the current time instead. I don't understand exactly why, but I'm going to conserve that behaviour for now. * Fix TemplateCategoriesTest, which was failing due to an unexpected cache hit: > [objectcache] fetchOrRegenerate(…:page:10:…): volatile hit This could be solved in a more realistic way by splitting the test, or by explicitly resetting services half-way the test to clear WikiPageFactory, PageStore and WANCache process state. For now, keep the prior behaviour of no cache in this test. Bug: T305093 Bug: T329680 Depends-On: If890622eed0d0f8b4bd73d36ba1815a3d760ea05 Depends-On: Ie1def75208822bdf19bb2cfd7e6edf32c2000e6b Depends-On: I35cce61dc3ee90dcee3dd6f0b36f84133be029ed Change-Id: I53781a8c06ebb2583f6ca83dd91bbfe8a5c88b13
2023-02-14 21:43:12 +00:00
'WANObjectCache' => 'object',
'MicroStashType' => [
'string',
'integer',
],
'ParsoidCacheConfig' => 'object',
'ParsoidSelectiveUpdateSampleRate' => 'integer',
'ParserCacheFilterConfig' => 'object',
'ChronologyProtectorSecret' => 'string',
'PHPSessionHandling' => 'string',
'SuspiciousIpExpiry' => [
'integer',
'boolean',
],
'MemCachedServers' => 'array',
'LocalisationCacheConf' => 'object',
'ExtensionInfoMTime' => [
'integer',
'boolean',
],
'CdnServers' => 'object',
'CdnServersNoPurge' => 'object',
'HTCPRouting' => 'object',
'GrammarForms' => 'object',
'ExtraInterlanguageLinkPrefixes' => 'array',
'InterlanguageLinkCodeMap' => 'object',
'ExtraLanguageNames' => 'object',
'ExtraLanguageCodes' => 'object',
'DummyLanguageCodes' => 'object',
'DisabledVariants' => 'object',
'ForceUIMsgAsContentMsg' => 'object',
'RawHtmlMessages' => 'array',
'AllowRawHtmlCopyrightMessages' => 'boolean',
'OverrideUcfirstCharacters' => 'object',
'XhtmlNamespaces' => 'object',
'BrowserFormatDetection' => 'string',
'SkinMetaTags' => 'object',
'SkipSkins' => 'object',
'FragmentMode' => 'array',
'FooterIcons' => 'object',
'InterwikiLogoOverride' => 'array',
'ResourceModules' => 'object',
'ResourceModuleSkinStyles' => 'object',
'ResourceLoaderSources' => 'object',
'ResourceLoaderMaxage' => 'object',
'ResourceLoaderMaxQueryLength' => [
'integer',
'boolean',
],
'CanonicalNamespaceNames' => 'object',
'ExtraNamespaces' => 'object',
'ExtraGenderNamespaces' => 'object',
'NamespaceAliases' => 'object',
'CapitalLinkOverrides' => 'object',
'NamespacesWithSubpages' => 'object',
'ContentNamespaces' => 'array',
'ShortPagesNamespaceExclusions' => 'array',
'ExtraSignatureNamespaces' => 'array',
'InvalidRedirectTargets' => 'array',
'LocalInterwikis' => 'array',
'InterwikiCache' => [
'boolean',
'object',
],
'SiteTypes' => 'object',
'UrlProtocols' => 'array',
'TidyConfig' => 'object',
'ParsoidSettings' => 'object',
'NoFollowNsExceptions' => 'array',
'NoFollowDomainExceptions' => 'array',
'EnableMagicLinks' => 'object',
'ManualRevertSearchRadius' => 'integer',
'RevertedTagMaxDepth' => 'integer',
'CentralIdLookupProviders' => 'object',
'CentralIdLookupProvider' => 'string',
'UserRegistrationProviders' => 'object',
'PasswordPolicy' => 'object',
'AuthManagerConfig' => [
'object',
'null',
],
'AuthManagerAutoConfig' => 'object',
'RememberMe' => 'string',
'ReauthenticateTime' => 'object',
'AllowSecuritySensitiveOperationIfCannotReauthenticate' => 'object',
'ChangeCredentialsBlacklist' => 'array',
'RemoveCredentialsBlacklist' => 'array',
'PasswordConfig' => 'object',
'PasswordResetRoutes' => 'object',
'SignatureAllowedLintErrors' => 'array',
'ReservedUsernames' => 'array',
'DefaultUserOptions' => 'object',
'ConditionalUserOptions' => 'object',
'HiddenPrefs' => 'array',
'AuthenticationTokenVersion' => [
'string',
'null',
],
'SessionProviders' => 'object',
'AutoCreateTempUser' => 'object',
'BlockCIDRLimit' => 'object',
'EnablePartialActionBlocks' => 'boolean',
'EnableMultiBlocks' => 'boolean',
'BlockTargetMigrationStage' => 'integer',
'GroupPermissions' => 'object',
'PrivilegedGroups' => 'array',
'RevokePermissions' => 'object',
'GroupInheritsPermissions' => 'object',
'ImplicitGroups' => 'array',
'GroupsAddToSelf' => 'object',
'GroupsRemoveFromSelf' => 'object',
'RestrictionTypes' => 'array',
'RestrictionLevels' => 'array',
'CascadingRestrictionLevels' => 'array',
'SemiprotectedRestrictionLevels' => 'array',
'NamespaceProtection' => 'object',
'NonincludableNamespaces' => 'object',
'Autopromote' => 'object',
'AutopromoteOnce' => 'object',
'AddGroups' => 'object',
'RemoveGroups' => 'object',
'AvailableRights' => 'array',
'ImplicitRights' => 'array',
'AccountCreationThrottle' => [
'integer',
'array',
],
'TempAccountCreationThrottle' => 'array',
'TempAccountNameAcquisitionThrottle' => 'array',
'SpamRegex' => 'array',
'SummarySpamRegex' => 'array',
'DnsBlacklistUrls' => 'array',
'ProxyList' => [
'string',
'array',
],
'ProxyWhitelist' => 'array',
'SoftBlockRanges' => 'array',
'RateLimits' => 'object',
'RateLimitsExcludedIPs' => 'array',
'PasswordAttemptThrottle' => 'array',
'GrantPermissions' => 'object',
'GrantPermissionGroups' => 'object',
'GrantRiskGroups' => 'object',
'EnableBotPasswords' => 'boolean',
'BotPasswordsCluster' => [
'string',
'boolean',
],
'BotPasswordsDatabase' => [
'string',
'boolean',
],
'CSPHeader' => [
'boolean',
'object',
],
'CSPReportOnlyHeader' => [
'boolean',
'object',
],
'CSPFalsePositiveUrls' => 'object',
'AllowCrossOrigin' => 'boolean',
'RestAllowCrossOriginCookieAuth' => 'boolean',
'CookieSameSite' => [
'string',
'null',
],
'CacheVaryCookies' => 'array',
'TrxProfilerLimits' => 'object',
'DebugLogGroups' => 'object',
'MWLoggerDefaultSpi' => 'object',
'Profiler' => 'object',
'StatsTarget' => [
'string',
'null',
],
'StatsFormat' => [
'string',
'null',
],
'StatsPrefix' => 'string',
'OpenTelemetryConfig' => [
'object',
'null',
],
'OpenSearchTemplates' => 'object',
'NamespacesToBeSearchedDefault' => 'object',
'SitemapNamespaces' => [
'boolean',
'array',
],
'SitemapNamespacesPriorities' => [
'boolean',
'object',
],
'SpecialSearchFormOptions' => 'object',
'SearchMatchRedirectPreference' => 'boolean',
'SearchRunSuggestedQuery' => 'boolean',
'PreviewOnOpenNamespaces' => 'object',
'ReadOnlyWatchedItemStore' => 'boolean',
'GitRepositoryViewers' => 'object',
'RCLinkLimits' => 'array',
'RCLinkDays' => 'array',
'RCFeeds' => 'object',
'RCEngines' => 'object',
'OverrideSiteFeed' => 'object',
'FeedClasses' => 'object',
'AdvertisedFeedTypes' => 'array',
'SoftwareTags' => 'object',
'RecentChangesFlags' => 'object',
'WatchlistExpiry' => 'boolean',
'WatchlistPurgeRate' => 'number',
'WatchlistExpiryMaxDuration' => [
'string',
'null',
],
'ImportSources' => 'object',
'ExtensionFunctions' => 'array',
'ExtensionMessagesFiles' => 'object',
'MessagesDirs' => 'object',
'TranslationAliasesDirs' => 'object',
'ExtensionEntryPointListFiles' => 'object',
'ValidSkinNames' => 'object',
'SpecialPages' => 'object',
'ExtensionCredits' => 'object',
'Hooks' => 'object',
'ServiceWiringFiles' => 'array',
'JobClasses' => 'object',
'JobTypesExcludedFromDefaultQueue' => 'array',
'JobBackoffThrottling' => 'object',
'JobTypeConf' => 'object',
'SpecialPageCacheUpdates' => 'object',
'PagePropLinkInvalidations' => 'object',
'TempCategoryCollations' => 'array',
'SortedCategories' => 'boolean',
'TrackingCategories' => 'array',
'LogTypes' => 'array',
'LogRestrictions' => 'object',
'FilterLogTypes' => 'object',
'LogNames' => 'object',
'LogHeaders' => 'object',
'LogActions' => 'object',
'LogActionsHandlers' => 'object',
'ActionFilteredLogs' => 'object',
'RangeContributionsCIDRLimit' => 'object',
'Actions' => 'object',
'NamespaceRobotPolicies' => 'object',
'ArticleRobotPolicies' => 'object',
'ExemptFromUserRobotsControl' => [
'array',
'null',
],
'APIModules' => 'object',
'APIFormatModules' => 'object',
'APIMetaModules' => 'object',
'APIPropModules' => 'object',
'APIListModules' => 'object',
'APIUselessQueryPages' => 'array',
'CrossSiteAJAXdomains' => 'object',
'CrossSiteAJAXdomainExceptions' => 'object',
'AllowedCorsHeaders' => 'array',
'RestAPIAdditionalRouteFiles' => 'array',
'ShellRestrictionMethod' => [
'string',
'boolean',
],
'ShellboxUrls' => 'object',
'ShellboxSecretKey' => [
'string',
'null',
],
2023-12-04 00:09:12 +00:00
'ShellboxShell' => [
'string',
'null',
2023-12-04 00:09:12 +00:00
],
'HTTPTimeout' => 'number',
'HTTPConnectTimeout' => 'number',
'HTTPMaxTimeout' => 'number',
'HTTPMaxConnectTimeout' => 'number',
'LocalVirtualHosts' => 'object',
'LocalHTTPProxy' => [
'string',
'boolean',
],
'VirtualRestConfig' => 'object',
'EventRelayerConfig' => 'object',
'Pingback' => 'boolean',
'OriginTrials' => 'array',
'ReportToExpiry' => 'integer',
'ReportToEndpoints' => 'array',
'FeaturePolicyReportOnly' => 'array',
'SkinsPreferred' => 'array',
'SpecialContributeSkinsEnabled' => 'array',
'EnableEditRecovery' => 'boolean',
'EditRecoveryExpiry' => 'integer',
'UseCodexSpecialBlock' => 'boolean',
'ShowLogoutConfirmation' => 'boolean',
'EnableProtectionIndicators' => 'boolean',
'OutputPipelineStages' => 'object',
],
'mergeStrategy' => [
'TiffThumbnailType' => 'replace',
'LBFactoryConf' => 'replace',
'InterwikiCache' => 'replace',
'PasswordPolicy' => 'array_replace_recursive',
'AuthManagerAutoConfig' => 'array_plus_2d',
'GroupPermissions' => 'array_plus_2d',
'RevokePermissions' => 'array_plus_2d',
'RateLimits' => 'array_plus_2d',
'GrantPermissions' => 'array_plus_2d',
'MWLoggerDefaultSpi' => 'replace',
'Profiler' => 'replace',
'Hooks' => 'array_merge_recursive',
'VirtualRestConfig' => 'array_plus_2d',
],
'dynamicDefault' => [
'UsePathInfo' => [
'callback' => [
'MediaWiki\\MainConfigSchema',
'getDefaultUsePathInfo',
],
],
'Script' => [
'use' => [
'ScriptPath',
],
'callback' => [
'MediaWiki\\MainConfigSchema',
'getDefaultScript',
],
],
'LoadScript' => [
'use' => [
'ScriptPath',
],
'callback' => [
'MediaWiki\\MainConfigSchema',
'getDefaultLoadScript',
],
],
'RestPath' => [
'use' => [
'ScriptPath',
],
'callback' => [
'MediaWiki\\MainConfigSchema',
'getDefaultRestPath',
],
],
'StylePath' => [
'use' => [
'ResourceBasePath',
],
'callback' => [
'MediaWiki\\MainConfigSchema',
'getDefaultStylePath',
],
],
'LocalStylePath' => [
'use' => [
'ScriptPath',
],
'callback' => [
'MediaWiki\\MainConfigSchema',
'getDefaultLocalStylePath',
],
],
'ExtensionAssetsPath' => [
'use' => [
'ResourceBasePath',
],
'callback' => [
'MediaWiki\\MainConfigSchema',
'getDefaultExtensionAssetsPath',
],
],
'ArticlePath' => [
'use' => [
'Script',
'UsePathInfo',
],
'callback' => [
'MediaWiki\\MainConfigSchema',
'getDefaultArticlePath',
],
],
'UploadPath' => [
'use' => [
'ScriptPath',
],
'callback' => [
'MediaWiki\\MainConfigSchema',
'getDefaultUploadPath',
],
],
'UploadDirectory' => [
'use' => [
'BaseDirectory',
],
'callback' => [
'MediaWiki\\MainConfigSchema',
'getDefaultUploadDirectory',
],
],
'FileCacheDirectory' => [
'use' => [
'UploadDirectory',
],
'callback' => [
'MediaWiki\\MainConfigSchema',
'getDefaultFileCacheDirectory',
],
],
'Logo' => [
'use' => [
'ResourceBasePath',
],
'callback' => [
'MediaWiki\\MainConfigSchema',
'getDefaultLogo',
],
],
'DeletedDirectory' => [
'use' => [
'UploadDirectory',
],
'callback' => [
'MediaWiki\\MainConfigSchema',
'getDefaultDeletedDirectory',
],
],
'LocalFileRepo' => [
'use' => [
'UploadDirectory',
'ScriptPath',
'Favicon',
'UploadBaseUrl',
'UploadPath',
'HashedUploadDirectory',
'ThumbnailScriptPath',
'GenerateThumbnailOnParse',
'DeletedDirectory',
'UpdateCompatibleMetadata',
],
'callback' => [
'MediaWiki\\MainConfigSchema',
'getDefaultLocalFileRepo',
],
],
'ShowEXIF' => [
'callback' => [
'MediaWiki\\MainConfigSchema',
'getDefaultShowEXIF',
],
],
'SharedPrefix' => [
'use' => [
'DBprefix',
],
'callback' => [
'MediaWiki\\MainConfigSchema',
'getDefaultSharedPrefix',
],
],
'SharedSchema' => [
'use' => [
'DBmwschema',
],
'callback' => [
'MediaWiki\\MainConfigSchema',
'getDefaultSharedSchema',
],
],
'DBerrorLogTZ' => [
'use' => [
'Localtimezone',
],
'callback' => [
'MediaWiki\\MainConfigSchema',
'getDefaultDBerrorLogTZ',
],
],
'Localtimezone' => [
'callback' => [
'MediaWiki\\MainConfigSchema',
'getDefaultLocaltimezone',
],
],
'LocalTZoffset' => [
'use' => [
'Localtimezone',
],
'callback' => [
'MediaWiki\\MainConfigSchema',
'getDefaultLocalTZoffset',
],
],
'ResourceBasePath' => [
'use' => [
'ScriptPath',
],
'callback' => [
'MediaWiki\\MainConfigSchema',
'getDefaultResourceBasePath',
],
],
'MetaNamespace' => [
'use' => [
'Sitename',
],
'callback' => [
'MediaWiki\\MainConfigSchema',
'getDefaultMetaNamespace',
],
],
'CookieSecure' => [
'use' => [
'ForceHTTPS',
],
'callback' => [
'MediaWiki\\MainConfigSchema',
'getDefaultCookieSecure',
],
],
'CookiePrefix' => [
'use' => [
'SharedDB',
'SharedPrefix',
'SharedTables',
'DBname',
'DBprefix',
],
'callback' => [
'MediaWiki\\MainConfigSchema',
'getDefaultCookiePrefix',
],
],
'ReadOnlyFile' => [
'use' => [
'UploadDirectory',
],
'callback' => [
'MediaWiki\\MainConfigSchema',
'getDefaultReadOnlyFile',
],
],
],
],
'config-schema' => [
'UploadStashScalerBaseUrl' => [
'deprecated' => 'since 1.36 Use thumbProxyUrl in $wgLocalFileRepo',
],
'IllegalFileChars' => [
'deprecated' => 'since 1.41; no longer customizable',
],
Introduce SearchResultThumbnailProvider & move hook + NS_FILE thumbs in What was previously a REST API-only feature (the thumbnails hook allowing for thumbnails for non-file pages via the PageImages extension) is now also being adopted in the main search page. That hook will now be called with NS_FILE result thumbnails pre-filled, which was not the case previously. PageImages essentially duplicated NS_FILE thumbnail logic that was already present in Special:Search, so that can (and will in a follow-up patch) then be removed there. Special:Search will then simply take whatever is produced from the provider (which will include both NS_FILE thumbs - which it handled already - as well as whatever else it receives from the hook), as will the REST API (which already received both) Since thumbnails can now come in for multiple namespaces & having some of those results with & others without a thumbnail can be quite jarring, it was decided that we'd display placeholder images (for certain namespaces). This is now controlled by $wgThumbnailNamespaces. I also split up a few things in FullSearchResultWidget:: generateFileHtml for more clarity. Meanwhile also updated mediawiki.special.search.styles.less to use variables for known colors. Also implemented a 'transform' (required for testing this change properly) and 'getDisplayWidthHeight' (it became needed after implementing transform) callback function for mock Files, and updated some existing tests in response to these changes. And some more Rest test files have been updated to allow passing around a HookContainer instead of only an array of hooks (from which a new HookContainer would then be created) to allow the same container to be used across all relevant objects, who may have it injected as dependency. Bug: T306883 Change-Id: I2a679b51758020d3e822da01a1bde1ae632b0b0a
2022-08-31 14:51:57 +00:00
'ThumbnailNamespaces' => [
'items' => [
'type' => 'integer',
],
],
'LocalDatabases' => [
'items' => [
'type' => 'string',
],
],
'ParserCacheFilterConfig' => [
'additionalProperties' => [
'type' => 'object',
'description' => 'A map of namespace IDs to filter definitions.',
'additionalProperties' => [
'type' => 'object',
'description' => 'A map of filter names to values.',
'properties' => [
'minCpuTime' => [
'type' => 'number',
],
],
],
],
],
'RawHtmlMessages' => [
'items' => [
'type' => 'string',
],
],
'InterwikiLogoOverride' => [
'items' => [
'type' => 'string',
],
],
'LegalTitleChars' => [
'deprecated' => 'since 1.41; use Extension:TitleBlacklist to customize',
],
'ParserEnableLegacyMediaDOM' => [
'deprecated' => 'since 1.41',
],
'UseContentMediaStyles' => [
'deprecated' => 'since 1.41',
],
'ReauthenticateTime' => [
'additionalProperties' => [
'type' => 'integer',
],
],
'AllowSecuritySensitiveOperationIfCannotReauthenticate' => [
'additionalProperties' => [
'type' => 'boolean',
],
],
'ChangeCredentialsBlacklist' => [
'items' => [
'type' => 'string',
],
],
'RemoveCredentialsBlacklist' => [
'items' => [
'type' => 'string',
],
],
'GroupPermissions' => [
'additionalProperties' => [
'type' => 'object',
'additionalProperties' => [
'type' => 'boolean',
],
],
],
'GroupInheritsPermissions' => [
'additionalProperties' => [
'type' => 'string',
],
],
'AvailableRights' => [
'items' => [
'type' => 'string',
],
],
'ImplicitRights' => [
'items' => [
'type' => 'string',
],
],
'SoftBlockRanges' => [
'items' => [
'type' => 'string',
],
],
'GrantPermissions' => [
'additionalProperties' => [
'type' => 'object',
'additionalProperties' => [
'type' => 'boolean',
],
],
],
'GrantPermissionGroups' => [
'additionalProperties' => [
'type' => 'string',
],
],
'SoftwareTags' => [
'additionalProperties' => [
'type' => 'boolean',
],
],
'JobBackoffThrottling' => [
'additionalProperties' => [
'type' => 'number',
],
],
'JobTypeConf' => [
'additionalProperties' => [
'type' => 'object',
'properties' => [
'class' => [
'type' => 'string',
],
'order' => [
'type' => 'string',
],
'claimTTL' => [
'type' => 'integer',
],
],
],
],
'TrackingCategories' => [
'deprecated' => 'since 1.25 Extensions should now register tracking categories using the new extension registration system.',
],
'RangeContributionsCIDRLimit' => [
'additionalProperties' => [
'type' => 'integer',
],
],
'APIRequestLog' => [
'deprecated' => 'since 1.43; use api or api-request $wgDebugLogGroups channel',
],
'ShellboxUrls' => [
'additionalProperties' => [
'type' => [
'string',
'boolean',
'null',
],
],
],
],
'obsolete-config' => [
'MangleFlashPolicy' => 'Since 1.39; no longer has any effect.',
'EnableOpenSearchSuggest' => 'Since 1.35, no longer used',
'AutoloadAttemptLowercase' => 'Since 1.40; no longer has any effect.',
],
];