Skip to content

Commit cfa7815

Browse files
BREAKING: Remove :snapRemoved event (#2076)
After merging #2073, I realized that we might as well remove `:snapRemoved` too. It is more confusing than `:snapUninstalled` and all current use-cases can be covered with the previously mentioned event.
1 parent 35dacf9 commit cfa7815

6 files changed

Lines changed: 8 additions & 44 deletions

File tree

packages/snaps-controllers/coverage.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
"branches": 91.01,
33
"functions": 96.35,
44
"lines": 97.68,
5-
"statements": 97.36
5+
"statements": 97.35
66
}

packages/snaps-controllers/src/cronjob/CronjobController.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,7 @@ describe('CronjobController', () => {
322322
cronjobController.destroy();
323323
});
324324

325-
it('handles SnapRemoved event', () => {
325+
it('handles SnapUninstalled event', () => {
326326
const rootMessenger = getRootCronjobControllerMessenger();
327327
const controllerMessenger =
328328
getRestrictedCronjobControllerMessenger(rootMessenger);
@@ -345,7 +345,7 @@ describe('CronjobController', () => {
345345
MOCK_ORIGIN,
346346
);
347347

348-
rootMessenger.publish('SnapController:snapRemoved', snapInfo);
348+
rootMessenger.publish('SnapController:snapUninstalled', snapInfo);
349349

350350
jest.advanceTimersByTime(inMilliseconds(1, Duration.Minute));
351351

packages/snaps-controllers/src/cronjob/CronjobController.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import type {
1919
SnapDisabled,
2020
SnapEnabled,
2121
SnapInstalled,
22-
SnapRemoved,
22+
SnapUninstalled,
2323
SnapUpdated,
2424
} from '..';
2525
import { getRunnableSnaps, SnapEndowments } from '..';
@@ -33,7 +33,7 @@ export type CronjobControllerActions =
3333

3434
export type CronjobControllerEvents =
3535
| SnapInstalled
36-
| SnapRemoved
36+
| SnapUninstalled
3737
| SnapUpdated
3838
| SnapEnabled
3939
| SnapDisabled;
@@ -119,7 +119,7 @@ export class CronjobController extends BaseController<
119119
);
120120

121121
this.messagingSystem.subscribe(
122-
'SnapController:snapRemoved',
122+
'SnapController:snapUninstalled',
123123
this._handleSnapUnregisterEvent,
124124
);
125125

@@ -331,7 +331,7 @@ export class CronjobController extends BaseController<
331331
);
332332

333333
this.messagingSystem.unsubscribe(
334-
'SnapController:snapRemoved',
334+
'SnapController:snapUninstalled',
335335
this._handleSnapUnregisterEvent,
336336
);
337337

packages/snaps-controllers/src/snaps/SnapController.test.ts

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -933,10 +933,6 @@ describe('SnapController', () => {
933933
);
934934

935935
expect(controller.get(MOCK_SNAP_ID)).toBeUndefined();
936-
expect(messenger.publish).toHaveBeenCalledWith(
937-
'SnapController:snapRemoved',
938-
getTruncatedSnap(),
939-
);
940936

941937
expect(messenger.publish).not.toHaveBeenCalledWith(
942938
'SnapController:snapUninstalled',
@@ -963,13 +959,6 @@ describe('SnapController', () => {
963959
throw new Error('foo');
964960
});
965961

966-
const eventSubscriptionPromise = new Promise<void>((resolve) => {
967-
messenger.subscribe('SnapController:snapRemoved', (truncatedSnap) => {
968-
expect(truncatedSnap).toStrictEqual(getTruncatedSnap());
969-
resolve();
970-
});
971-
});
972-
973962
await expect(
974963
snapController.installSnaps(MOCK_ORIGIN, {
975964
[MOCK_SNAP_ID]: {},
@@ -991,13 +980,6 @@ describe('SnapController', () => {
991980
}),
992981
);
993982

994-
await eventSubscriptionPromise;
995-
996-
expect(messenger.publish).toHaveBeenCalledWith(
997-
'SnapController:snapRemoved',
998-
getTruncatedSnap(),
999-
);
1000-
1001983
expect(messenger.publish).not.toHaveBeenCalledWith(
1002984
'SnapController:snapUninstalled',
1003985
getTruncatedSnap(),
@@ -1523,11 +1505,6 @@ describe('SnapController', () => {
15231505

15241506
expect(snapController.state.snaps[snap.id]).toBeUndefined();
15251507

1526-
expect(messenger.publish).toHaveBeenCalledWith(
1527-
'SnapController:snapRemoved',
1528-
getTruncatedSnap(),
1529-
);
1530-
15311508
expect(messenger.publish).toHaveBeenCalledWith(
15321509
'SnapController:snapUninstalled',
15331510
getTruncatedSnap(),

packages/snaps-controllers/src/snaps/SnapController.ts

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -412,15 +412,6 @@ export type SnapUninstalled = {
412412
payload: [snap: TruncatedSnap];
413413
};
414414

415-
/**
416-
* Emitted when a snap is removed from state, this may happen even
417-
* if a snap has not fully completed installation.
418-
*/
419-
export type SnapRemoved = {
420-
type: `${typeof controllerName}:snapRemoved`;
421-
payload: [snap: TruncatedSnap];
422-
};
423-
424415
/**
425416
* Emitted when an installed snap has been unblocked.
426417
*/
@@ -475,7 +466,6 @@ export type SnapControllerEvents =
475466
| SnapBlocked
476467
| SnapInstalled
477468
| SnapUninstalled
478-
| SnapRemoved
479469
| SnapStateChange
480470
| SnapUnblocked
481471
| SnapUpdated
@@ -1493,8 +1483,6 @@ export class SnapController extends BaseController<
14931483
delete state.snapStates[snapId];
14941484
});
14951485

1496-
this.messagingSystem.publish(`SnapController:snapRemoved`, truncated);
1497-
14981486
// If the snap has been fully installed before, also emit snapUninstalled.
14991487
if (snap.status !== SnapStatus.Installing) {
15001488
this.messagingSystem.publish(

packages/snaps-controllers/src/test-utils/controller.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,6 @@ export const getSnapControllerMessenger = (
333333
'SnapController:snapUninstalled',
334334
'SnapController:snapUnblocked',
335335
'SnapController:snapUpdated',
336-
'SnapController:snapRemoved',
337336
'SnapController:stateChange',
338337
'SnapController:snapRolledback',
339338
],
@@ -498,7 +497,7 @@ export const getRestrictedCronjobControllerMessenger = (
498497
allowedEvents: [
499498
'SnapController:snapInstalled',
500499
'SnapController:snapUpdated',
501-
'SnapController:snapRemoved',
500+
'SnapController:snapUninstalled',
502501
'SnapController:snapEnabled',
503502
'SnapController:snapDisabled',
504503
],

0 commit comments

Comments
 (0)