@wireapp/core 45.2.2 → 45.2.3
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.
- package/lib/messagingProtocols/mls/E2EIdentityService/E2EIServiceExternal.d.ts.map +1 -1
- package/lib/messagingProtocols/mls/E2EIdentityService/E2EIServiceExternal.js +3 -2
- package/lib/util/LowPrecisionTaskScheduler/LowPrecisionTaskScheduler.d.ts +1 -1
- package/lib/util/LowPrecisionTaskScheduler/LowPrecisionTaskScheduler.d.ts.map +1 -1
- package/lib/util/LowPrecisionTaskScheduler/LowPrecisionTaskScheduler.js +15 -13
- package/lib/util/LowPrecisionTaskScheduler/LowPrecisionTaskScheduler.test.js +19 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"E2EIServiceExternal.d.ts","sourceRoot":"","sources":["../../../../src/messagingProtocols/mls/E2EIdentityService/E2EIServiceExternal.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AAIzD,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAC,UAAU,EAAE,qBAAqB,EAAE,YAAY,EAAE,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAMnG,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AAIrD,OAAO,EAAC,sBAAsB,EAAuB,MAAM,+BAA+B,CAAC;AAC3F,OAAO,EAAC,sBAAsB,EAAC,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAEzC,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,CAAC,GAAG;IACnE,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,WAAW,CAAC;CAC9B,CAAC;AAEF,KAAK,MAAM,GAAG;IACZ,UAAU,EAAE;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC;CAC9B,CAAC;AAGF,qBAAa,mBAAoB,SAAQ,iBAAiB,CAAC,MAAM,CAAC;IAK9D,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAR7B,OAAO,CAAC,YAAY,CAAC,CAAc;IACnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAiD;gBAGhE,gBAAgB,EAAE,UAAU,EAC5B,YAAY,EAAE,YAAY,EAC1B,sBAAsB,EAAE,sBAAsB,EAC9C,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU;IAU5B,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC;IAKhD,gBAAgB;IAIhB,oBAAoB,CAAC,cAAc,EAAE,UAAU,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIhF,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAI3B,0BAA0B,CACrC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,cAAc,EAAE,CAAC,GAAG,SAAS,CAAC;IAsBxD,kBAAkB,CAC7B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,WAAW,EAAE,GACrB,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,cAAc,EAAE,CAAC,GAAG,SAAS,CAAC;IAwDxD,oBAAoB,CAC/B,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAC1C,OAAO,CAAC,cAAc,EAAE,CAAC;IAgBf,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC;YAQvC,4BAA4B;IAO1C;;;;;OAKG;IACU,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5D,OAAO,KAAK,WAAW,GAKtB;YAEa,+BAA+B;IAK7C;;;;;;;;;;;;OAYG;YACW,0BAA0B;IA6BxC,OAAO,CAAC,4BAA4B;YAStB,+BAA+B;YAQ/B,uBAAuB;YAKvB,0BAA0B;YAI1B,4BAA4B;YAO5B,WAAW;YAkBX,8BAA8B;
|
|
1
|
+
{"version":3,"file":"E2EIServiceExternal.d.ts","sourceRoot":"","sources":["../../../../src/messagingProtocols/mls/E2EIdentityService/E2EIServiceExternal.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AAIzD,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAC,UAAU,EAAE,qBAAqB,EAAE,YAAY,EAAE,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAMnG,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AAIrD,OAAO,EAAC,sBAAsB,EAAuB,MAAM,+BAA+B,CAAC;AAC3F,OAAO,EAAC,sBAAsB,EAAC,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAEzC,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,CAAC,GAAG;IACnE,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,WAAW,CAAC;CAC9B,CAAC;AAEF,KAAK,MAAM,GAAG;IACZ,UAAU,EAAE;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC;CAC9B,CAAC;AAGF,qBAAa,mBAAoB,SAAQ,iBAAiB,CAAC,MAAM,CAAC;IAK9D,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAR7B,OAAO,CAAC,YAAY,CAAC,CAAc;IACnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAiD;gBAGhE,gBAAgB,EAAE,UAAU,EAC5B,YAAY,EAAE,YAAY,EAC1B,sBAAsB,EAAE,sBAAsB,EAC9C,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU;IAU5B,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC;IAKhD,gBAAgB;IAIhB,oBAAoB,CAAC,cAAc,EAAE,UAAU,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIhF,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAI3B,0BAA0B,CACrC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,cAAc,EAAE,CAAC,GAAG,SAAS,CAAC;IAsBxD,kBAAkB,CAC7B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,WAAW,EAAE,GACrB,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,cAAc,EAAE,CAAC,GAAG,SAAS,CAAC;IAwDxD,oBAAoB,CAC/B,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAC1C,OAAO,CAAC,cAAc,EAAE,CAAC;IAgBf,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC;YAQvC,4BAA4B;IAO1C;;;;;OAKG;IACU,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5D,OAAO,KAAK,WAAW,GAKtB;YAEa,+BAA+B;IAK7C;;;;;;;;;;;;OAYG;YACW,0BAA0B;IA6BxC,OAAO,CAAC,4BAA4B;YAStB,+BAA+B;YAQ/B,uBAAuB;YAKvB,0BAA0B;YAI1B,4BAA4B;YAO5B,WAAW;YAkBX,8BAA8B;CAM7C"}
|
|
@@ -184,7 +184,7 @@ class E2EIServiceExternal extends commons_1.TypedEventEmitter {
|
|
|
184
184
|
}
|
|
185
185
|
}
|
|
186
186
|
async addCrlDistributionTimer({ expiresAt, url }) {
|
|
187
|
-
await this.coreDatabase.
|
|
187
|
+
await this.coreDatabase.put('crls', { expiresAt, url }, url);
|
|
188
188
|
this.scheduleCrlDistributionTimer({ expiresAt, url });
|
|
189
189
|
}
|
|
190
190
|
async cancelCrlDistributionTimer(url) {
|
|
@@ -209,7 +209,8 @@ class E2EIServiceExternal extends commons_1.TypedEventEmitter {
|
|
|
209
209
|
}
|
|
210
210
|
}
|
|
211
211
|
async handleNewCrlDistributionPoints(distributionPoints) {
|
|
212
|
-
|
|
212
|
+
const uniqueDistributionPoints = Array.from(new Set(distributionPoints));
|
|
213
|
+
for (const distributionPointUrl of uniqueDistributionPoints) {
|
|
213
214
|
await this.validateCrlDistributionPoint(distributionPointUrl);
|
|
214
215
|
}
|
|
215
216
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LowPrecisionTaskScheduler.d.ts","sourceRoot":"","sources":["../../../src/util/LowPrecisionTaskScheduler/LowPrecisionTaskScheduler.ts"],"names":[],"mappings":"AAqBA,UAAU,YAAY;IACpB,
|
|
1
|
+
{"version":3,"file":"LowPrecisionTaskScheduler.d.ts","sourceRoot":"","sources":["../../../src/util/LowPrecisionTaskScheduler/LowPrecisionTaskScheduler.ts"],"names":[],"mappings":"AAqBA,UAAU,YAAY;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,UAAU,8BAA+B,SAAQ,YAAY;IAC3D,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,4BAA4B;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;CACvB;AAsCD,UAAU,4BAA4B;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;CACvB;AAmBD,eAAO,MAAM,yBAAyB;wDAvDmB,8BAA8B;yCAsC7C,4BAA4B;CAiBR,CAAC"}
|
|
@@ -31,20 +31,21 @@ const addTask = ({ key, firingDate, task, intervalDelay }) => {
|
|
|
31
31
|
if (existingIntervalId) {
|
|
32
32
|
clearInterval(existingIntervalId);
|
|
33
33
|
}
|
|
34
|
-
const tasks = ((_b = intervals[intervalDelay]) === null || _b === void 0 ? void 0 : _b.tasks) ||
|
|
35
|
-
tasks
|
|
34
|
+
const tasks = ((_b = intervals[intervalDelay]) === null || _b === void 0 ? void 0 : _b.tasks) || {};
|
|
35
|
+
tasks[key] = { firingDate, task };
|
|
36
36
|
const timeoutId = setInterval(async () => {
|
|
37
37
|
var _a;
|
|
38
38
|
const nowTime = new Date().getTime();
|
|
39
39
|
const tasks = (_a = intervals[intervalDelay]) === null || _a === void 0 ? void 0 : _a.tasks;
|
|
40
|
-
if (
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
40
|
+
if (!tasks) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
for (const key in tasks) {
|
|
44
|
+
if (tasks[key].firingDate <= nowTime) {
|
|
45
|
+
const { task } = tasks[key];
|
|
46
|
+
logger.info(`Executing task with key "${key}"`);
|
|
47
|
+
delete tasks[key];
|
|
48
|
+
task();
|
|
48
49
|
}
|
|
49
50
|
}
|
|
50
51
|
}, intervalDelay);
|
|
@@ -53,11 +54,12 @@ const addTask = ({ key, firingDate, task, intervalDelay }) => {
|
|
|
53
54
|
};
|
|
54
55
|
const cancelTask = ({ intervalDelay, key }) => {
|
|
55
56
|
if (intervals[intervalDelay]) {
|
|
56
|
-
const tasks = intervals[intervalDelay].tasks ||
|
|
57
|
-
const newTasks =
|
|
57
|
+
const tasks = intervals[intervalDelay].tasks || {};
|
|
58
|
+
const newTasks = Object.assign({}, tasks);
|
|
59
|
+
delete newTasks[key];
|
|
58
60
|
intervals[intervalDelay].tasks = newTasks;
|
|
59
61
|
logger.info(`Scheduled task with key "${key}" prematurely cleared`);
|
|
60
|
-
if (newTasks.length === 0) {
|
|
62
|
+
if (Object.keys(newTasks).length === 0) {
|
|
61
63
|
clearInterval(intervals[intervalDelay].timeoutId);
|
|
62
64
|
delete intervals[intervalDelay];
|
|
63
65
|
}
|
|
@@ -70,6 +70,25 @@ describe('LowPrecisionTaskScheduler', () => {
|
|
|
70
70
|
expect(mockedTask1).toHaveBeenCalled();
|
|
71
71
|
expect(mockedTask2).toHaveBeenCalled();
|
|
72
72
|
});
|
|
73
|
+
it('adding a task with the same delay and key should overwrite the previous task', async () => {
|
|
74
|
+
const mockedTask1 = jest.fn().mockReturnValue(Promise.resolve('hello task 1'));
|
|
75
|
+
LowPrecisionTaskScheduler_1.LowPrecisionTaskScheduler.addTask({
|
|
76
|
+
key: 'same-key',
|
|
77
|
+
firingDate: 5000,
|
|
78
|
+
intervalDelay: 1000,
|
|
79
|
+
task: mockedTask1,
|
|
80
|
+
});
|
|
81
|
+
LowPrecisionTaskScheduler_1.LowPrecisionTaskScheduler.addTask({
|
|
82
|
+
key: 'same-key',
|
|
83
|
+
firingDate: 7000,
|
|
84
|
+
intervalDelay: 1000,
|
|
85
|
+
task: mockedTask1,
|
|
86
|
+
});
|
|
87
|
+
await (0, testUtils_1.advanceJestTimersWithPromise)(5000);
|
|
88
|
+
expect(mockedTask1).not.toHaveBeenCalled();
|
|
89
|
+
await (0, testUtils_1.advanceJestTimersWithPromise)(2000);
|
|
90
|
+
expect(mockedTask1).toHaveBeenCalled();
|
|
91
|
+
});
|
|
73
92
|
it('cancels tasks', async () => {
|
|
74
93
|
const mockedTask3 = jest.fn().mockReturnValue(Promise.resolve('hello task 3'));
|
|
75
94
|
const mockedTask4 = jest.fn().mockReturnValue(Promise.resolve('hello task 4'));
|
package/package.json
CHANGED