| { | |
| "name": "Echo", | |
| "author": [ | |
| "Andrew Garrett", | |
| "Ryan Kaldari", | |
| "Benny Situ", | |
| "Luke Welling", | |
| "Kunal Mehta", | |
| "Moriel Schottlender", | |
| "Jon Robson", | |
| "Roan Kattouw" | |
| ], | |
| "url": "https://www.mediawiki.org/wiki/Extension:Echo", | |
| "descriptionmsg": "echo-desc", | |
| "license-name": "MIT", | |
| "type": "specialpage", | |
| "requires": { | |
| "MediaWiki": ">= 1.46" | |
| }, | |
| "APIMetaModules": { | |
| "notifications": { | |
| "class": "MediaWiki\\Extension\\Notifications\\Api\\ApiEchoNotifications", | |
| "services": [ | |
| "EchoAttributeManager", | |
| "MainConfig", | |
| "JsonCodec" | |
| ] | |
| }, | |
| "unreadnotificationpages": { | |
| "class": "MediaWiki\\Extension\\Notifications\\Api\\ApiEchoUnreadNotificationPages", | |
| "services": [ | |
| "EchoAttributeManager", | |
| "PageStore", | |
| "TitleFactory" | |
| ] | |
| } | |
| }, | |
| "APIModules": { | |
| "echomarkread": "MediaWiki\\Extension\\Notifications\\Api\\ApiEchoMarkRead", | |
| "echomarkseen": "MediaWiki\\Extension\\Notifications\\Api\\ApiEchoMarkSeen", | |
| "echocreateevent": { | |
| "class": "MediaWiki\\Extension\\Notifications\\Api\\ApiEchoCreateEvent", | |
| "services": [ | |
| "UserNameUtils" | |
| ] | |
| }, | |
| "echoarticlereminder": "MediaWiki\\Extension\\Notifications\\Api\\ApiEchoArticleReminder", | |
| "echomute": { | |
| "class": "MediaWiki\\Extension\\Notifications\\Api\\ApiEchoMute", | |
| "services": [ | |
| "CentralIdLookup", | |
| "LinkBatchFactory", | |
| "UserOptionsManager" | |
| ] | |
| } | |
| }, | |
| "DefaultUserOptions": { | |
| "echo-email-frequency": 0, | |
| "echo-dont-email-read-notifications": false | |
| }, | |
| "ConditionalUserOptions": { | |
| "echo-subscriptions-web-reverted": [ | |
| [ | |
| false, | |
| [ | |
| "registered-after", | |
| "20240208200000" | |
| ] | |
| ] | |
| ], | |
| "echo-subscriptions-web-article-linked": [ | |
| [ | |
| true, | |
| [ | |
| "registered-after", | |
| "20240208200000" | |
| ] | |
| ] | |
| ], | |
| "echo-subscriptions-email-mention": [ | |
| [ | |
| true, | |
| [ | |
| "registered-after", | |
| "20240208200000" | |
| ] | |
| ] | |
| ], | |
| "echo-subscriptions-email-article-linked": [ | |
| [ | |
| true, | |
| [ | |
| "registered-after", | |
| "20240208200000" | |
| ] | |
| ] | |
| ] | |
| }, | |
| "ExtensionFunctions": [ | |
| "MediaWiki\\Extension\\Notifications\\Hooks::initEchoExtension" | |
| ], | |
| "JobClasses": { | |
| "EchoNotificationJob": "MediaWiki\\Extension\\Notifications\\Jobs\\NotificationJob", | |
| "EchoNotificationDeleteJob": { | |
| "class": "MediaWiki\\Extension\\Notifications\\Jobs\\NotificationDeleteJob", | |
| "services": [ | |
| "JobQueueGroup" | |
| ] | |
| }, | |
| "EchoPushNotificationRequest": "MediaWiki\\Extension\\Notifications\\Push\\NotificationRequestJob" | |
| }, | |
| "SpecialPages": { | |
| "Notifications": "MediaWiki\\Extension\\Notifications\\Special\\SpecialNotifications", | |
| "DisplayNotificationsConfiguration": { | |
| "class": "MediaWiki\\Extension\\Notifications\\Special\\SpecialDisplayNotificationsConfiguration", | |
| "services": [ | |
| "EchoAttributeManager", | |
| "UserOptionsManager" | |
| ] | |
| }, | |
| "NotificationsMarkRead": "MediaWiki\\Extension\\Notifications\\Special\\SpecialNotificationsMarkRead" | |
| }, | |
| "NotificationHandlers": [ | |
| { | |
| "types": [ | |
| "*" | |
| ], | |
| "class": "MediaWiki\\Extension\\Notifications\\EchoNotificationHandler" | |
| } | |
| ], | |
| "AvailableRights": [ | |
| "manage-all-push-subscriptions", | |
| "echo-create", | |
| "echo-read-notifications" | |
| ], | |
| "GrantPermissions": { | |
| "echo-read-notifications": { | |
| "echo-read-notifications": true | |
| } | |
| }, | |
| "GrantPermissionGroups": { | |
| "echo-read-notifications": "private-information" | |
| }, | |
| "GrantRiskGroups": { | |
| "echo-read-notifications": "low" | |
| }, | |
| "GroupPermissions": { | |
| "*": { | |
| "echo-read-notifications": true | |
| }, | |
| "push-subscription-manager": { | |
| "manage-all-push-subscriptions": true | |
| } | |
| }, | |
| "MessagesDirs": { | |
| "Echo": [ | |
| "i18n", | |
| "i18n/api" | |
| ] | |
| }, | |
| "ExtensionMessagesFiles": { | |
| "EchoAliases": "Echo.alias.php" | |
| }, | |
| "QUnitTestModule": { | |
| "localBasePath": "", | |
| "remoteExtPath": "Echo", | |
| "dependencies": [ | |
| "ext.echo.dm" | |
| ], | |
| "scripts": [ | |
| "tests/qunit/model/test_mw.echo.dm.BundleNotificationItem.js", | |
| "tests/qunit/model/test_mw.echo.dm.CrossWikiNotificationItem.js", | |
| "tests/qunit/model/test_mw.echo.dm.FiltersModel.js", | |
| "tests/qunit/model/test_mw.echo.dm.NotificationGroupsList.js", | |
| "tests/qunit/model/test_mw.echo.dm.NotificationItem.js", | |
| "tests/qunit/model/test_mw.echo.dm.NotificationsList.js", | |
| "tests/qunit/model/test_mw.echo.dm.PaginationModel.js", | |
| "tests/qunit/model/test_mw.echo.dm.SeenTimeModel.js", | |
| "tests/qunit/model/test_mw.echo.dm.SourcePagesModel.js", | |
| "tests/qunit/model/test_mw.echo.dm.UnreadNotificationCounter.js" | |
| ] | |
| }, | |
| "ResourceModules": { | |
| "ext.echo.ui.desktop": { | |
| "scripts": [ | |
| "ui/mw.echo.ui.BadgeLinkController.js", | |
| "ui/mw.echo.ui.NotificationBadgeController.js" | |
| ], | |
| "styles": [ | |
| "styles/mw.echo.ui.NotificationBadgeController.less" | |
| ], | |
| "dependencies": [ | |
| "ext.echo.ui", | |
| "ext.echo.styles.badge", | |
| "mediawiki.util", | |
| "mediawiki.user", | |
| "mediawiki.api" | |
| ] | |
| }, | |
| "ext.echo.ui": { | |
| "scripts": [ | |
| "controller/mw.echo.Controller.js", | |
| "ui/mw.echo.ui.js", | |
| "ui/mw.echo.ui.SortedListWidget.js", | |
| "ui/mw.echo.ui.SubGroupListWidget.js", | |
| "ui/mw.echo.ui.NotificationsListWidget.js", | |
| "ui/mw.echo.ui.PlaceholderItemWidget.js", | |
| "ui/mw.echo.ui.ToggleReadCircleButtonWidget.js", | |
| "ui/mw.echo.ui.NotificationItemWidget.js", | |
| "ui/mw.echo.ui.SingleNotificationItemWidget.js", | |
| "ui/mw.echo.ui.CrossWikiNotificationItemWidget.js", | |
| "ui/mw.echo.ui.BundleNotificationItemWidget.js", | |
| "ui/mw.echo.ui.ClonedNotificationItemWidget.js", | |
| "ui/mw.echo.ui.ActionMenuPopupWidget.js", | |
| "ui/mw.echo.ui.MenuItemWidget.js", | |
| "ui/mw.echo.ui.NotificationsWrapper.js", | |
| "ui/mw.echo.ui.ConfirmationPopupWidget.js", | |
| "ext.echo.moment-hack.js" | |
| ], | |
| "styles": [ | |
| "styles/mw.echo.ui.mobile.less", | |
| "styles/mw.echo.ui.overlay.less", | |
| "styles/mw.echo.ui.NotificationItemWidget.less", | |
| "styles/mw.echo.ui.ToggleReadCircleButtonWidget.less", | |
| "styles/mw.echo.ui.CrossWikiNotificationItemWidget.less", | |
| "styles/mw.echo.ui.NotificationsListWidget.less", | |
| "styles/mw.echo.ui.PlaceholderItemWidget.less", | |
| "styles/mw.echo.ui.SubGroupListWidget.less", | |
| "styles/mw.echo.ui.ActionMenuPopupWidget.less", | |
| "styles/mw.echo.ui.MenuItemWidget.less", | |
| "styles/mw.echo.ui.NotificationsWrapper.less", | |
| "styles/mw.echo.ui.ConfirmationPopupWidget.less" | |
| ], | |
| "skinStyles": { | |
| "modern": [ | |
| "styles/mw.echo.ui.overlay.monobook.less" | |
| ], | |
| "monobook": [ | |
| "styles/mw.echo.ui.overlay.monobook.less" | |
| ], | |
| "vector": [ | |
| "styles/mw.echo.ui.overlay.vector.less" | |
| ], | |
| "vector-2022": [ | |
| "styles/mw.echo.ui.overlay.vector.less" | |
| ], | |
| "minerva": [ | |
| "styles/mw.echo.ui.overlay.minerva.less" | |
| ], | |
| "wikimediaapiportal": [ | |
| "styles/mw.echo.ui.overlay.wikimediaapiportal.less" | |
| ] | |
| }, | |
| "dependencies": [ | |
| "ext.echo.api", | |
| "ext.echo.dm", | |
| "ext.echo.secondaryicons", | |
| "oojs", | |
| "oojs-ui-core", | |
| "oojs-ui-widgets", | |
| "moment", | |
| "mediawiki.jqueryMsg", | |
| "mediawiki.language", | |
| "mediawiki.Title", | |
| "oojs-ui.styles.icons-user", | |
| "oojs-ui.styles.icons-alerts", | |
| "oojs-ui.styles.icons-content", | |
| "oojs-ui.styles.icons-interactions", | |
| "oojs-ui.styles.icons-moderation", | |
| "oojs-ui.styles.icons-movement", | |
| "oojs-ui.styles.icons-editing-core" | |
| ], | |
| "messages": [ | |
| "echo-badge-count", | |
| "echo-overlay-link", | |
| "echo-mark-all-as-read", | |
| "echo-mark-wiki-as-read", | |
| "echo-notification-alert", | |
| "echo-notification-notice", | |
| "echo-notification-all", | |
| "echo-notification-loginrequired", | |
| "echo-notification-popup-loginrequired", | |
| "notification-link-text-expand-all", | |
| "notification-link-text-collapse-all", | |
| "notification-link-text-expand-alert-count", | |
| "notification-link-text-expand-notice-count", | |
| "notification-link-text-expand-all-count", | |
| "notification-timestamp-ago-seconds", | |
| "notification-timestamp-ago-minutes", | |
| "notification-timestamp-ago-hours", | |
| "notification-timestamp-ago-days", | |
| "notification-timestamp-ago-months", | |
| "notification-timestamp-ago-years", | |
| "notification-timestamp-today", | |
| "notification-timestamp-yesterday", | |
| "echo-notification-markasread", | |
| "echo-notification-markasunread", | |
| "echo-notification-markasread-tooltip", | |
| "echo-notification-more-options-tooltip", | |
| "echo-notification-alert-text-only", | |
| "echo-notification-notice-text-only", | |
| "echo-notification-all-text-only", | |
| "echo-email-batch-bullet", | |
| "echo-notification-placeholder", | |
| "mytalk", | |
| "mypreferences", | |
| "sunday", | |
| "monday", | |
| "tuesday", | |
| "wednesday", | |
| "thursday", | |
| "friday", | |
| "saturday" | |
| ] | |
| }, | |
| "ext.echo.dm": { | |
| "scripts": [ | |
| "model/mw.echo.dm.js", | |
| "model/mw.echo.dm.SourcePagesModel.js", | |
| "model/mw.echo.dm.PaginationModel.js", | |
| "model/mw.echo.dm.FiltersModel.js", | |
| "model/mw.echo.dm.SeenTimeModel.js", | |
| "model/mw.echo.dm.ModelManager.js", | |
| "model/mw.echo.dm.SortedList.js", | |
| "model/mw.echo.dm.NotificationItem.js", | |
| "model/mw.echo.dm.CrossWikiNotificationItem.js", | |
| "model/mw.echo.dm.BundleNotificationItem.js", | |
| "model/mw.echo.dm.NotificationsList.js", | |
| "model/mw.echo.dm.NotificationGroupsList.js", | |
| "model/mw.echo.dm.UnreadNotificationCounter.js" | |
| ], | |
| "dependencies": [ | |
| "oojs", | |
| "ext.echo.init", | |
| "ext.echo.api", | |
| "moment" | |
| ], | |
| "messages": [ | |
| "echo-api-failure", | |
| "echo-notification-loginrequired", | |
| "echo-api-failure-cross-wiki" | |
| ] | |
| }, | |
| "ext.echo.api": { | |
| "scripts": [ | |
| "api/mw.echo.api.js", | |
| "api/mw.echo.api.PromisePrioritizer.js", | |
| "api/mw.echo.api.EchoApi.js", | |
| "api/mw.echo.api.APIHandler.js", | |
| "api/mw.echo.api.LocalAPIHandler.js", | |
| "api/mw.echo.api.ForeignAPIHandler.js", | |
| "api/mw.echo.api.NetworkHandler.js" | |
| ], | |
| "dependencies": [ | |
| "mediawiki.api", | |
| "mediawiki.ForeignApi", | |
| "oojs" | |
| ] | |
| }, | |
| "ext.echo.mobile": { | |
| "styles": [ | |
| "mobile/overlay.less", | |
| "mobile/notificationsFilterOverlay.less" | |
| ], | |
| "messages": [ | |
| "notifications", | |
| "echo-mobile-notifications-filter-title", | |
| "echo-mark-all-as-read-confirmation" | |
| ], | |
| "dependencies": [ | |
| "mediawiki.util", | |
| "mediawiki.router", | |
| "ext.echo.ui", | |
| "oojs-ui.styles.icons-interactions" | |
| ], | |
| "packageFiles": [ | |
| "mobile/notifications.js", | |
| "mobile/list.js", | |
| { | |
| "name": "mobile/config.json", | |
| "callback": "MediaWiki\\Extension\\Notifications\\Hooks::getConfigVars" | |
| }, | |
| "mobile/overlay.js", | |
| "mobile/notificationsFilterOverlay.js" | |
| ] | |
| }, | |
| "ext.echo.init": { | |
| "packageFiles": [ | |
| "ext.echo.init.js", | |
| { | |
| "name": "config.json", | |
| "callback": "MediaWiki\\Extension\\Notifications\\Hooks::getConfigVars" | |
| } | |
| ], | |
| "dependencies": [ | |
| "ext.echo.api", | |
| "mediawiki.jqueryMsg", | |
| "web2017-polyfills" | |
| ], | |
| "messages": [ | |
| "echo-badge-count", | |
| "echo-displaysnippet-title", | |
| "parentheses" | |
| ] | |
| }, | |
| "ext.echo.centralauth": { | |
| "packageFiles": [ | |
| "ext.echo.centralauth.js" | |
| ] | |
| }, | |
| "ext.echo.styles.badge": { | |
| "styles": [ | |
| "nojs/mw.echo.badge.less" | |
| ] | |
| }, | |
| "ext.echo.styles.notifications": { | |
| "styles": [ | |
| "nojs/mw.echo.notifications.less", | |
| "styles/LabelIconWidget.less" | |
| ] | |
| }, | |
| "ext.echo.styles.alert": { | |
| "styles": [ | |
| "nojs/mw.echo.alert.less" | |
| ], | |
| "skinStyles": { | |
| "monobook": [ | |
| "nojs/mw.echo.alert.monobook.less" | |
| ] | |
| } | |
| }, | |
| "ext.echo.special": { | |
| "scripts": [ | |
| "ui/mw.echo.ui.PaginationWidget.js", | |
| "ui/mw.echo.ui.DatedSubGroupListWidget.js", | |
| "ui/mw.echo.ui.DatedNotificationsWidget.js", | |
| "ui/mw.echo.ui.ReadStateButtonSelectWidget.js", | |
| "ui/mw.echo.ui.PageNotificationsOptionWidget.js", | |
| "ui/mw.echo.ui.PageFilterWidget.js", | |
| "ui/mw.echo.ui.CrossWikiUnreadFilterWidget.js", | |
| "ui/mw.echo.ui.NotificationsInboxWidget.js", | |
| "ui/mw.echo.ui.SpecialHelpMenuWidget.js", | |
| "special/ext.echo.special.js" | |
| ], | |
| "styles": [ | |
| "styles/mw.echo.ui.PaginationWidget.less", | |
| "styles/mw.echo.ui.DatedSubGroupListWidget.less", | |
| "styles/mw.echo.ui.DatedNotificationsWidget.less", | |
| "styles/mw.echo.ui.NotificationsInboxWidget.less", | |
| "styles/mw.echo.ui.PageNotificationsOptionWidget.less", | |
| "styles/mw.echo.ui.PageFilterWidget.less", | |
| "styles/mw.echo.ui.CrossWikiUnreadFilterWidget.less", | |
| "styles/mw.echo.ui.SpecialHelpMenuWidget.less" | |
| ], | |
| "skinStyles": { | |
| "minerva": [ | |
| "styles/mw.echo.ui.NotificationsInboxWidget.minerva.less" | |
| ] | |
| }, | |
| "dependencies": [ | |
| "ext.echo.ui", | |
| "mediawiki.user", | |
| "ext.echo.styles.special" | |
| ], | |
| "messages": [ | |
| "notification-inbox-filter-read", | |
| "notification-inbox-filter-unread", | |
| "notification-inbox-filter-all", | |
| "echo-notification-placeholder-filters", | |
| "echo-specialpage-pagination-numnotifications", | |
| "echo-specialpage-pagination-range", | |
| "echo-specialpage-pagefilters-title", | |
| "echo-specialpage-pagefilters-subtitle", | |
| "echo-mark-all-as-read", | |
| "echo-learn-more", | |
| "mypreferences", | |
| "echo-specialpage-section-markread", | |
| "echo-specialpage-pagefilterwidget-aria-label", | |
| "echo-specialpage-special-help-menu-widget-aria-label" | |
| ] | |
| }, | |
| "ext.echo.styles.special": { | |
| "styles": [ | |
| "nojs/mw.echo.special.less" | |
| ] | |
| } | |
| }, | |
| "ResourceFileModulePaths": { | |
| "localBasePath": "modules", | |
| "remoteExtPath": "Echo/modules" | |
| }, | |
| "Hooks": { | |
| "LoadExtensionSchemaUpdates": "schema", | |
| "GetPreferences": "main", | |
| "BeforePageDisplay": "main", | |
| "ResourceLoaderRegisterModules": "main", | |
| "UserGroupsChanged": "main", | |
| "LoadUserOptions": "main", | |
| "SaveUserOptions": "main", | |
| "UserGetDefaultOptions": "main", | |
| "UserClearNewTalkNotification": "main", | |
| "EmailUserComplete": "main", | |
| "LoginFormValidErrorMessages": "main", | |
| "OutputPageCheckLastModified": "main", | |
| "ArticleUndelete": "main", | |
| "UserMergeAccountFields": "usermerge", | |
| "MergeAccountFromTo": "usermerge", | |
| "UserMergeAccountDeleteTables": "usermerge", | |
| "RollbackComplete": "main", | |
| "UserSaveSettings": "main", | |
| "GetNewMessagesAlert": "main", | |
| "LinksUpdateComplete": "main", | |
| "SpecialMuteModifyFormFields": "main", | |
| "RecentChange_save": "main", | |
| "ApiMain::moduleManager": "main", | |
| "SkinTemplateNavigation::Universal": "main", | |
| "PreferencesGetIcon": "main" | |
| }, | |
| "HookHandlers": { | |
| "main": { | |
| "class": "MediaWiki\\Extension\\Notifications\\Hooks", | |
| "services": [ | |
| "AuthManager", | |
| "CentralIdLookup", | |
| "MainConfig", | |
| "EchoAttributeManager", | |
| "HookContainer", | |
| "ContentLanguage", | |
| "LinkRenderer", | |
| "NamespaceInfo", | |
| "NotificationService", | |
| "PermissionManager", | |
| "StatsFactory", | |
| "TalkPageNotificationManager", | |
| "UserEditTracker", | |
| "UserFactory", | |
| "UserOptionsManager" | |
| ], | |
| "optional_services": [ | |
| "MobileFrontend.Context" | |
| ] | |
| }, | |
| "schema": { | |
| "class": "MediaWiki\\Extension\\Notifications\\SchemaHooks" | |
| }, | |
| "usermerge": { | |
| "class": "MediaWiki\\Extension\\Notifications\\UserMergeHooks", | |
| "services": [ | |
| "EchoAttributeManager" | |
| ] | |
| } | |
| }, | |
| "DomainEventIngresses": [ | |
| { | |
| "events": [ | |
| "PageDeleted", | |
| "PageLatestRevisionChanged" | |
| ], | |
| "class": "MediaWiki\\Extension\\Notifications\\MediaWikiEventIngress\\PageEventIngress", | |
| "services": [ | |
| "RevisionStore", | |
| "UserEditTracker", | |
| "EchoEventMapper" | |
| ] | |
| } | |
| ], | |
| "NotificationMiddleware": [ | |
| { | |
| "class": "MediaWiki\\Extension\\Notifications\\Notifications\\RecentChangeNotificationMiddleware", | |
| "services": [ | |
| "MainConfig", | |
| "UserFactory", | |
| "EchoAttributeManager" | |
| ] | |
| } | |
| ], | |
| "DeprecatedHooks": { | |
| "EventInsertComplete": { | |
| "deprecatedVersion": "1.46" | |
| } | |
| }, | |
| "config": { | |
| "EchoEnableEmailBatch": { | |
| "value": true | |
| }, | |
| "EchoUseJobQueue": { | |
| "value": false | |
| }, | |
| "EchoEmailFooterAddress": { | |
| "value": "" | |
| }, | |
| "EchoCluster": { | |
| "value": false | |
| }, | |
| "EchoSharedTrackingDB": { | |
| "value": false | |
| }, | |
| "EchoSharedTrackingCluster": { | |
| "value": false | |
| }, | |
| "EchoSeenTimeCacheType": { | |
| "value": null | |
| }, | |
| "EchoMaxUpdateCount": { | |
| "value": 10000 | |
| }, | |
| "EchoMaxNotificationAge": { | |
| "value": 157783680 | |
| }, | |
| "EchoMaxMentionsCount": { | |
| "value": 50 | |
| }, | |
| "EchoMentionStatusNotifications": { | |
| "value": false | |
| }, | |
| "EchoMentionsOnMultipleSectionEdits": { | |
| "value": true | |
| }, | |
| "EchoMentionOnChanges": { | |
| "value": true | |
| }, | |
| "EchoBundleEmailInterval": { | |
| "value": 0 | |
| }, | |
| "DefaultNotifyTypeAvailability": { | |
| "value": { | |
| "web": true, | |
| "email": true | |
| } | |
| }, | |
| "NotifyTypeAvailabilityByCategory": { | |
| "value": { | |
| "system-noemail": { | |
| "web": true, | |
| "email": false | |
| }, | |
| "system-emailonly": { | |
| "web": false, | |
| "email": true | |
| }, | |
| "emailuser": { | |
| "web": true, | |
| "email": false | |
| }, | |
| "article-linked": { | |
| "web": true, | |
| "email": false | |
| }, | |
| "mention-failure": { | |
| "web": true, | |
| "email": false | |
| }, | |
| "mention-success": { | |
| "web": true, | |
| "email": false | |
| }, | |
| "thank-you-edit": { | |
| "web": true, | |
| "email": false | |
| }, | |
| "verify-email-reminder": { | |
| "web": true, | |
| "email": true | |
| } | |
| }, | |
| "merge_strategy": "array_plus_2d" | |
| }, | |
| "EchoNotifiers": { | |
| "value": { | |
| "web": "MediaWiki\\Extension\\Notifications\\Notifier::notifyWithNotification", | |
| "email": "MediaWiki\\Extension\\Notifications\\Notifier::notifyWithEmail" | |
| } | |
| }, | |
| "EchoAgentBlacklist": { | |
| "value": [] | |
| }, | |
| "EchoOnWikiBlacklist": { | |
| "value": "Echo-blacklist" | |
| }, | |
| "EchoPerUserBlacklist": { | |
| "value": false | |
| }, | |
| "EchoPerUserWhitelistFormat": { | |
| "value": "%s/Echo-whitelist" | |
| }, | |
| "EchoCrossWikiNotifications": { | |
| "value": false | |
| }, | |
| "EchoNotificationCategories": { | |
| "value": { | |
| "system": { | |
| "priority": 9, | |
| "no-dismiss": [ | |
| "all" | |
| ] | |
| }, | |
| "system-noemail": { | |
| "priority": 9, | |
| "no-dismiss": [ | |
| "all" | |
| ] | |
| }, | |
| "system-emailonly": { | |
| "priority": 9, | |
| "no-dismiss": [ | |
| "all" | |
| ] | |
| }, | |
| "user-rights": { | |
| "priority": 9 | |
| }, | |
| "other": { | |
| "no-dismiss": [ | |
| "all" | |
| ] | |
| }, | |
| "edit-user-talk": { | |
| "priority": 1, | |
| "no-dismiss": [ | |
| "web" | |
| ] | |
| }, | |
| "edit-user-page": { | |
| "priority": 1 | |
| }, | |
| "reverted": { | |
| "priority": 9, | |
| "tooltip": "echo-pref-tooltip-reverted" | |
| }, | |
| "article-linked": { | |
| "priority": 5, | |
| "tooltip": "echo-pref-tooltip-article-linked" | |
| }, | |
| "mention": { | |
| "priority": 4, | |
| "tooltip": "echo-pref-tooltip-mention" | |
| }, | |
| "mention-failure": { | |
| "priority": 4, | |
| "tooltip": "echo-pref-tooltip-mention-failure" | |
| }, | |
| "mention-success": { | |
| "priority": 4, | |
| "tooltip": "echo-pref-tooltip-mention-success" | |
| }, | |
| "emailuser": { | |
| "priority": 9 | |
| }, | |
| "article-reminder": { | |
| "priority": 1, | |
| "tooltip": "echo-pref-tooltip-article-reminder" | |
| }, | |
| "thank-you-edit": { | |
| "priority": 9, | |
| "tooltip": "echo-pref-tooltip-thank-you-edit" | |
| }, | |
| "watchlist": { | |
| "priority": 5, | |
| "tooltip": "echo-pref-tooltip-watchlist" | |
| }, | |
| "minor-watchlist": { | |
| "priority": 6, | |
| "tooltip": "echo-pref-tooltip-minor-watchlist" | |
| }, | |
| "api-triggered": { | |
| "priority": 9, | |
| "tooltip": "echo-pref-tooltip-api-triggered" | |
| }, | |
| "verify-email-reminder": { | |
| "priority": 1, | |
| "tooltip": "echo-pref-tooltip-verify-email-reminder" | |
| } | |
| }, | |
| "merge_strategy": "array_plus_2d" | |
| }, | |
| "EchoNotificationIcons": { | |
| "value": { | |
| "alert": { | |
| "path": "Echo/modules/icons/alert.svg", | |
| "url": false | |
| }, | |
| "watchlist-progressive": { | |
| "path": { | |
| "ltr": "Echo/modules/icons/watchlist-ltr-progressive.svg", | |
| "rtl": "Echo/modules/icons/watchlist-rtl-progressive.svg" | |
| } | |
| }, | |
| "placeholder": { | |
| "path": "Echo/modules/icons/notice.svg" | |
| }, | |
| "chat": { | |
| "path": { | |
| "ltr": "Echo/modules/icons/speechBubbles-ltr-progressive.svg", | |
| "rtl": "Echo/modules/icons/speechBubbles-rtl-progressive.svg" | |
| } | |
| }, | |
| "edit": { | |
| "path": "Echo/modules/icons/edit-progressive.svg" | |
| }, | |
| "edit-user-page": { | |
| "path": "Echo/modules/icons/edit-user-page.svg" | |
| }, | |
| "edit-user-talk": { | |
| "path": "Echo/modules/icons/edit-user-talk-progressive.svg" | |
| }, | |
| "linked": { | |
| "path": "Echo/modules/icons/link-progressive.svg" | |
| }, | |
| "mention": { | |
| "path": "Echo/modules/icons/mention-progressive.svg" | |
| }, | |
| "mention-failure": { | |
| "path": "Echo/modules/icons/mention-failure.svg" | |
| }, | |
| "mention-success": { | |
| "path": "Echo/modules/icons/mention-success-constructive.svg" | |
| }, | |
| "mention-status-bundle": { | |
| "path": "Echo/modules/icons/mention-status-bundle-progressive.svg" | |
| }, | |
| "reviewed": { | |
| "path": "Echo/modules/icons/articleCheck-progressive.svg" | |
| }, | |
| "revert": { | |
| "path": "Echo/modules/icons/revert.svg" | |
| }, | |
| "user-rights": { | |
| "path": "Echo/modules/icons/user-rights-progressive.svg" | |
| }, | |
| "emailuser": { | |
| "path": "Echo/modules/icons/message-constructive.svg" | |
| }, | |
| "help": { | |
| "path": { | |
| "ltr": "Echo/modules/icons/helpNotice-ltr.svg", | |
| "rtl": "Echo/modules/icons/helpNotice-rtl.svg" | |
| } | |
| }, | |
| "global": { | |
| "path": "Echo/modules/icons/global-progressive.svg" | |
| }, | |
| "site": { | |
| "url": false | |
| }, | |
| "article-reminder": { | |
| "path": "Echo/modules/icons/global-progressive.svg" | |
| }, | |
| "robot": { | |
| "path": "Echo/modules/icons/robot.svg" | |
| } | |
| }, | |
| "merge_strategy": "array_plus_2d" | |
| }, | |
| "EchoSecondaryIcons": { | |
| "value": { | |
| "linked": { | |
| "path": "Echo/modules/icons/link-progressive.svg" | |
| }, | |
| "changes": { | |
| "path": "Echo/modules/icons/changes.svg" | |
| }, | |
| "thanks": { | |
| "path": { | |
| "ltr": "Echo/modules/icons/userTalk-ltr.svg", | |
| "rtl": "Echo/modules/icons/userTalk-rtl.svg" | |
| } | |
| }, | |
| "unbell": { | |
| "path": "Echo/modules/icons/unbell.svg" | |
| }, | |
| "userSpeechBubble": { | |
| "path": "Echo/modules/icons/user-speech-bubble.svg" | |
| } | |
| }, | |
| "merge_strategy": "array_plus_2d" | |
| }, | |
| "EchoNotifications": { | |
| "value": { | |
| "welcome": { | |
| "user-locators": [ | |
| "MediaWiki\\Extension\\Notifications\\UserLocator::locateEventAgent" | |
| ], | |
| "canNotifyAgent": true, | |
| "category": "system-noemail", | |
| "group": "positive", | |
| "section": "message", | |
| "presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoWelcomePresentationModel" | |
| }, | |
| "edit-user-page": { | |
| "presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoEditUserPagePresentationModel", | |
| "user-locators": [ | |
| "MediaWiki\\Extension\\Notifications\\UserLocator::locateUserPageOwner" | |
| ], | |
| "category": "edit-user-page", | |
| "group": "interactive", | |
| "section": "alert", | |
| "bundle": { | |
| "web": true, | |
| "email": false, | |
| "expandable": true | |
| }, | |
| "immediate": true | |
| }, | |
| "edit-user-talk": { | |
| "presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoEditUserTalkPresentationModel", | |
| "user-locators": [ | |
| "MediaWiki\\Extension\\Notifications\\UserLocator::locateTalkPageOwner" | |
| ], | |
| "category": "edit-user-talk", | |
| "group": "interactive", | |
| "section": "alert", | |
| "bundle": { | |
| "web": true, | |
| "email": false, | |
| "expandable": true | |
| }, | |
| "immediate": true | |
| }, | |
| "reverted": { | |
| "presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoRevertedPresentationModel", | |
| "user-locators": [ | |
| [ | |
| "MediaWiki\\Extension\\Notifications\\UserLocator::locateFromEventExtra", | |
| [ | |
| "reverted-user-id" | |
| ] | |
| ] | |
| ], | |
| "category": "reverted", | |
| "group": "negative", | |
| "section": "alert" | |
| }, | |
| "page-linked": { | |
| "presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoPageLinkedPresentationModel", | |
| "user-locators": [ | |
| "MediaWiki\\Extension\\Notifications\\UserLocator::locateArticleCreator" | |
| ], | |
| "category": "article-linked", | |
| "group": "neutral", | |
| "section": "message", | |
| "bundle": { | |
| "web": true, | |
| "email": true, | |
| "expandable": true | |
| }, | |
| "apply-page-link-mute": true | |
| }, | |
| "minor-watchlist-change": { | |
| "user-locators": [ | |
| "MediaWiki\\Extension\\Notifications\\UserLocator::locateUsersWatchingTitle" | |
| ], | |
| "category": "minor-watchlist", | |
| "group": "interactive", | |
| "section": "message", | |
| "presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoWatchlistChangePresentationModel", | |
| "bundle": { | |
| "web": true, | |
| "email": true, | |
| "expandable": true | |
| } | |
| }, | |
| "watchlist-change": { | |
| "user-locators": [ | |
| "MediaWiki\\Extension\\Notifications\\UserLocator::locateUsersWatchingTitle" | |
| ], | |
| "section": "message", | |
| "category": "watchlist", | |
| "group": "interactive", | |
| "presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoWatchlistChangePresentationModel", | |
| "bundle": { | |
| "web": true, | |
| "email": true, | |
| "expandable": true | |
| } | |
| }, | |
| "mention": { | |
| "user-locators": [ | |
| [ | |
| "MediaWiki\\Extension\\Notifications\\UserLocator::locateFromEventExtra", | |
| [ | |
| "mentioned-users" | |
| ] | |
| ] | |
| ], | |
| "category": "mention", | |
| "group": "interactive", | |
| "section": "alert", | |
| "presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoMentionPresentationModel" | |
| }, | |
| "mention-summary": { | |
| "user-locators": [ | |
| [ | |
| "MediaWiki\\Extension\\Notifications\\UserLocator::locateFromEventExtra", | |
| [ | |
| "mentioned-users" | |
| ] | |
| ] | |
| ], | |
| "category": "mention", | |
| "group": "interactive", | |
| "section": "alert", | |
| "presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoMentionInSummaryPresentationModel" | |
| }, | |
| "mention-failure": { | |
| "user-locators": [ | |
| [ | |
| "MediaWiki\\Extension\\Notifications\\UserLocator::locateEventAgent" | |
| ] | |
| ], | |
| "canNotifyAgent": true, | |
| "category": "mention-failure", | |
| "bundle": { | |
| "web": true, | |
| "expandable": true | |
| }, | |
| "group": "negative", | |
| "section": "alert", | |
| "presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoMentionStatusPresentationModel" | |
| }, | |
| "mention-failure-too-many": { | |
| "user-locators": [ | |
| [ | |
| "MediaWiki\\Extension\\Notifications\\UserLocator::locateEventAgent" | |
| ] | |
| ], | |
| "canNotifyAgent": true, | |
| "category": "mention-failure", | |
| "group": "negative", | |
| "section": "alert", | |
| "presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoMentionStatusPresentationModel" | |
| }, | |
| "mention-success": { | |
| "user-locators": [ | |
| [ | |
| "MediaWiki\\Extension\\Notifications\\UserLocator::locateEventAgent" | |
| ] | |
| ], | |
| "canNotifyAgent": true, | |
| "category": "mention-success", | |
| "bundle": { | |
| "web": true, | |
| "expandable": true | |
| }, | |
| "group": "positive", | |
| "section": "message", | |
| "presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoMentionStatusPresentationModel" | |
| }, | |
| "user-rights": { | |
| "category": "user-rights", | |
| "group": "neutral", | |
| "section": "alert", | |
| "presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoUserRightsPresentationModel" | |
| }, | |
| "emailuser": { | |
| "presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoEmailUserPresentationModel", | |
| "category": "emailuser", | |
| "group": "neutral", | |
| "section": "alert" | |
| }, | |
| "verify-email-reminder": { | |
| "presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoVerifyEmailReminderPresentationModel", | |
| "category": "verify-email-reminder", | |
| "group": "negative", | |
| "section": "alert" | |
| }, | |
| "foreign": { | |
| "presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoForeignPresentationModel", | |
| "user-locators": [ | |
| "MediaWiki\\Extension\\Notifications\\UserLocator::locateEventAgent" | |
| ], | |
| "category": "foreign", | |
| "group": "positive", | |
| "section": "alert" | |
| }, | |
| "thank-you-edit": { | |
| "user-locators": [ | |
| "MediaWiki\\Extension\\Notifications\\UserLocator::locateEventAgent" | |
| ], | |
| "canNotifyAgent": true, | |
| "category": "thank-you-edit", | |
| "group": "positive", | |
| "presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoEditThresholdPresentationModel", | |
| "section": "message" | |
| }, | |
| "article-reminder": { | |
| "user-locators": [ | |
| "MediaWiki\\Extension\\Notifications\\UserLocator::locateEventAgent" | |
| ], | |
| "canNotifyAgent": true, | |
| "category": "article-reminder", | |
| "group": "positive", | |
| "presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoArticleReminderPresentationModel", | |
| "section": "message" | |
| }, | |
| "api-alert": { | |
| "canNotifyAgent": true, | |
| "category": "api-triggered", | |
| "group": "neutral", | |
| "section": "alert", | |
| "presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoManualPresentationModel" | |
| }, | |
| "api-notice": { | |
| "canNotifyAgent": true, | |
| "category": "api-triggered", | |
| "group": "neutral", | |
| "section": "message", | |
| "presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoManualPresentationModel" | |
| }, | |
| "mediawiki.simple": { | |
| "category": "other", | |
| "group": "neutral", | |
| "section": "message", | |
| "presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoSimpleMessagePresentationModel" | |
| } | |
| }, | |
| "merge_strategy": "array_plus_2d" | |
| }, | |
| "EchoCacheVersion": { | |
| "value": "1.12" | |
| }, | |
| "AllowArticleReminderNotification": { | |
| "value": false, | |
| "description": "This is a feature flag to the Article Reminder notification" | |
| }, | |
| "EchoMaxMentionsInEditSummary": { | |
| "value": 0, | |
| "description": "Maximum nubmer of users that will be notified that they were linked from an edit summary or 0 for no notifications" | |
| }, | |
| "EchoMentionsInEditSummaryBots": { | |
| "value": false, | |
| "description": "Whether to allow mentions by bot accounts in edit summaries to trigger notifications (subject to EchoMaxMentionsInEditSummary limit)" | |
| }, | |
| "EchoPollForUpdates": { | |
| "value": 0, | |
| "description": "This is the polling rate i.e. the time after which we check for notifications count on the client side. It also controls whether notification count will be displayed in browser title. If polling rate is 0 this means polling is disabled and notification count is also not shown in browser title" | |
| }, | |
| "EchoWatchlistNotifications": { | |
| "value": false, | |
| "description": "Feature flag to enable Echo notifications whenever a page on a user's watchlist is changed, replacing the built-in preference to send emails in that circumstance." | |
| }, | |
| "EchoWatchlistEmailOncePerPage": { | |
| "value": true, | |
| "description": "Whether to send email notifications each time a watched page is edited (if false) or only the first time the page is changed before being visited again by the user (if true)" | |
| }, | |
| "EchoEnableApiEvents": { | |
| "value": false, | |
| "description": "Whether to enable the API for creating custom Echo events" | |
| }, | |
| "EchoEnablePush": { | |
| "value": false, | |
| "description": "Whether to enable push notifications" | |
| }, | |
| "EchoPushServiceBaseUrl": { | |
| "value": false, | |
| "description": "Request endpoint URL for the push notification service" | |
| }, | |
| "EchoPushMaxSubscriptionsPerUser": { | |
| "value": 0, | |
| "description": "Maximum number of push subscriptions that may be stored in the DB at any given time for a single central user ID." | |
| } | |
| }, | |
| "manifest_version": 2, | |
| "AutoloadClasses": { | |
| "BackfillUnreadWikis": "maintenance/backfillUnreadWikis.php", | |
| "EchoAttributeManager": "includes/AttributeManager.php", | |
| "MediaWiki\\Extension\\Notifications\\AttributeManager": "includes/AttributeManager.php", | |
| "EchoDiscussionParser": "includes/DiscussionParser.php", | |
| "MediaWiki\\Extension\\Notifications\\DiscussionParser": "includes/DiscussionParser.php", | |
| "EchoEvent": "includes/Model/Event.php", | |
| "MediaWiki\\Extension\\Notifications\\Model\\Event": "includes/Model/Event.php", | |
| "EchoEventPresentationModel": "includes/Formatters/EchoEventPresentationModel.php", | |
| "MediaWiki\\Extension\\Notifications\\Formatters\\EchoEventPresentationModel": "includes/Formatters/EchoEventPresentationModel.php", | |
| "EchoNotification": "includes/Model/Notification.php", | |
| "MediaWiki\\Extension\\Notifications\\Model\\Notification": "includes/Model/Notification.php", | |
| "EchoNotificationMapper": "includes/Mapper/NotificationMapper.php", | |
| "MediaWiki\\Extension\\Notifications\\Mapper\\NotificationMapper": "includes/Mapper/NotificationMapper.php", | |
| "EchoNotifier": "includes/Notifier.php", | |
| "MediaWiki\\Extension\\Notifications\\Notifier": "includes/Notifier.php", | |
| "EchoUserLocator": "includes/UserLocator.php", | |
| "MediaWiki\\Extension\\Notifications\\UserLocator": "includes/UserLocator.php", | |
| "GenerateSampleNotifications": "maintenance/generateSampleNotifications.php", | |
| "MWEchoDbFactory": "includes/DbFactory.php", | |
| "MediaWiki\\Extension\\Notifications\\DbFactory": "includes/DbFactory.php", | |
| "ProcessEchoEmailBatch": "maintenance/processEchoEmailBatch.php", | |
| "RecomputeNotifCounts": "maintenance/recomputeNotifCounts.php", | |
| "RemoveInvalidNotification": "maintenance/removeInvalidNotification.php", | |
| "RemoveOrphanedEvents": "maintenance/removeOrphanedEvents.php", | |
| "UpdatePerUserBlacklist": "maintenance/updatePerUserBlacklist.php" | |
| }, | |
| "AutoloadNamespaces": { | |
| "MediaWiki\\Extension\\Notifications\\": "includes/" | |
| }, | |
| "TestAutoloadClasses": { | |
| "MediaWiki\\Extension\\Notifications\\Test\\EchoAbstractMapperStub": "tests/phpunit/Mapper/EchoAbstractMapperStub.php" | |
| }, | |
| "TestAutoloadNamespaces": { | |
| "MediaWiki\\Extension\\Notifications\\Test\\": "tests/phpunit/", | |
| "MediaWiki\\Extension\\Notifications\\Test\\Integration\\": "tests/phpunit/integration/" | |
| }, | |
| "ServiceWiringFiles": [ | |
| "ServiceWiring.php" | |
| ], | |
| "ConfigRegistry": { | |
| "Echo": "MediaWiki\\Config\\GlobalVarConfig::newInstance" | |
| }, | |
| "InstallerTasks": [ | |
| { | |
| "class": "MediaWiki\\Extension\\Notifications\\InstallSchemaTask" | |
| } | |
| ] | |
| } |
US