1
1
diff --git a/node_modules/@metamask/snaps-controllers/dist/cronjob/CronjobController.cjs b/node_modules/@metamask/snaps-controllers/dist/cronjob/CronjobController.cjs
2
- index 0e8feeb..2bf546a 100644
2
+ index 0e8feeb..5eae8f9 100644
3
3
--- a/node_modules/@metamask/snaps-controllers/dist/cronjob/CronjobController.cjs
4
4
+++ b/node_modules/@metamask/snaps-controllers/dist/cronjob/CronjobController.cjs
5
5
@@ -39,9 +39,18 @@ class CronjobController extends base_controller_1.BaseController {
@@ -21,6 +21,28 @@ index 0e8feeb..2bf546a 100644
21
21
this.#start();
22
22
this.#clear();
23
23
this.#reschedule();
24
+ @@ -182,6 +191,12 @@ class CronjobController extends base_controller_1.BaseController {
25
+ if (ms > exports.DAILY_TIMEOUT) {
26
+ return;
27
+ }
28
+ + // When an event is supposed to be scheduled close to the current time
29
+ + // we may end up needing to execute immediately instead.
30
+ + if (ms <= 0) {
31
+ + this.#execute(event);
32
+ + return;
33
+ + }
34
+ const timer = new Timer_1.Timer(ms);
35
+ timer.start(() => {
36
+ this.#execute(event);
37
+ @@ -262,6 +277,8 @@ class CronjobController extends base_controller_1.BaseController {
38
+ * @param snap - Basic Snap information.
39
+ */
40
+ #handleSnapInstalledEvent = (snap) => {
41
+ + // In case of local Snaps, they may already have cronjobs that should be cleared.
42
+ + this.unregister(snap.id);
43
+ this.register(snap.id);
44
+ };
45
+ /**
24
46
diff --git a/node_modules/@metamask/snaps-controllers/dist/cronjob/CronjobController.d.cts b/node_modules/@metamask/snaps-controllers/dist/cronjob/CronjobController.d.cts
25
47
index 99f72dd..bac97d5 100644
26
48
--- a/node_modules/@metamask/snaps-controllers/dist/cronjob/CronjobController.d.cts
@@ -106,7 +128,7 @@ index 40ba2e1..ae0fb31 100644
106
128
* Schedule a non-recurring background event.
107
129
*
108
130
diff --git a/node_modules/@metamask/snaps-controllers/dist/cronjob/CronjobController.mjs b/node_modules/@metamask/snaps-controllers/dist/cronjob/CronjobController.mjs
109
- index e3f025c..b90b08f 100644
131
+ index e3f025c..421ecb8 100644
110
132
--- a/node_modules/@metamask/snaps-controllers/dist/cronjob/CronjobController.mjs
111
133
+++ b/node_modules/@metamask/snaps-controllers/dist/cronjob/CronjobController.mjs
112
134
@@ -36,9 +36,18 @@ export class CronjobController extends BaseController {
@@ -128,3 +150,25 @@ index e3f025c..b90b08f 100644
128
150
this.#start();
129
151
this.#clear();
130
152
this.#reschedule();
153
+ @@ -179,6 +188,12 @@ export class CronjobController extends BaseController {
154
+ if (ms > DAILY_TIMEOUT) {
155
+ return;
156
+ }
157
+ + // When an event is supposed to be scheduled close to the current time
158
+ + // we may end up needing to execute immediately instead.
159
+ + if (ms <= 0) {
160
+ + this.#execute(event);
161
+ + return;
162
+ + }
163
+ const timer = new Timer(ms);
164
+ timer.start(() => {
165
+ this.#execute(event);
166
+ @@ -259,6 +274,8 @@ export class CronjobController extends BaseController {
167
+ * @param snap - Basic Snap information.
168
+ */
169
+ #handleSnapInstalledEvent = (snap) => {
170
+ + // In case of local Snaps, they may already have cronjobs that should be cleared.
171
+ + this.unregister(snap.id);
172
+ this.register(snap.id);
173
+ };
174
+ /**
0 commit comments