File tree Expand file tree Collapse file tree
network-connection-banner
network-connection-banner Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -87,6 +87,7 @@ import {
8787import { ClaimsController , ClaimsService } from '@metamask/claims-controller' ;
8888import { ClientController } from '@metamask/client-controller' ;
8989import { ConnectivityController } from '@metamask/connectivity-controller' ;
90+ import { NetworkConnectionBannerController } from '@metamask/network-connection-banner-controller' ;
9091import {
9192 ProfileMetricsController ,
9293 ProfileMetricsService ,
@@ -233,7 +234,8 @@ export type MessengerClient =
233234 | StaticAssetsController
234235 | ProfileMetricsController
235236 | ProfileMetricsService
236- | ConnectivityController ;
237+ | ConnectivityController
238+ | NetworkConnectionBannerController ;
237239
238240/**
239241 * Flat state object for all messenger clients supporting or required by modular initialization.
Original file line number Diff line number Diff line change @@ -92,6 +92,7 @@ import {
9292 getSubscriptionControllerMessenger ,
9393} from './subscription' ;
9494import { getConnectivityControllerMessenger } from './connectivity' ;
95+ import { getNetworkConnectionBannerControllerMessenger } from './network-connection-banner' ;
9596import { getGatorPermissionsControllerMessenger } from './gator-permissions/gator-permissions-controller-messenger' ;
9697import { getMetaMetricsControllerMessenger } from './metametrics-controller-messenger' ;
9798import { getUserStorageControllerInitMessenger } from './identity/user-storage-controller-messenger' ;
@@ -402,6 +403,10 @@ export const MESSENGER_FACTORIES = {
402403 getMessenger : getConnectivityControllerMessenger ,
403404 getInitMessenger : noop ,
404405 } ,
406+ NetworkConnectionBannerController : {
407+ getMessenger : getNetworkConnectionBannerControllerMessenger ,
408+ getInitMessenger : noop ,
409+ } ,
405410 ClaimsController : {
406411 getMessenger : getClaimsControllerMessenger ,
407412 getInitMessenger : getClaimsControllerInitMessenger ,
Original file line number Diff line number Diff line change 1+ export { getNetworkConnectionBannerControllerMessenger } from './network-connection-banner-controller-messenger' ;
Original file line number Diff line number Diff line change 1+ import {
2+ Messenger ,
3+ type MessengerActions ,
4+ type MessengerEvents ,
5+ } from '@metamask/messenger' ;
6+ import type { NetworkConnectionBannerControllerMessenger } from '@metamask/network-connection-banner-controller' ;
7+ import { RootMessenger } from '../../../lib/messenger' ;
8+
9+ /**
10+ * Get a messenger for the NetworkConnectionBannerController.
11+ *
12+ * @param messenger - The root messenger.
13+ * @returns The messenger for NetworkConnectionBannerController.
14+ */
15+ export function getNetworkConnectionBannerControllerMessenger (
16+ messenger : RootMessenger <
17+ MessengerActions < NetworkConnectionBannerControllerMessenger > ,
18+ MessengerEvents < NetworkConnectionBannerControllerMessenger >
19+ > ,
20+ ) : NetworkConnectionBannerControllerMessenger {
21+ const controllerMessenger : NetworkConnectionBannerControllerMessenger =
22+ new Messenger ( {
23+ namespace : 'NetworkConnectionBannerController' ,
24+ parent : messenger ,
25+ } ) ;
26+ return controllerMessenger ;
27+ }
Original file line number Diff line number Diff line change 1+ export { NetworkConnectionBannerControllerInit } from './network-connection-banner-controller-init' ;
Original file line number Diff line number Diff line change 1+ import {
2+ NetworkConnectionBannerController ,
3+ type NetworkConnectionBannerControllerMessenger ,
4+ } from '@metamask/network-connection-banner-controller' ;
5+
6+ import { MessengerClientInitFunction } from '../types' ;
7+
8+ /**
9+ * Initialize the NetworkConnectionBannerController.
10+ *
11+ * Encapsulates the show/hide rule and 5s/30s timer state machine for the
12+ * "Still connecting" / "Unable to connect" banner. Subscribes to
13+ * NetworkController, NetworkEnablementController, and ConnectivityController
14+ * state via the messenger.
15+ *
16+ * @param request - The controller init request.
17+ * @param request.controllerMessenger - The messenger for the controller.
18+ * @returns The controller init result.
19+ */
20+ export const NetworkConnectionBannerControllerInit : MessengerClientInitFunction <
21+ NetworkConnectionBannerController ,
22+ NetworkConnectionBannerControllerMessenger
23+ > = ( request ) => {
24+ const { controllerMessenger } = request ;
25+
26+ const messengerClient = new NetworkConnectionBannerController ( {
27+ messenger : controllerMessenger ,
28+ } ) ;
29+
30+ return {
31+ messengerClient,
32+ persistedStateKey : null ,
33+ } ;
34+ } ;
Original file line number Diff line number Diff line change @@ -404,6 +404,7 @@ import {
404404 SubscriptionServiceInit ,
405405} from './messenger-client-init/subscription' ;
406406import { ConnectivityControllerInit } from './messenger-client-init/connectivity' ;
407+ import { NetworkConnectionBannerControllerInit } from './messenger-client-init/network-connection-banner' ;
407408import { AccountTrackerControllerInit } from './messenger-client-init/account-tracker-controller-init' ;
408409import { OnboardingControllerInit } from './messenger-client-init/onboarding-controller-init' ;
409410import { RemoteFeatureFlagControllerInit } from './messenger-client-init/remote-feature-flag-controller-init' ;
@@ -699,6 +700,7 @@ export default class MetamaskController extends EventEmitter {
699700 SubscriptionController : SubscriptionControllerInit ,
700701 SubscriptionService : SubscriptionServiceInit ,
701702 ConnectivityController : ConnectivityControllerInit ,
703+ NetworkConnectionBannerController : NetworkConnectionBannerControllerInit ,
702704 NetworkOrderController : NetworkOrderControllerInit ,
703705 ShieldController : ShieldControllerInit ,
704706 ClaimsController : ClaimsControllerInit ,
Original file line number Diff line number Diff line change 161161 "yarn-binary:hydrate" : " corepack hydrate .yarn/yarn-corepack.tgz --activate"
162162 },
163163 "resolutions" : {
164+ "@metamask/network-connection-banner-controller" : " npm:@metamask-previews/network-connection-banner-controller@0.1.0-preview-7507a11" ,
164165 "@metamask/bridge-controller" : " 73.2.0" ,
165166 "@metamask/messenger@npm:^0.3.0" : " ^1.2.0" ,
166167 "@metamask/network-controller" : " 32.0.0" ,
399400 "@metamask/multichain-network-controller" : " ^3.1.0" ,
400401 "@metamask/multichain-transactions-controller" : " ^7.1.0" ,
401402 "@metamask/name-controller" : " ^9.1.0" ,
403+ "@metamask/network-connection-banner-controller" : " ^0.1.0" ,
402404 "@metamask/network-controller" : " ^32.0.0" ,
403405 "@metamask/network-enablement-controller" : " ^5.3.0" ,
404406 "@metamask/notification-services-controller" : " ^23.1.0" ,
Original file line number Diff line number Diff line change @@ -7304,6 +7304,22 @@ __metadata:
73047304 languageName: node
73057305 linkType: hard
73067306
7307+ "@metamask/network-connection-banner-controller@npm:@metamask-previews/network-connection-banner-controller@0.1.0-preview-7507a11":
7308+ version: 0.1.0-preview-7507a11
7309+ resolution: "@metamask-previews/network-connection-banner-controller@npm:0.1.0-preview-7507a11"
7310+ dependencies:
7311+ "@metamask/base-controller": "npm:^9.1.0"
7312+ "@metamask/connectivity-controller": "npm:^0.2.0"
7313+ "@metamask/messenger": "npm:^1.2.0"
7314+ "@metamask/network-controller": "npm:^32.0.0"
7315+ "@metamask/network-enablement-controller": "npm:^5.3.0"
7316+ "@metamask/utils": "npm:^11.9.0"
7317+ ip-regex: "npm:^4.3.0"
7318+ psl: "npm:^1.15.0"
7319+ checksum: 10/a3a8bb5f0e14aa503c72ed4d0b16ebd1763817bbdf3fb04f5dc4c6156ca8c0f02284fe73989676043b48fc198c366b6171f369fbafd1ceb906b397ccc22dcd11
7320+ languageName: node
7321+ linkType: hard
7322+
73077323"@metamask/network-controller@npm:32.0.0":
73087324 version: 32.0.0
73097325 resolution: "@metamask/network-controller@npm:32.0.0"
@@ -33261,6 +33277,7 @@ __metadata:
3326133277 "@metamask/multichain-network-controller": "npm:^3.1.0"
3326233278 "@metamask/multichain-transactions-controller": "npm:^7.1.0"
3326333279 "@metamask/name-controller": "npm:^9.1.0"
33280+ "@metamask/network-connection-banner-controller": "npm:^0.1.0"
3326433281 "@metamask/network-controller": "npm:^32.0.0"
3326533282 "@metamask/network-enablement-controller": "npm:^5.3.0"
3326633283 "@metamask/notification-services-controller": "npm:^23.1.0"
You can’t perform that action at this time.
0 commit comments