@wireapp/core 45.2.2 → 45.2.4

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.
@@ -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;CAK7C"}
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.add('crls', { expiresAt, url }, url);
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
- for (const distributionPointUrl of distributionPoints) {
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,9 +1,9 @@
1
1
  interface IntervalTask {
2
- key: string;
3
2
  firingDate: number;
4
3
  task: () => void;
5
4
  }
6
5
  interface ScheduleLowPrecisionTaskParams extends IntervalTask {
6
+ key: string;
7
7
  intervalDelay: number;
8
8
  }
9
9
  interface CancelLowPrecisionTaskParams {
@@ -1 +1 @@
1
- {"version":3,"file":"LowPrecisionTaskScheduler.d.ts","sourceRoot":"","sources":["../../../src/util/LowPrecisionTaskScheduler/LowPrecisionTaskScheduler.ts"],"names":[],"mappings":"AAqBA,UAAU,YAAY;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,UAAU,8BAA+B,SAAQ,YAAY;IAC3D,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,4BAA4B;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;CACvB;AAkCD,UAAU,4BAA4B;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;CACvB;AAgBD,eAAO,MAAM,yBAAyB;wDAhDmB,8BAA8B;yCAkC7C,4BAA4B;CAcR,CAAC"}
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.push({ key, firingDate, task });
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 ((tasks === null || tasks === void 0 ? void 0 : tasks.length) !== 0) {
41
- for (const taskData of tasks) {
42
- if (nowTime >= taskData.firingDate) {
43
- const { task, key } = taskData;
44
- logger.info(`Executing task with key "${key}"`);
45
- cancelTask({ intervalDelay, key });
46
- task();
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 = tasks.filter(task => task.key !== key);
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
@@ -11,13 +11,13 @@
11
11
  "./lib/cryptography/AssetCryptography/crypto.node": "./lib/cryptography/AssetCryptography/crypto.browser.js"
12
12
  },
13
13
  "dependencies": {
14
- "@wireapp/api-client": "^26.11.1",
14
+ "@wireapp/api-client": "^26.11.2",
15
15
  "@wireapp/commons": "^5.2.7",
16
16
  "@wireapp/core-crypto": "1.0.0-rc.47",
17
17
  "@wireapp/cryptobox": "12.8.0",
18
18
  "@wireapp/priority-queue": "^2.1.5",
19
19
  "@wireapp/promise-queue": "^2.3.2",
20
- "@wireapp/protocol-messaging": "1.45.0",
20
+ "@wireapp/protocol-messaging": "1.46.0",
21
21
  "@wireapp/store-engine": "5.1.5",
22
22
  "axios": "1.6.7",
23
23
  "bazinga64": "^6.3.4",
@@ -61,6 +61,6 @@
61
61
  "test:coverage": "jest --coverage",
62
62
  "watch": "tsc --watch"
63
63
  },
64
- "version": "45.2.2",
65
- "gitHead": "910f315128a1370c0583f3d5f76b28c1546bb9e1"
64
+ "version": "45.2.4",
65
+ "gitHead": "2a514b4f0af3788156499708b28b64ca9b1be116"
66
66
  }