mediawiki-extensions-Popups/extension.json
Func addb8a02d7 Use null for default user options value of beta features
The new soft auto-enroll logic of BetaFeatures requires user options
default to null or no default values since it needs to save opt-out
values.
Unfortunately, BetaFeatures can't maintain default options itself, since
the GetBetaFeaturePreferences hook is coupled with User, can't be run
in the handler of UserGetDefaultOptions hook.
All the user options will be handled by BetaFeatures carefully, no
unnecessary values will be saved (no regression of T291748).

Needed by change I93af61153ec3c2cd3ec7686fe88067eed6766b5a, and they
should be merged in the same deploy train.

Bug: T260870
Change-Id: I1e9a91eed2e2eb22ce42f8d79b7183c505f1df7d
2022-02-01 11:53:03 +00:00

241 lines
7.6 KiB
JSON

{
"name": "Popups",
"namemsg": "popups-message",
"author": [
"Prateek Saxena",
"[https://www.mediawiki.org/wiki/Reading/Web/Team Readers Web Team]",
"Yair Rand"
],
"url": "https://www.mediawiki.org/wiki/Extension:Popups",
"descriptionmsg": "popups-desc",
"license-name": "GPL-2.0-or-later",
"requires": {
"MediaWiki": ">= 1.34.0"
},
"AutoloadNamespaces": {
"Popups\\": "includes/"
},
"ConfigRegistry": {
"popups": "GlobalVarConfig::newInstance"
},
"Hooks": {
"BeforePageDisplay": "Popups\\PopupsHooks::onBeforePageDisplay",
"ResourceLoaderGetConfigVars": "Popups\\PopupsHooks::onResourceLoaderGetConfigVars",
"GetPreferences": "Popups\\PopupsHooks::onGetPreferences",
"UserGetDefaultOptions": "Popups\\PopupsHooks::onUserGetDefaultOptions",
"MakeGlobalVariablesScript": "Popups\\PopupsHooks::onMakeGlobalVariablesScript",
"LocalUserCreated": "Popups\\PopupsHooks::onLocalUserCreated",
"GetBetaFeaturePreferences": "Popups\\PopupsHooks::onGetBetaFeaturePreferences"
},
"MessagesDirs": {
"Popups": [
"i18n"
]
},
"attributes": {
"EventLogging": {
"Schemas": {
"ReferencePreviewsPopups": "/analytics/legacy/referencepreviewspopups/1.0.0",
"VirtualPageView": "/analytics/legacy/virtualpageview/1.0.0"
}
}
},
"config": {
"PopupsVirtualPageViews": {
"description": "@var bool: Whether the extension should log virtual pageviews.",
"value": false
},
"PopupsHideOptInOnPreferencesPage": {
"description": "@var bool: Whether the option to enable/disable Page Previews should be hidden on Preferences page. False by default",
"value": false
},
"PopupsOptInDefaultState": {
"description": "@var string:['1'|'0'] Default Page Previews visibility for old accounts. Has to be a string as a compatibility with beta feature settings. For more info see @T191888",
"value": "1"
},
"PopupsOptInStateForNewAccounts": {
"description": "@var string:['1'|'0'] Default Page Previews visibility for newly created accounts (from Q2 2018). For more info see @T191888",
"value": "1"
},
"PopupsConflictingNavPopupsGadgetName": {
"description": "@var string: Navigation popups gadget name",
"value": "Navigation_popups"
},
"PopupsConflictingRefTooltipsGadgetName": {
"description": "@var string: Name of a gadget that would cause duplicate reference preview popups. Known conflicting gadgets include \"ReferenceTooltips\", \"CiteTooltip\" alias \"RefTooltip\", \"ReferencePopups\", and \"tooltipRef\" (see T274353).",
"value": "ReferenceTooltips"
},
"PopupsGateway": {
"description": "Which gateway to use for fetching Popups data. Available options: [mwApiPlain|restbasePlain|restbaseHTML]. Full and always up to date list is available in src/gateway/index.js",
"value": "mwApiPlain"
},
"PopupsRestGatewayEndpoint": {
"description": "Specify a REST endpoint where summaries should be sourced from. Endpoint must meet the spec at https://www.mediawiki.org/wiki/Specs/Summary/1.2.0",
"value": "/api/rest_v1/page/summary/"
},
"PopupsReferencePreviews": {
"description": "Temporary feature flag to disable reference previews during developement.",
"value": true
},
"PopupsReferencePreviewsBetaFeature": {
"description": "Make Reference Previews a Beta feature.",
"value": true
},
"PopupsStatsvSamplingRate": {
"description": "Sampling rate for logging performance data to statsv.",
"value": 0
},
"PopupsPageDisabled": {
"description": "List of pages that should not show Popups. Includes subpages. These pages are subject to the HTML cache policy of the wiki. A purge on these pages maybe needed to see the effect of this configuration variable. Every excluded page should be defined by a canonical name, eg: Special:Userlogin",
"value": [
"Special:CreateAccount",
"Special:GlobalRenameRequest",
"Special:Userlogin",
"Special:MergeAccount",
"Special:ChangeCredentials",
"Special:OAuthListConsumers",
"Special:GlobalUserRights",
"Special:Notifications",
"Special:UserRights",
"Special:Upload",
"Special:VipsTest",
"Special:ApiFeatureUsage",
"Special:ExpandTemplates",
"Special:GadgetUsage",
"Special:GraphSandbox",
"Special:TemplateSandbox",
"Special:MostLinkedFiles",
"Special:Book"
]
},
"PopupsTextExtractsIntroOnly": {
"description": "Whether we should extract intro text only or full page text. This is only applicable when using PopupsGateway=mwApiPlain.",
"value": true
}
},
"ResourceModules": {
"ext.popups.icons": {
"class": "ResourceLoaderOOUIIconPackModule",
"icons": [
"infoFilled",
"settings"
]
},
"ext.popups.images": {
"selector": ".mw-ui-icon-{name}:before",
"class": "ResourceLoaderImageModule",
"images": {
"popups-close": "resources/ext.popups.images/close.svg",
"preview-generic": {
"file": {
"ltr": "resources/ext.popups.images/sad-face-ltr.svg",
"rtl": "resources/ext.popups.images/sad-face-rtl.svg"
}
},
"footer": {
"file": {
"ltr": "resources/ext.popups.images/footer-ltr.svg",
"rtl": "resources/ext.popups.images/footer-rtl.svg"
}
},
"preview-disambiguation": {
"file": {
"ltr": "resources/ext.popups.images/articles-ltr.svg",
"rtl": "resources/ext.popups.images/articles-rtl.svg"
}
},
"reference-generic": "resources/ext.popups.images/reference.svg",
"reference-book": {
"file": {
"ltr": "resources/ext.popups.images/book-ltr.svg",
"rtl": "resources/ext.popups.images/book-rtl.svg"
}
},
"reference-journal": {
"file": {
"ltr": "resources/ext.popups.images/journal-ltr.svg",
"rtl": "resources/ext.popups.images/journal-rtl.svg"
}
},
"reference-news": {
"file": {
"ltr": "resources/ext.popups.images/newspaper-ltr.svg",
"rtl": "resources/ext.popups.images/newspaper-rtl.svg"
}
},
"reference-web": {
"file": {
"ltr": "resources/ext.popups.images/browser-ltr.svg",
"rtl": "resources/ext.popups.images/browser-rtl.svg"
}
}
}
},
"ext.popups": {
"targets": [ "desktop", "mobile" ],
"scripts": [
"resources/ext.popups/index.js"
]
},
"ext.popups.main": {
"targets": [ "desktop", "mobile" ],
"scripts": [
"resources/dist/index.js"
],
"styles": [
"src/ui/index.less"
],
"messages": [
"popups-settings-title",
"popups-settings-option-page",
"popups-settings-option-page-description",
"popups-settings-option-reference",
"popups-settings-option-reference-description",
"popups-settings-save",
"popups-settings-cancel",
"popups-settings-enable",
"popups-settings-icon-gear-title",
"popups-settings-help",
"popups-settings-help-ok",
"popups-preview-no-preview",
"popups-preview-footer-read",
"popups-preview-disambiguation",
"popups-preview-disambiguation-link",
"popups-refpreview-reference",
"popups-refpreview-book",
"popups-refpreview-journal",
"popups-refpreview-news",
"popups-refpreview-note",
"popups-refpreview-web",
"popups-refpreview-collapsible-placeholder"
],
"dependencies": [
"ext.popups.icons",
"ext.popups.images",
"mediawiki.experiments",
"mediawiki.jqueryMsg",
"mediawiki.storage",
"mediawiki.Title",
"mediawiki.ui.button",
"mediawiki.ui.checkbox",
"mediawiki.ui.icon",
"mediawiki.Uri",
"mediawiki.user",
"mediawiki.util"
]
}
},
"ResourceFileModulePaths": {
"localBasePath": "",
"remoteExtPath": "Popups"
},
"ServiceWiringFiles": [
"includes/ServiceWiring.php"
],
"DefaultUserOptions": {
"popupsreferencepreviews": null,
"popups-reference-previews": 0
},
"manifest_version": 2
}