diff options
Diffstat (limited to 'Echo/extension.json')
-rw-r--r-- | Echo/extension.json | 329 |
1 files changed, 213 insertions, 116 deletions
diff --git a/Echo/extension.json b/Echo/extension.json index 6b728482..19fcf66d 100644 --- a/Echo/extension.json +++ b/Echo/extension.json @@ -15,7 +15,7 @@ "license-name": "MIT", "type": "specialpage", "requires": { - "MediaWiki": ">= 1.32.0" + "MediaWiki": ">= 1.35.0" }, "APIMetaModules": { "notifications": "ApiEchoNotifications", @@ -24,17 +24,20 @@ "APIModules": { "echomarkread": "ApiEchoMarkRead", "echomarkseen": "ApiEchoMarkSeen", - "echoarticlereminder": "ApiEchoArticleReminder" + "echoarticlereminder": "ApiEchoArticleReminder", + "echomute": "ApiEchoMute" }, "DefaultUserOptions": { - "echo-email-frequency": 0 + "echo-email-frequency": 0, + "echo-dont-email-read-notifications": false }, "ExtensionFunctions": [ "EchoHooks::initEchoExtension" ], "JobClasses": { "EchoNotificationJob": "EchoNotificationJob", - "EchoNotificationDeleteJob": "EchoNotificationDeleteJob" + "EchoNotificationDeleteJob": "EchoNotificationDeleteJob", + "EchoPushNotificationRequest": "EchoPush\\NotificationRequestJob" }, "SpecialPages": { "Notifications": "SpecialNotifications", @@ -50,13 +53,30 @@ "ExtensionMessagesFiles": { "EchoAliases": "Echo.alias.php" }, + "QUnitTestModule": { + "localBasePath": "", + "remoteExtPath": "Echo", + "templates": { + "NotificationBadge.mustache": "modules/mobile/NotificationBadge.mustache" + }, + "packageFiles": [ + "tests/qunit/mobile/index.js", + "tests/qunit/mobile/test_NotificationBadge.js", + "modules/mobile/NotificationBadge.js" + ] + }, "ResourceModules": { "ext.echo.logger": { - "scripts": [ - "logger/mw.echo.Logger.js" + "packageFiles": [ + "logger/mw.echo.Logger.js", + { + "name": "logger/config.json", + "callback": "EchoHooks::getLoggerConfigVars" + } ], "dependencies": [ - "oojs" + "oojs", + "mediawiki.user" ], "targets": [ "desktop", @@ -71,14 +91,6 @@ "styles": [ "styles/mw.echo.ui.NotificationBadgeWidget.less" ], - "skinStyles": { - "monobook": [ - "styles/mw.echo.ui.NotificationBadgeWidget.monobook.less" - ], - "modern": [ - "styles/mw.echo.ui.NotificationBadgeWidget.modern.less" - ] - }, "dependencies": [ "ext.echo.ui", "ext.echo.styles.badge", @@ -91,6 +103,7 @@ }, "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", @@ -109,6 +122,7 @@ "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", @@ -122,12 +136,11 @@ "styles/mw.echo.ui.ConfirmationPopupWidget.less" ], "skinStyles": { - "monobook": [ - "styles/mw.echo.ui.NotificationsListWidget.monobook.less", + "modern": [ "styles/mw.echo.ui.overlay.monobook.less" ], - "modern": [ - "styles/mw.echo.ui.NotificationItemWidget.modern.less" + "monobook": [ + "styles/mw.echo.ui.overlay.monobook.less" ], "vector": [ "styles/mw.echo.ui.overlay.vector.less" @@ -137,17 +150,17 @@ ] }, "dependencies": [ + "ext.echo.api", + "ext.echo.dm", "ext.echo.logger", - "ext.echo.styles.notifications", - "ext.echo.controller", "ext.echo.secondaryicons", + "oojs", "oojs-ui-core", "oojs-ui-widgets", "moment", "mediawiki.jqueryMsg", "mediawiki.language", "mediawiki.Title", - "mediawiki.notify", "oojs-ui.styles.icons-user", "oojs-ui.styles.icons-alerts", "oojs-ui.styles.icons-content", @@ -160,8 +173,6 @@ "echo-overlay-link", "echo-mark-all-as-read", "echo-mark-wiki-as-read", - "echo-more-info", - "echo-feedback", "echo-notification-alert", "echo-notification-notice", "echo-notification-loginrequired", @@ -206,7 +217,6 @@ }, "ext.echo.dm": { "scripts": [ - "mw.echo.js", "model/mw.echo.dm.js", "model/mw.echo.dm.SourcePagesModel.js", "model/mw.echo.dm.PaginationModel.js", @@ -223,6 +233,7 @@ ], "dependencies": [ "oojs", + "ext.echo.init", "ext.echo.api", "moment" ], @@ -256,39 +267,58 @@ "mobile" ] }, - "ext.echo.controller": { - "scripts": [ - "controller/mw.echo.Controller.js" + "ext.echo.mobile": { + "templates": { + "NotificationBadge.mustache": "mobile/NotificationBadge.mustache" + }, + "styles": [ + "mobile/overlay.less", + "mobile/notificationsFilterOverlay.less" + ], + "messages": [ + "notifications", + "echo-mobile-notifications-filter-title", + "echo-mark-all-as-read-confirmation" ], "dependencies": [ - "oojs", - "ext.echo.api", - "ext.echo.dm" + "mediawiki.util", + "mediawiki.router", + "ext.echo.ui", + "oojs-ui.styles.icons-interactions" + ], + "packageFiles": [ + "mobile/notifications.js", + "mobile/list.js", + "mobile/overlay.js", + "mobile/NotificationBadge.js", + "mobile/notificationsFilterOverlay.js" ], "targets": [ "desktop", "mobile" ] }, - "ext.echo.base": { - "targets": [ - "desktop", - "mobile" - ], - "dependencies": [ - "ext.echo.logger" - ] - }, "ext.echo.init": { - "scripts": [ - "ext.echo.init.js" + "packageFiles": [ + "ext.echo.init.js", + { + "name": "config.json", + "callback": "EchoHooks::getConfigVars" + } ], "dependencies": [ "ext.echo.api", + "mediawiki.jqueryMsg", "mediawiki.Uri" ], + "messages": [ + "echo-badge-count", + "echo-displaysnippet-title", + "parentheses" + ], "targets": [ - "desktop" + "desktop", + "mobile" ] }, "ext.echo.styles.badge": { @@ -296,14 +326,14 @@ "nojs/mw.echo.badge.less" ], "skinStyles": { + "minerva": [ + "nojs/mw.echo.badge.minerva.less" + ], "monobook": [ "nojs/mw.echo.badge.monobook.less" ], "vector": [ "nojs/mw.echo.badge.vector.less" - ], - "modern": [ - "nojs/mw.echo.badge.modern.less" ] }, "targets": [ @@ -328,9 +358,6 @@ "skinStyles": { "monobook": [ "nojs/mw.echo.alert.monobook.less" - ], - "modern": [ - "nojs/mw.echo.alert.modern.less" ] }, "targets": [ @@ -361,18 +388,12 @@ "styles/mw.echo.ui.CrossWikiUnreadFilterWidget.less", "styles/mw.echo.ui.SpecialHelpMenuWidget.less" ], - "skinStyles": { - "monobook": [ - "styles/mw.echo.ui.CrossWikiUnreadFilterWidget.monobook.less" - ] - }, "dependencies": [ "ext.echo.ui", "mediawiki.Uri", "ext.echo.styles.special" ], "messages": [ - "echo-load-more-error", "notification-inbox-filter-read", "notification-inbox-filter-unread", "notification-inbox-filter-all", @@ -382,11 +403,10 @@ "echo-specialpage-pagefilters-title", "echo-specialpage-pagefilters-subtitle", "echo-mark-all-as-read", - "echo-more-info", "echo-learn-more", "mypreferences", - "echo-feedback", - "echo-specialpage-section-markread" + "echo-specialpage-section-markread", + "echo-specialpage-pagefilterwidget-aria-label" ], "targets": [ "desktop", @@ -401,12 +421,6 @@ "desktop", "mobile" ] - }, - "ext.echo.badgeicons": { - "class": "ResourceLoaderImageModule", - "data": "icons/badgeicons.json", - "selectorWithoutVariant": ".oo-ui-icon-{name}", - "selectorWithVariant": ".oo-ui-image-{variant}.oo-ui-icon-{name}" } }, "ResourceFileModulePaths": { @@ -414,11 +428,11 @@ "remoteExtPath": "Echo/modules" }, "Hooks": { + "SkinMinervaReplaceNotificationsBadge": "EchoHooks::onSkinMinervaReplaceNotificationsBadge", "LoadExtensionSchemaUpdates": "EchoHooks::onLoadExtensionSchemaUpdates", "GetPreferences": "EchoHooks::getPreferences", "PersonalUrls": "EchoHooks::onPersonalUrls", "BeforePageDisplay": "EchoHooks::beforePageDisplay", - "MakeGlobalVariablesScript": "EchoHooks::makeGlobalVariablesScript", "ResourceLoaderRegisterModules": "EchoHooks::onResourceLoaderRegisterModules", "ResourceLoaderTestModules": "EchoHooks::onResourceLoaderTestModules", "UserGroupsChanged": "EchoHooks::onUserGroupsChanged", @@ -437,16 +451,23 @@ "UserMergeAccountDeleteTables": "EchoHooks::onUserMergeAccountDeleteTables", "EchoGetBundleRules": "EchoHooks::onEchoGetBundleRules", "EchoAbortEmailNotification": "EchoHooks::onEchoAbortEmailNotification", - "PageContentSaveComplete": "EchoHooks::onPageContentSaveComplete", + "PageSaveComplete": "EchoHooks::onPageSaveComplete", "LocalUserCreated": "EchoHooks::onLocalUserCreated", - "ArticleRollbackComplete": "EchoHooks::onRollbackComplete", + "RollbackComplete": "EchoHooks::onRollbackComplete", "UserSaveSettings": "EchoHooks::onUserSaveSettings", "AbortTalkPageEmailNotification": "EchoHooks::onAbortTalkPageEmailNotification", "SendWatchlistEmailNotification": "EchoHooks::onSendWatchlistEmailNotification", "GetNewMessagesAlert": "EchoHooks::abortNewMessagesAlert", "LinksUpdateAfterInsert": "EchoHooks::onLinksUpdateAfterInsert", - "GetBetaFeaturePreferences": "EchoHooks::getBetaFeaturePreferences", - "ResourceLoaderGetConfigVars": "EchoHooks::onResourceLoaderGetConfigVars" + "SpecialMuteModifyFormFields": "EchoHooks::onSpecialMuteModifyFormFields", + "RecentChange_save": "main", + "ApiMain::moduleManager": "EchoHooks::onApiMainModuleManager" + }, + "HookHandlers": { + "main": { + "class": "\\EchoHooks", + "services": [ "MainConfig" ] + } }, "config": { "EchoEnableEmailBatch": { @@ -467,11 +488,8 @@ "EchoSharedTrackingCluster": { "value": false }, - "EchoSectionTransition": { - "value": false - }, - "EchoBundleTransition": { - "value": false + "EchoSeenTimeCacheType": { + "value": null }, "EchoMaxUpdateCount": { "value": 2000 @@ -499,10 +517,22 @@ }, "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 @@ -510,6 +540,10 @@ "mention-success": { "web": true, "email": false + }, + "thank-you-edit": { + "web": true, + "email": false } }, "merge_strategy": "array_plus_2d" @@ -541,9 +575,6 @@ "EchoCrossWikiNotifications": { "value": false }, - "EchoUseCrossWikiBetaFeature": { - "value": false - }, "EchoNotificationCategories": { "value": { "system": { @@ -552,6 +583,18 @@ "all" ] }, + "system-noemail": { + "priority": 9, + "no-dismiss": [ + "all" + ] + }, + "system-emailonly": { + "priority": 9, + "no-dismiss": [ + "all" + ] + }, "user-rights": { "priority": 9, "tooltip": "echo-pref-tooltip-user-rights" @@ -595,6 +638,18 @@ "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" } }, "merge_strategy": "array_plus_2d" @@ -644,7 +699,10 @@ "path": "Echo/modules/icons/message-constructive.svg" }, "help": { - "path": "Echo/modules/icons/help.svg" + "path": { + "ltr": "Echo/modules/icons/helpNotice-ltr.svg", + "rtl": "Echo/modules/icons/helpNotice-rtl.svg" + } }, "global": { "path": "Echo/modules/icons/global-progressive.svg" @@ -672,6 +730,9 @@ "rtl": "Echo/modules/icons/userTalk-rtl.svg" } }, + "unbell": { + "path": "Echo/modules/icons/unbell.svg" + }, "userSpeechBubble": { "path": "Echo/modules/icons/user-speech-bubble.svg" } @@ -684,12 +745,10 @@ "user-locators": [ "EchoUserLocator::locateEventAgent" ], - "category": "system", + "canNotifyAgent": true, + "category": "system-noemail", "group": "positive", "section": "message", - "notify-type-availability": { - "email": false - }, "presentation-model": "EchoWelcomePresentationModel" }, "edit-user-talk": { @@ -735,6 +794,32 @@ "expandable": true } }, + "minor-watchlist-change": { + "user-locators": [ + "EchoUserLocator::locateUsersWatchingTitle" + ], + "category": "minor-watchlist", + "group": "interactive", + "presentation-model": "EchoWatchlistChangePresentationModel", + "bundle": { + "web": true, + "email": true, + "expandable": true + } + }, + "watchlist-change": { + "user-locators": [ + "EchoUserLocator::locateUsersWatchingTitle" + ], + "category": "watchlist", + "group": "interactive", + "presentation-model": "EchoWatchlistChangePresentationModel", + "bundle": { + "web": true, + "email": true, + "expandable": true + } + }, "mention": { "user-locators": [ [ @@ -769,6 +854,7 @@ "EchoUserLocator::locateEventAgent" ] ], + "canNotifyAgent": true, "category": "mention-failure", "bundle": { "web": true, @@ -784,6 +870,7 @@ "EchoUserLocator::locateEventAgent" ] ], + "canNotifyAgent": true, "category": "mention-failure", "group": "negative", "section": "alert", @@ -795,6 +882,7 @@ "EchoUserLocator::locateEventAgent" ] ], + "canNotifyAgent": true, "category": "mention-success", "bundle": { "web": true, @@ -845,10 +933,8 @@ "user-locators": [ "EchoUserLocator::locateEventAgent" ], - "category": "system", - "notify-type-availability": { - "email": false - }, + "canNotifyAgent": true, + "category": "thank-you-edit", "group": "positive", "presentation-model": "EchoEditThresholdPresentationModel", "section": "message" @@ -857,6 +943,7 @@ "user-locators": [ "EchoUserLocator::locateEventAgent" ], + "canNotifyAgent": true, "category": "article-reminder", "group": "positive", "presentation-model": "EchoArticleReminderPresentationModel", @@ -892,6 +979,26 @@ "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" + }, + "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)" + }, + "EchoEnablePush": { + "value": false, + "description": "Whether to enable push notifications" + }, + "EchoPushServiceBaseUrl": { + "value": false, + "description": "Request endpoint URL for the push notification service" } }, "attributes": { @@ -906,24 +1013,17 @@ "ApiCrossWiki": "includes/api/ApiCrossWiki.php", "ApiEchoArticleReminder": "includes/api/ApiEchoArticleReminder.php", "ApiEchoMarkRead": "includes/api/ApiEchoMarkRead.php", - "ApiEchoMarkReadTest": "tests/phpunit/api/ApiEchoMarkReadTest.php", "ApiEchoMarkSeen": "includes/api/ApiEchoMarkSeen.php", + "ApiEchoMute": "includes/api/ApiEchoMute.php", "ApiEchoNotifications": "includes/api/ApiEchoNotifications.php", - "ApiEchoNotificationsTest": "tests/phpunit/api/ApiEchoNotificationsTest.php", "ApiEchoUnreadNotificationPages": "includes/api/ApiEchoUnreadNotificationPages.php", - "BackfillReadBundles": "maintenance/backfillReadBundles.php", "BackfillUnreadWikis": "maintenance/backfillUnreadWikis.php", "Bundleable": "includes/Bundleable.php", "Bundler": "includes/Bundler.php", - "BundlerTest": "tests/phpunit/BundlerTest.php", - "ContainmentSetTest": "tests/phpunit/ContainmentSetTest.php", "EchoAbstractEntity": "includes/model/AbstractEntity.php", "EchoAbstractMapper": "includes/mapper/AbstractMapper.php", - "EchoAbstractMapperStub": "tests/phpunit/mapper/EchoAbstractMapperStub.php", - "EchoAbstractMapperTest": "tests/phpunit/mapper/AbstractMapperTest.php", "EchoArrayList": "includes/EchoArrayList.php", "EchoAttributeManager": "includes/AttributeManager.php", - "EchoAttributeManagerTest": "tests/phpunit/AttributeManagerTest.php", "EchoCachedList": "includes/EchoCachedList.php", "EchoCallbackIterator": "includes/iterator/CallbackIterator.php", "EchoCatchableFatalErrorException": "includes/exception/CatchableFatalErrorException.php", @@ -933,9 +1033,7 @@ "EchoDeferredMarkAsDeletedUpdate": "includes/DeferredMarkAsDeletedUpdate.php", "EchoDiffGroup": "includes/EchoDiffGroup.php", "EchoDiffParser": "includes/EchoDiffParser.php", - "EchoDiffParserTest": "tests/phpunit/DiffParserTest.php", "EchoDiscussionParser": "includes/DiscussionParser.php", - "EchoDiscussionParserTest": "tests/phpunit/DiscussionParserTest.php", "EchoEditThresholdPresentationModel": "includes/formatters/EditThresholdPresentationModel.php", "EchoEditUserTalkPresentationModel": "includes/formatters/EditUserTalkPresentationModel.php", "EchoArticleReminderPresentationModel": "includes/formatters/ArticleReminderPresentationModel.php", @@ -946,9 +1044,7 @@ "EchoEventDigestFormatter": "includes/formatters/EchoEventDigestFormatter.php", "EchoEventFormatter": "includes/formatters/EchoEventFormatter.php", "EchoEventMapper": "includes/mapper/EventMapper.php", - "EchoEventMapperTest": "tests/phpunit/mapper/EventMapperTest.php", "EchoEventPresentationModel": "includes/formatters/EventPresentationModel.php", - "EchoExecuteFirstArgumentStub": "tests/phpunit/mapper/EchoExecuteFirstArgumentStub.php", "EchoFilteredSequentialIterator": "includes/iterator/FilteredSequentialIterator.php", "EchoFlyoutFormatter": "includes/formatters/EchoFlyoutFormatter.php", "EchoForeignNotifications": "includes/ForeignNotifications.php", @@ -972,47 +1068,35 @@ "EchoNotificationDeleteJob": "includes/jobs/NotificationDeleteJob.php", "EchoNotificationJob": "includes/jobs/NotificationJob.php", "EchoNotificationMapper": "includes/mapper/NotificationMapper.php", - "EchoNotificationMapperTest": "tests/phpunit/mapper/NotificationMapperTest.php", - "EchoNotificationTest": "tests/phpunit/model/NotificationTest.php", "EchoNotifier": "includes/Notifier.php", - "EchoOOUI\\LabelIconWidget": "includes/ooui/LabelIconWidget.php", "EchoOnWikiList": "includes/EchoOnWikiList.php", "EchoPageLinkedPresentationModel": "includes/formatters/PageLinkedPresentationModel.php", "EchoPlainTextDigestEmailFormatter": "includes/formatters/EchoPlainTextDigestEmailFormatter.php", "EchoPlainTextEmailFormatter": "includes/formatters/EchoPlainTextEmailFormatter.php", - "EchoPresentationModelSectionTrait": "includes/formatters/PresentationModelSectionTrait.php", + "EchoPresentationModelSection": "includes/formatters/PresentationModelSection.php", "EchoRevertedPresentationModel": "includes/formatters/RevertedPresentationModel.php", "EchoRevisionLocalCache": "includes/cache/RevisionLocalCache.php", "EchoSeenTime": "includes/SeenTime.php", + "EchoServices": "includes/EchoServices.php", "EchoSummaryParser": "includes/EchoSummaryParser.php", "EchoSuppressionRowUpdateGenerator": "includes/schemaUpdate.php", - "EchoTalkPageFunctionalTest": "tests/phpunit/TalkPageFunctionalTest.php", "EchoTargetPage": "includes/model/TargetPage.php", "EchoTargetPageMapper": "includes/mapper/TargetPageMapper.php", - "EchoTargetPageMapperTest": "tests/phpunit/mapper/TargetPageMapperTest.php", - "EchoTargetPageTest": "tests/phpunit/model/TargetPageTest.php", "EchoTitleLocalCache": "includes/cache/TitleLocalCache.php", - "EchoTitleLocalCacheTest": "tests/phpunit/cache/TitleLocalCacheTest.php", "EchoUnreadWikis": "includes/UnreadWikis.php", "EchoUserLocator": "includes/UserLocator.php", - "EchoUserLocatorTest": "tests/phpunit/UserLocatorTest.php", "EchoUserNotificationGateway": "includes/gateway/UserNotificationGateway.php", - "EchoUserNotificationGatewayTest": "tests/phpunit/gateway/UserNotificationGatewayTest.php", "EchoUserRightsPresentationModel": "includes/formatters/UserRightsPresentationModel.php", "EchoWelcomePresentationModel": "includes/formatters/WelcomePresentationModel.php", - "FilteredSequentialIteratorTest": "tests/phpunit/iterator/FilteredSequentialIteratorTest.php", + "EchoWatchlistChangePresentationModel": "includes/formatters/WatchlistChangePresentationModel.php", "GenerateSampleNotifications": "maintenance/generateSampleNotifications.php", "MWEchoDbFactory": "includes/EchoDbFactory.php", - "MWEchoDbFactoryTest": "tests/phpunit/EchoDbFactoryTest.php", "MWEchoEmailBatch": "includes/EmailBatch.php", "MWEchoEventLogging": "includes/EventLogging.php", "MWEchoNotifUser": "includes/NotifUser.php", - "MWEchoNotifUserTest": "tests/phpunit/NotifUserTest.php", - "MWEchoThankYouEditTest": "tests/phpunit/ThankYouEditTest.php", - "NotificationControllerTest": "tests/phpunit/controller/NotificationControllerTest.php", "NotificationPager": "includes/special/NotificationPager.php", - "NotificationsTest": "tests/phpunit/NotificationsTest.php", "ProcessEchoEmailBatch": "maintenance/processEchoEmailBatch.php", + "RecomputeNotifCounts": "maintenance/recomputeNotifCounts.php", "RemoveInvalidNotification": "maintenance/removeInvalidNotification.php", "RemoveOrphanedEvents": "maintenance/removeOrphanedEvents.php", "ResourceLoaderEchoImageModule": "includes/ResourceLoaderEchoImageModule.php", @@ -1020,9 +1104,22 @@ "SpecialNotifications": "includes/special/SpecialNotifications.php", "SpecialNotificationsFormatter": "includes/formatters/SpecialNotificationsFormatter.php", "SpecialNotificationsMarkRead": "includes/special/SpecialNotificationsMarkRead.php", - "SuppressionMaintenanceTest": "tests/phpunit/maintenance/SupressionMaintenanceTest.php", - "TestDiscussionParser": "maintenance/testDiscussionParser.php", "UpdateEchoSchemaForSuppression": "maintenance/updateEchoSchemaForSuppression.php", "EchoUpdatePerUserBlacklist": "maintenance/updatePerUserBlacklist.php" + }, + "AutoloadNamespaces": { + "EchoOOUI\\": "includes/ooui/", + "EchoPush\\": "includes/Push/", + "EchoPush\\Api\\": "includes/api/Push/" + }, + "TestAutoloadClasses": { + "EchoAbstractMapperStub": "tests/phpunit/mapper/EchoAbstractMapperStub.php", + "EchoExecuteFirstArgumentStub": "tests/phpunit/mapper/EchoExecuteFirstArgumentStub.php" + }, + "ServiceWiringFiles": [ + "ServiceWiring.php" + ], + "ConfigRegistry": { + "Echo": "GlobalVarConfig::newInstance" } } |