mediawiki-extensions-Discus.../extension.json
Bartosz Dziewoński 7ef3bffb1e Show error on pages with fostered content to avoid page corruption in Parsoid
When the user clicks a "Reply" link on a page that is affected by the
'fostered' lint error (indicating fostered content in the HTML
representation), display an error and refuse to edit it, as Parsoid's
transformations will damage the page content.

The error message includes a link to documentation about lint errors,
and a link to the editor that will highlight the error location.

Depends-On: I723ec766d1244d117f8d624440026fe5af0d3403
Bug: T246481
Change-Id: Ic60cb58f98d10dc9b113469e5d3bbfb2d2b0564f
2020-04-21 17:40:39 +00:00

243 lines
7.5 KiB
JSON

{
"name": "DiscussionTools",
"license-name": "MIT",
"version": "0.0.0",
"url": "https://www.mediawiki.org/wiki/Extension:DiscussionTools",
"namemsg": "discussiontools",
"descriptionmsg": "discussiontools-desc",
"manifest_version": 2,
"requires": {
"MediaWiki": ">= 1.35.0",
"extensions": {
"VisualEditor": ">= 0.1.1"
}
},
"MessagesDirs": {
"DiscussionTools": [ "i18n" ]
},
"callback": "DiscussionToolsHooks::onRegistration",
"ResourceFileModulePaths": {
"localBasePath": "modules",
"remoteExtPath": "DiscussionTools/modules"
},
"ResourceModules": {
"ext.discussionTools.init": {
"packageFiles": [
"dt.init.js",
"controller.js",
{
"name": "controller/contLangMessages.json",
"callback": "DiscussionToolsData::getContentLanguageMessages",
"callbackParam": [
"discussiontools-defaultsummary-reply",
"discussiontools-replywidget-feedback-link"
]
},
{
"name": "controller/config.json",
"config": {
"useVisualEditor": "DiscussionToolsUseVisualEditor"
}
},
"logger.js",
"modifier.js",
"utils.js",
"parser.js",
"lib/moment-timezone/moment-timezone-with-data-1970-2030.js",
{
"name": "parser/data.json",
"callback": "DiscussionToolsData::getLocalData"
}
],
"styles": "dt.init.less",
"dependencies": [
"moment",
"rangefix",
"oojs-ui-windows",
"mediawiki.Title",
"mediawiki.Uri",
"mediawiki.util",
"ext.visualEditor.core.utils.parsing"
],
"messages": [
"discussiontools-error-lint",
"discussiontools-error-comment-disappeared",
"discussiontools-error-comment-is-transcluded",
"discussiontools-error-comment-is-transcluded-title",
"discussiontools-replylink",
"discussiontools-replywidget-loading"
]
},
"ext.discussionTools.debug": {
"packageFiles": [
"dt.debug.js",
"highlighter.js"
],
"styles": "highlighter.css",
"dependencies": [
"ext.discussionTools.init"
]
},
"ext.discussionTools.ReplyWidget": {
"packageFiles": [
"dt.ui.ReplyWidget.js"
],
"styles": [
"dt.ui.ReplyWidget.less"
],
"messages": [
"discussiontools-replywidget-anon-warning",
"discussiontools-replywidget-cancel",
"discussiontools-replywidget-feedback",
"discussiontools-replywidget-placeholder-reply",
"discussiontools-replywidget-preview",
"discussiontools-replywidget-reply",
"discussiontools-replywidget-terms-click",
"discussiontools-replywidget-transcluded"
],
"dependencies": [
"ext.discussionTools.init",
"mediawiki.widgets.AbandonEditDialog"
]
},
"ext.discussionTools.ReplyWidgetPlain": {
"packageFiles": [
"dt.ui.ReplyWidgetPlain.js"
],
"dependencies": [
"ext.discussionTools.ReplyWidget",
"oojs-ui-core",
"mediawiki.editfont.styles",
"mediawiki.user",
"mediawiki.jqueryMsg"
]
},
"ext.discussionTools.ReplyWidgetVisual": {
"packageFiles": [
"dt.ui.ReplyWidgetVisual.js",
"CommentTarget.js",
"CommentTargetWidget.js"
],
"styles": [
"CommentTargetWidget.less"
],
"dependencies": [
"ext.discussionTools.ReplyWidget",
"ext.visualEditor.mwcore",
"ext.visualEditor.mwwikitext",
"ext.visualEditor.core.desktop",
"ext.visualEditor.desktopTarget",
"ext.visualEditor.mwextensions.desktop"
]
}
},
"QUnitTestModule": {
"localBasePath": "tests/qunit",
"remoteExtPath": "DiscussionTools/tests/qunit",
"packageFiles": [
"index.js",
"testUtils.js",
{
"name": "data-en.json",
"callback": "DiscussionToolsData::getLocalData",
"callbackParam": "en"
},
"data/arwiki-config.json",
"data/arwiki-data.json",
"data/enwiki-config.json",
"data/enwiki-data.json",
"data/huwiki-config.json",
"data/huwiki-data.json",
"data/nlwiki-config.json",
"data/nlwiki-data.json",
"data/plwiki-config.json",
"data/plwiki-data.json",
"cases/en-big-oldparser/en-big-oldparser.json",
"cases/en-big-parsoid/en-big-parsoid.json",
"cases/en-big-parsoid/en-big-parsoid-transcludedFrom.json",
"cases/en-bigafd-parsoid/en-bigafd-parsoid-transcludedFrom.json",
"cases/transclusions/transclusions-transcludedFrom.json",
"cases/pl-big-oldparser/pl-big-oldparser.json",
"cases/pl-big-parsoid/pl-big-parsoid.json",
"cases/ar-no-paragraph-oldparser/ar-no-paragraph-oldparser.json",
"cases/ar-no-paragraph-parsoid/ar-no-paragraph-parsoid.json",
"cases/no-heading/no-heading.json",
"cases/lrm-signature/lrm-signature.json",
"cases/fallback-encoding-link/fallback-encoding-link.json",
"modifier.test.js",
"controller.test.js",
"parser.test.js"
],
"templates": [
"cases/en-big-oldparser/en-big-oldparser.html",
"cases/en-big-oldparser/en-big-oldparser-modified.html",
"cases/en-big-oldparser/en-big-oldparser-reply.html",
"cases/en-big-parsoid/en-big-parsoid.html",
"cases/en-big-parsoid/en-big-parsoid-modified.html",
"cases/en-bigafd-parsoid/en-bigafd-parsoid.html",
"cases/transclusions/transclusions.html",
"cases/pl-big-oldparser/pl-big-oldparser.html",
"cases/pl-big-oldparser/pl-big-oldparser-modified.html",
"cases/pl-big-oldparser/pl-big-oldparser-reply.html",
"cases/pl-big-parsoid/pl-big-parsoid.html",
"cases/pl-big-parsoid/pl-big-parsoid-modified.html",
"cases/ar-no-paragraph-oldparser/ar-no-paragraph-oldparser.html",
"cases/ar-no-paragraph-oldparser/ar-no-paragraph-oldparser-modified.html",
"cases/ar-no-paragraph-oldparser/ar-no-paragraph-oldparser-reply.html",
"cases/ar-no-paragraph-parsoid/ar-no-paragraph-parsoid.html",
"cases/ar-no-paragraph-parsoid/ar-no-paragraph-parsoid-modified.html",
"cases/no-heading/no-heading.html",
"cases/lrm-signature/lrm-signature.html",
"cases/fallback-encoding-link/fallback-encoding-link.html",
"cases/split-list/split-list.html",
"cases/split-list/split-list-modified.html",
"cases/split-list2/split-list2.html",
"cases/split-list2/split-list2-modified.html",
"cases/signatures-funny/signatures-funny.html",
"cases/signatures-funny/signatures-funny-modified.html",
"cases/signatures-funny/signatures-funny-reply.html"
],
"dependencies": [
"ext.discussionTools.init"
]
},
"AutoloadClasses": {
"DiscussionToolsData": "includes/DiscussionToolsData.php",
"DiscussionToolsHooks": "includes/DiscussionToolsHooks.php"
},
"Hooks": {
"BeforePageDisplay": "DiscussionToolsHooks::onBeforePageDisplay",
"ResourceLoaderGetConfigVars": "DiscussionToolsHooks::onResourceLoaderGetConfigVars",
"GetBetaFeaturePreferences": "DiscussionToolsHooks::onGetBetaPreferences",
"ListDefinedTags": "DiscussionToolsHooks::onListDefinedTags",
"ChangeTagsListActive": "DiscussionToolsHooks::onListDefinedTags",
"RecentChange_save": "DiscussionToolsHooks::onRecentChangeSave"
},
"config": {
"DiscussionToolsEnable": {
"value": true,
"description": "Enable DiscussionTools on talk pages."
},
"DiscussionToolsBeta": {
"value": false,
"description": "Make DiscussionTools a BetaFeature."
},
"DiscussionToolsUseVisualEditor": {
"value": false,
"description": "Use VisualEditor for editing replies (both visual and wikitext)."
},
"DTSchemaEditAttemptStepSamplingRate": {
"value": false,
"description": "Rate at which to sample sessions for instrumentation; overrides WikimediaEvents rate if set"
},
"DTSchemaEditAttemptStepOversample": {
"value": false,
"description": "Oversample EditAttemptStep logging; distinct from rate tuning, as it'll flag the events as being oversampled"
}
},
"ConfigRegistry": {
"discussiontools": "GlobalVarConfig::newInstance"
},
"type": "other"
}