@meshconnect/uwc-core 1.4.1-snapshot.2829779 → 1.4.1-snapshot.f2651c4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -86,6 +86,19 @@ export declare class ConnectionService {
86
86
  * disconnect signal.
87
87
  */
88
88
  private attachSecondaryAccountSync;
89
+ /**
90
+ * A SECONDARY namespace just reported an empty account list. Determine whether
91
+ * this is a full wallet-initiated disconnect (vs. only that namespace losing
92
+ * authorization) by reading the ACTIVE namespace's LIVE account: if it's also
93
+ * gone, the whole wallet disconnected — clear the session via the active
94
+ * namespace's empty-list path. If the active namespace still has an account
95
+ * (a genuine partial change) or we can't tell, keep the conservative no-op.
96
+ *
97
+ * Motivating case: MetaMask's Solana-Snap active namespace emits no disconnect
98
+ * signal, while its eip155 (secondary) leg does — so the secondary empty is the
99
+ * only signal the wallet is gone.
100
+ */
101
+ private clearSessionIfWalletFullyDisconnected;
89
102
  /**
90
103
  * After a real account switch on `changedNamespace`, re-read the LIVE account
91
104
  * of every OTHER connected namespace and fold any that changed into the
@@ -1 +1 @@
1
- {"version":3,"file":"connection-service.d.ts","sourceRoot":"","sources":["../../src/services/connection-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,SAAS,EAET,cAAc,EACd,cAAc,EACd,SAAS,EAMV,MAAM,wBAAwB,CAAA;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAK7D,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED;;;gCAGgC;AAChC,eAAO,MAAM,4BAA4B,IAAI,CAAA;AAC7C,eAAO,MAAM,wBAAwB,MAAM,CAAA;AAE3C,qBAAa,iBAAiB;IA2B1B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,sBAAsB;IAC9B,OAAO,CAAC,YAAY;IAEpB,OAAO,CAAC,uBAAuB;IAjCjC,OAAO,CAAC,eAAe,CAAyB;IAChD,+EAA+E;IAC/E,OAAO,CAAC,iBAAiB,CAA0B;IACnD;;;;OAIG;IACH,OAAO,CAAC,6BAA6B,CAAwB;IAC7D;;;;;;OAMG;IACH,OAAO,CAAC,aAAa,CAA+B;IACpD;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB,CAAI;gBAG1B,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,EAAE,cAAc,EAAE,EACzB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,EAC1C,sBAAsB,EAAE,OAAO,EAC/B,YAAY,EAAE,YAAY,EAE1B,uBAAuB,EAAE,MAAM;IAGnC,OAAO,CACX,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC;IA4JhB,qFAAqF;IACrF,OAAO,CAAC,eAAe;IAwDvB;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IA0D7B;;;;;;OAMG;IACH,iBAAiB,IAAI,IAAI;IAYzB;;;;;;;OAOG;IACH,iBAAiB,IAAI,IAAI;IAmCzB;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,0BAA0B;IAsDlC;;;;;;;;;;;;;;;OAeG;YACW,wBAAwB;YAkGxB,kBAAkB;IAgEhC,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,kBAAkB;IA2C1B,OAAO,CAAC,2BAA2B;IAiD7B,UAAU,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BzD;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,gBAAgB;IASxB,gBAAgB,IAAI,MAAM,GAAG,SAAS;IAiBtC,UAAU,IAAI,cAAc,EAAE;IAI9B,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,IAAI;IAI9C,WAAW,IAAI,OAAO,EAAE;IAIxB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,wBAAwB;CAiBjC"}
1
+ {"version":3,"file":"connection-service.d.ts","sourceRoot":"","sources":["../../src/services/connection-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,SAAS,EAET,cAAc,EACd,cAAc,EACd,SAAS,EAMV,MAAM,wBAAwB,CAAA;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAK7D,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED;;;gCAGgC;AAChC,eAAO,MAAM,4BAA4B,IAAI,CAAA;AAC7C,eAAO,MAAM,wBAAwB,MAAM,CAAA;AAE3C,qBAAa,iBAAiB;IA2B1B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,sBAAsB;IAC9B,OAAO,CAAC,YAAY;IAEpB,OAAO,CAAC,uBAAuB;IAjCjC,OAAO,CAAC,eAAe,CAAyB;IAChD,+EAA+E;IAC/E,OAAO,CAAC,iBAAiB,CAA0B;IACnD;;;;OAIG;IACH,OAAO,CAAC,6BAA6B,CAAwB;IAC7D;;;;;;OAMG;IACH,OAAO,CAAC,aAAa,CAA+B;IACpD;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB,CAAI;gBAG1B,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,EAAE,cAAc,EAAE,EACzB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,EAC1C,sBAAsB,EAAE,OAAO,EAC/B,YAAY,EAAE,YAAY,EAE1B,uBAAuB,EAAE,MAAM;IAGnC,OAAO,CACX,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC;IA4JhB,qFAAqF;IACrF,OAAO,CAAC,eAAe;IAwDvB;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IA0D7B;;;;;;OAMG;IACH,iBAAiB,IAAI,IAAI;IAYzB;;;;;;;OAOG;IACH,iBAAiB,IAAI,IAAI;IAmCzB;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,0BAA0B;IA8ElC;;;;;;;;;;;OAWG;YACW,qCAAqC;IA2CnD;;;;;;;;;;;;;;;OAeG;YACW,wBAAwB;YAkGxB,kBAAkB;IAgEhC,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,kBAAkB;IA2C1B,OAAO,CAAC,2BAA2B;IAiD7B,UAAU,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BzD;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,gBAAgB;IASxB,gBAAgB,IAAI,MAAM,GAAG,SAAS;IAiBtC,UAAU,IAAI,cAAc,EAAE;IAI9B,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,IAAI;IAI9C,WAAW,IAAI,OAAO,EAAE;IAIxB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,wBAAwB;CAiBjC"}
@@ -365,12 +365,31 @@ export class ConnectionService {
365
365
  walletId
366
366
  }),
367
367
  onAccountsChanged: accounts => {
368
- // An empty list from a SECONDARY namespace means that namespace's
369
- // own authorization ended — NOT the session. Only the active
370
- // namespace's stream may signal the full wallet-initiated
371
- // disconnect (handleAccountsChanged's empty-list path).
372
- if (accounts.length === 0)
368
+ // An empty list from a SECONDARY namespace is USUALLY just that
369
+ // namespace's own de-auth, not the whole session — so we don't
370
+ // clobber the session on a partial change. BUT some wallets emit a
371
+ // disconnect ONLY on a secondary namespace: e.g. MetaMask (EVM +
372
+ // Solana Snap) fires `accountsChanged([])` on its eip155 leg but its
373
+ // Snap-derived active (solana) namespace emits nothing on a full
374
+ // wallet disconnect. Relying on the active namespace's stream alone
375
+ // then never sees the disconnect. So on a secondary empty, verify
376
+ // whether the wallet is FULLY gone (active namespace has no live
377
+ // account either) and, if so, clear the session.
378
+ if (accounts.length === 0) {
379
+ void this.clearSessionIfWalletFullyDisconnected(activeNamespace, connectionMode, walletId);
373
380
  return;
381
+ }
382
+ // Surface the secondary-namespace switch for observability. The
383
+ // ACTIVE namespace's switch already emits `walletAccountChanged` via
384
+ // the lifecycle bridge; secondary namespaces have accounts-sync only
385
+ // (no lifecycle stream), so emit it here for parity → `uwcObserver`
386
+ // forwards it to RUM as `uwc.walletAccountChanged`. Secondary-only,
387
+ // so it never double-counts the active namespace's emit.
388
+ this.eventManager.emit('walletAccountChanged', {
389
+ connectionMode,
390
+ walletId,
391
+ namespace
392
+ });
374
393
  this.handleAccountsChanged(accounts, namespace);
375
394
  },
376
395
  getRouting: () => ({ connectionMode, walletId, namespace }),
@@ -381,6 +400,58 @@ export class ConnectionService {
381
400
  }));
382
401
  }
383
402
  }
403
+ /**
404
+ * A SECONDARY namespace just reported an empty account list. Determine whether
405
+ * this is a full wallet-initiated disconnect (vs. only that namespace losing
406
+ * authorization) by reading the ACTIVE namespace's LIVE account: if it's also
407
+ * gone, the whole wallet disconnected — clear the session via the active
408
+ * namespace's empty-list path. If the active namespace still has an account
409
+ * (a genuine partial change) or we can't tell, keep the conservative no-op.
410
+ *
411
+ * Motivating case: MetaMask's Solana-Snap active namespace emits no disconnect
412
+ * signal, while its eip155 (secondary) leg does — so the secondary empty is the
413
+ * only signal the wallet is gone.
414
+ */
415
+ async clearSessionIfWalletFullyDisconnected(activeNamespace, connectionMode, walletId) {
416
+ const connector = this.activeConnector;
417
+ // Already torn down, or the connector can't report a live account — keep the
418
+ // conservative no-op (never risk a spurious disconnect).
419
+ if (!connector?.getLiveAccount)
420
+ return;
421
+ // The active namespace must still be the one we captured; a switch/teardown
422
+ // in flight supersedes this check.
423
+ if (this.sessionManager.getSession().activeNetwork?.namespace !==
424
+ activeNamespace) {
425
+ return;
426
+ }
427
+ let liveActiveAccount;
428
+ try {
429
+ liveActiveAccount = await connector.getLiveAccount(activeNamespace);
430
+ }
431
+ catch {
432
+ return;
433
+ }
434
+ // Active namespace still connected → genuine partial change → leave session.
435
+ if (liveActiveAccount)
436
+ return;
437
+ // Re-check the connector is still live after the await (guards a race with a
438
+ // concurrent teardown/disconnect that already cleared it).
439
+ if (this.activeConnector === null)
440
+ return;
441
+ // Surface the wallet-initiated disconnect for observability BEFORE clearing:
442
+ // the active namespace here emits no disconnect of its own (that's the whole
443
+ // reason we detect it from a secondary namespace), so without this the
444
+ // `walletDisconnected` telemetry the observer forwards to RUM would never
445
+ // fire for these wallets. Mirrors the lifecycle-bridge's emit for wallets
446
+ // whose active namespace DOES signal a disconnect.
447
+ this.eventManager.emit('walletDisconnected', {
448
+ connectionMode,
449
+ walletId,
450
+ namespace: activeNamespace
451
+ });
452
+ // Whole wallet is gone → run the wallet-initiated disconnect path.
453
+ this.handleAccountsChanged([], activeNamespace);
454
+ }
384
455
  /**
385
456
  * After a real account switch on `changedNamespace`, re-read the LIVE account
386
457
  * of every OTHER connected namespace and fold any that changed into the
@@ -1 +1 @@
1
- {"version":3,"file":"connection-service.js","sourceRoot":"","sources":["../../src/services/connection-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection-service.js","sourceRoot":"","sources":["../../src/services/connection-service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meshconnect/uwc-core",
3
- "version": "1.4.1-snapshot.2829779",
3
+ "version": "1.4.1-snapshot.f2651c4",
4
4
  "description": "Core functionality for Universal Wallet Connector",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -16,10 +16,10 @@
16
16
  "src"
17
17
  ],
18
18
  "dependencies": {
19
- "@meshconnect/uwc-ton-connector": "0.7.3-snapshot.2829779",
20
- "@meshconnect/uwc-injected-connector": "0.16.5-snapshot.2829779",
21
- "@meshconnect/uwc-types": "0.20.0-snapshot.2829779",
22
- "@meshconnect/uwc-wallet-connect-connector": "0.11.0-snapshot.2829779"
19
+ "@meshconnect/uwc-injected-connector": "0.16.5-snapshot.f2651c4",
20
+ "@meshconnect/uwc-ton-connector": "0.7.3-snapshot.f2651c4",
21
+ "@meshconnect/uwc-types": "0.20.0-snapshot.f2651c4",
22
+ "@meshconnect/uwc-wallet-connect-connector": "0.11.0-snapshot.f2651c4"
23
23
  },
24
24
  "devDependencies": {
25
25
  "typescript": "^5.9.3"
@@ -1088,6 +1088,9 @@ describe('ConnectionService', () => {
1088
1088
  })
1089
1089
 
1090
1090
  it("a secondary namespace's accountsChanged updates its availableAddresses entries without touching activeAddress", async () => {
1091
+ const walletAccountChangedSpy = vi.fn()
1092
+ eventManager.on('walletAccountChanged', walletAccountChangedSpy)
1093
+
1091
1094
  await connectionService.connect('injected', 'metamask', 'solana:mainnet')
1092
1095
 
1093
1096
  accountSubs.get('eip155')!(['0xSWITCHED'])
@@ -1098,17 +1101,22 @@ describe('ConnectionService', () => {
1098
1101
  { address: 'SoLAddr111', networkId: 'solana:mainnet' },
1099
1102
  { address: '0xSWITCHED', networkId: 'eip155:1' }
1100
1103
  ])
1104
+ // Surfaced for observability (uwcObserver → `uwc.walletAccountChanged`).
1105
+ expect(walletAccountChangedSpy).toHaveBeenCalledWith(
1106
+ expect.objectContaining({ namespace: 'eip155' })
1107
+ )
1101
1108
  })
1102
1109
 
1103
- it('an empty accounts list from a SECONDARY namespace does not disconnect the session', async () => {
1104
- // Only the ACTIVE namespace's stream may signal the full
1105
- // wallet-initiated disconnect — a secondary namespace reporting []
1106
- // means that namespace's own authorization ended, not the session.
1110
+ it('a secondary empty is a conservative no-op when the connector cannot report a live account', async () => {
1111
+ // No getLiveAccount on the connector → we cannot tell a partial de-auth
1112
+ // from a full disconnect, so keep the session (never risk a spurious
1113
+ // disconnect).
1107
1114
  const disconnectSpy = vi.fn().mockResolvedValue(undefined)
1108
1115
  mockConnector.disconnect = disconnectSpy
1109
1116
 
1110
1117
  await connectionService.connect('injected', 'metamask', 'solana:mainnet')
1111
1118
  accountSubs.get('eip155')!([])
1119
+ await new Promise(resolve => setTimeout(resolve, 0))
1112
1120
 
1113
1121
  const session = sessionManager.getSession()
1114
1122
  expect(session.connectionMode).toBe('injected')
@@ -1116,6 +1124,46 @@ describe('ConnectionService', () => {
1116
1124
  expect(disconnectSpy).not.toHaveBeenCalled()
1117
1125
  })
1118
1126
 
1127
+ it('a secondary empty does NOT disconnect when the ACTIVE namespace still has a live account (genuine partial change)', async () => {
1128
+ const disconnectSpy = vi.fn().mockResolvedValue(undefined)
1129
+ mockConnector.disconnect = disconnectSpy
1130
+ // Active (solana) still connected → the eip155 empty is only that leg's
1131
+ // de-auth.
1132
+ mockConnector.getLiveAccount = vi.fn().mockResolvedValue('SoLAddr111')
1133
+
1134
+ await connectionService.connect('injected', 'metamask', 'solana:mainnet')
1135
+ accountSubs.get('eip155')!([])
1136
+ await new Promise(resolve => setTimeout(resolve, 0))
1137
+
1138
+ const session = sessionManager.getSession()
1139
+ expect(mockConnector.getLiveAccount).toHaveBeenCalledWith('solana')
1140
+ expect(session.activeAddress).toBe('SoLAddr111')
1141
+ expect(disconnectSpy).not.toHaveBeenCalled()
1142
+ })
1143
+
1144
+ it('a secondary empty CLEARS the session when the ACTIVE namespace is also gone (full wallet disconnect, e.g. MetaMask whose Solana-Snap active namespace emits no disconnect)', async () => {
1145
+ const disconnectSpy = vi.fn().mockResolvedValue(undefined)
1146
+ mockConnector.disconnect = disconnectSpy
1147
+ // Active (solana) also gone → the whole wallet disconnected.
1148
+ mockConnector.getLiveAccount = vi.fn().mockResolvedValue(null)
1149
+ const walletDisconnectedSpy = vi.fn()
1150
+ eventManager.on('walletDisconnected', walletDisconnectedSpy)
1151
+
1152
+ await connectionService.connect('injected', 'metamask', 'solana:mainnet')
1153
+ accountSubs.get('eip155')!([])
1154
+ await new Promise(resolve => setTimeout(resolve, 0))
1155
+
1156
+ const session = sessionManager.getSession()
1157
+ expect(mockConnector.getLiveAccount).toHaveBeenCalledWith('solana')
1158
+ expect(disconnectSpy).toHaveBeenCalled()
1159
+ expect(session.activeAddress).toBeFalsy()
1160
+ // Surfaced as a wallet-initiated disconnect for observability — uwcObserver
1161
+ // forwards this to RUM as `uwc.walletDisconnected`.
1162
+ expect(walletDisconnectedSpy).toHaveBeenCalledWith(
1163
+ expect.objectContaining({ namespace: 'solana' })
1164
+ )
1165
+ })
1166
+
1119
1167
  it('disconnect() tears down the secondary subscriptions too', async () => {
1120
1168
  await connectionService.connect('injected', 'metamask', 'solana:mainnet')
1121
1169
 
@@ -462,11 +462,35 @@ export class ConnectionService {
462
462
  walletId
463
463
  }),
464
464
  onAccountsChanged: accounts => {
465
- // An empty list from a SECONDARY namespace means that namespace's
466
- // own authorization ended — NOT the session. Only the active
467
- // namespace's stream may signal the full wallet-initiated
468
- // disconnect (handleAccountsChanged's empty-list path).
469
- if (accounts.length === 0) return
465
+ // An empty list from a SECONDARY namespace is USUALLY just that
466
+ // namespace's own de-auth, not the whole session — so we don't
467
+ // clobber the session on a partial change. BUT some wallets emit a
468
+ // disconnect ONLY on a secondary namespace: e.g. MetaMask (EVM +
469
+ // Solana Snap) fires `accountsChanged([])` on its eip155 leg but its
470
+ // Snap-derived active (solana) namespace emits nothing on a full
471
+ // wallet disconnect. Relying on the active namespace's stream alone
472
+ // then never sees the disconnect. So on a secondary empty, verify
473
+ // whether the wallet is FULLY gone (active namespace has no live
474
+ // account either) and, if so, clear the session.
475
+ if (accounts.length === 0) {
476
+ void this.clearSessionIfWalletFullyDisconnected(
477
+ activeNamespace,
478
+ connectionMode,
479
+ walletId
480
+ )
481
+ return
482
+ }
483
+ // Surface the secondary-namespace switch for observability. The
484
+ // ACTIVE namespace's switch already emits `walletAccountChanged` via
485
+ // the lifecycle bridge; secondary namespaces have accounts-sync only
486
+ // (no lifecycle stream), so emit it here for parity → `uwcObserver`
487
+ // forwards it to RUM as `uwc.walletAccountChanged`. Secondary-only,
488
+ // so it never double-counts the active namespace's emit.
489
+ this.eventManager.emit('walletAccountChanged', {
490
+ connectionMode,
491
+ walletId,
492
+ namespace
493
+ })
470
494
  this.handleAccountsChanged(accounts, namespace)
471
495
  },
472
496
  getRouting: () => ({ connectionMode, walletId, namespace }),
@@ -479,6 +503,61 @@ export class ConnectionService {
479
503
  }
480
504
  }
481
505
 
506
+ /**
507
+ * A SECONDARY namespace just reported an empty account list. Determine whether
508
+ * this is a full wallet-initiated disconnect (vs. only that namespace losing
509
+ * authorization) by reading the ACTIVE namespace's LIVE account: if it's also
510
+ * gone, the whole wallet disconnected — clear the session via the active
511
+ * namespace's empty-list path. If the active namespace still has an account
512
+ * (a genuine partial change) or we can't tell, keep the conservative no-op.
513
+ *
514
+ * Motivating case: MetaMask's Solana-Snap active namespace emits no disconnect
515
+ * signal, while its eip155 (secondary) leg does — so the secondary empty is the
516
+ * only signal the wallet is gone.
517
+ */
518
+ private async clearSessionIfWalletFullyDisconnected(
519
+ activeNamespace: Namespace,
520
+ connectionMode: ConnectionMode,
521
+ walletId: string
522
+ ): Promise<void> {
523
+ const connector = this.activeConnector
524
+ // Already torn down, or the connector can't report a live account — keep the
525
+ // conservative no-op (never risk a spurious disconnect).
526
+ if (!connector?.getLiveAccount) return
527
+ // The active namespace must still be the one we captured; a switch/teardown
528
+ // in flight supersedes this check.
529
+ if (
530
+ this.sessionManager.getSession().activeNetwork?.namespace !==
531
+ activeNamespace
532
+ ) {
533
+ return
534
+ }
535
+ let liveActiveAccount: string | null
536
+ try {
537
+ liveActiveAccount = await connector.getLiveAccount(activeNamespace)
538
+ } catch {
539
+ return
540
+ }
541
+ // Active namespace still connected → genuine partial change → leave session.
542
+ if (liveActiveAccount) return
543
+ // Re-check the connector is still live after the await (guards a race with a
544
+ // concurrent teardown/disconnect that already cleared it).
545
+ if (this.activeConnector === null) return
546
+ // Surface the wallet-initiated disconnect for observability BEFORE clearing:
547
+ // the active namespace here emits no disconnect of its own (that's the whole
548
+ // reason we detect it from a secondary namespace), so without this the
549
+ // `walletDisconnected` telemetry the observer forwards to RUM would never
550
+ // fire for these wallets. Mirrors the lifecycle-bridge's emit for wallets
551
+ // whose active namespace DOES signal a disconnect.
552
+ this.eventManager.emit('walletDisconnected', {
553
+ connectionMode,
554
+ walletId,
555
+ namespace: activeNamespace
556
+ })
557
+ // Whole wallet is gone → run the wallet-initiated disconnect path.
558
+ this.handleAccountsChanged([], activeNamespace)
559
+ }
560
+
482
561
  /**
483
562
  * After a real account switch on `changedNamespace`, re-read the LIVE account
484
563
  * of every OTHER connected namespace and fold any that changed into the