Skip to content

Commit bc71fd5

Browse files
authored
Merge pull request #1176 from dm3-org/hotfix-1174.1
Hotfix 1174.1
2 parents 80b2fbf + 92226fe commit bc71fd5

File tree

61 files changed

+247
-260
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+247
-260
lines changed

packages/backend/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@dm3-org/dm3-backend",
33
"license": "BSD-2-Clause",
4-
"version": "1.6.0",
4+
"version": "1.6.1",
55
"main": "dist/index.js",
66
"types": "dist/index.d.ts",
77
"dependencies": {

packages/backend/src/persistence/storage/postgres/addMessageBatch.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,15 @@ export const addMessageBatch =
1919
account.id,
2020
encryptedContactName,
2121
);
22+
23+
const uniqueMessageBatch = messageBatch.filter(
24+
(message, index, self) =>
25+
index ===
26+
self.findIndex((m) => m.messageId === message.messageId),
27+
);
28+
2229
//store each message in the db
23-
const createMessagePromises = messageBatch.map(
30+
const createMessagePromises = uniqueMessageBatch.map(
2431
({
2532
messageId,
2633
createdAt,

packages/backend/src/storage.test.ts

Lines changed: 70 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1007,7 +1007,7 @@ describe('Storage', () => {
10071007
.send({
10081008
encryptedEnvelopContainer: JSON.stringify(envelop1),
10091009
encryptedContactName: sha256(receiver.account.ensName),
1010-
messageId: envelop1.metadata.encryptedMessageHash,
1010+
messageId: envelop1.metadata.messageHash,
10111011
createdAt: 1,
10121012
isHalted: true,
10131013
});
@@ -1146,6 +1146,75 @@ describe('Storage', () => {
11461146
expect(body[0].contact).toEqual(sha256(receiver.account.ensName));
11471147
expect(body.length).toBe(1);
11481148

1149+
const { status: getMessagesStatus, body: messages } = await request(
1150+
app,
1151+
)
1152+
.get(
1153+
`/new/bob.eth/getMessages/${sha256(
1154+
receiver.account.ensName,
1155+
)}`,
1156+
)
1157+
.set({
1158+
authorization: 'Bearer ' + token,
1159+
})
1160+
.send();
1161+
1162+
expect(getMessagesStatus).toBe(200);
1163+
expect(messages.length).toBe(2);
1164+
expect(
1165+
JSON.parse(JSON.parse(messages[0]).encryptedEnvelopContainer),
1166+
).toStrictEqual(envelop);
1167+
});
1168+
it('if batch contains duplicates it only creates the message once', async () => {
1169+
const messageFactory = MockMessageFactory(
1170+
sender,
1171+
receiver,
1172+
deliveryService,
1173+
);
1174+
const envelop = await messageFactory.createEncryptedEnvelop(
1175+
'Hello1',
1176+
);
1177+
const { status } = await request(app)
1178+
.post(`/new/bob.eth/addMessageBatch`)
1179+
.set({
1180+
authorization: 'Bearer ' + token,
1181+
})
1182+
.send({
1183+
encryptedContactName: sha256(receiver.account.ensName),
1184+
messageBatch: [
1185+
{
1186+
encryptedEnvelopContainer: JSON.stringify(envelop),
1187+
messageId: '123',
1188+
createdAt: 1,
1189+
isHalted: false,
1190+
},
1191+
{
1192+
encryptedEnvelopContainer: JSON.stringify(envelop),
1193+
messageId: '123',
1194+
createdAt: 1,
1195+
isHalted: false,
1196+
},
1197+
{
1198+
encryptedEnvelopContainer: JSON.stringify(envelop),
1199+
messageId: '456',
1200+
createdAt: 2,
1201+
isHalted: false,
1202+
},
1203+
],
1204+
});
1205+
expect(status).toBe(200);
1206+
1207+
const { body } = await request(app)
1208+
.get(`/new/bob.eth/getConversations`)
1209+
.set({
1210+
authorization: 'Bearer ' + token,
1211+
})
1212+
.send();
1213+
1214+
expect(status).toBe(200);
1215+
expect(body[0].contact).toEqual(sha256(receiver.account.ensName));
1216+
expect(body.length).toBe(1);
1217+
11491218
const { status: getMessagesStatus, body: messages } = await request(
11501219
app,
11511220
)

packages/billboard-client/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@dm3-org/dm3-billboard-client",
33
"license": "BSD-2-Clause",
4-
"version": "1.6.0",
4+
"version": "1.6.1",
55
"private": true,
66
"main": "dist/index.js",
77
"types": "dist/ined.d.ts",

packages/billboard-widget/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@dm3-org/dm3-billboard-widget",
33
"license": "BSD-2-Clause",
4-
"version": "1.6.0",
4+
"version": "1.6.1",
55
"files": [
66
"dist"
77
],

packages/delivery-service/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@dm3-org/delivery-service",
33
"license": "BSD-2-Clause",
4-
"version": "1.6.0",
4+
"version": "1.6.1",
55
"main": "dist/index.js",
66
"types": "dist/index.d.ts",
77
"dependencies": {

packages/delivery-service/src/persistence/messages/createMessage.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ describe('Create Message', () => {
3636
metadata: {
3737
deliveryInformation: '',
3838
signature: '',
39-
encryptedMessageHash: '',
39+
messageHash: '',
4040
version: '',
4141
encryptionScheme: 'x25519-chacha20-poly1305',
4242
},
@@ -64,7 +64,7 @@ describe('Create Message', () => {
6464
deliveryInstruction: '',
6565
},
6666
signature: '',
67-
encryptedMessageHash: '',
67+
messageHash: '',
6868
version: '',
6969
encryptionScheme: 'x25519-chacha20-poly1305',
7070
},

packages/delivery-service/src/persistence/messages/deleteExpiredMessages.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ describe('Delete Expired messages', () => {
2929
metadata: {
3030
deliveryInformation: '',
3131
signature: '',
32-
encryptedMessageHash: '',
32+
messageHash: '',
3333
version: '',
3434
encryptionScheme: 'x25519-chacha20-poly1305',
3535
},
@@ -44,7 +44,7 @@ describe('Delete Expired messages', () => {
4444
metadata: {
4545
deliveryInformation: '',
4646
signature: '',
47-
encryptedMessageHash: '',
47+
messageHash: '',
4848
version: '',
4949
encryptionScheme: 'x25519-chacha20-poly1305',
5050
},
@@ -60,7 +60,7 @@ describe('Delete Expired messages', () => {
6060
metadata: {
6161
deliveryInformation: '',
6262
signature: '',
63-
encryptedMessageHash: '',
63+
messageHash: '',
6464
version: '',
6565
encryptionScheme: 'x25519-chacha20-poly1305',
6666
},

packages/delivery-service/src/persistence/messages/syncAcknowledge.test.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ describe('Sync Acknowledge', () => {
3636
from: SENDER_ADDRESS,
3737
},
3838
signature: '',
39-
encryptedMessageHash: '0x123',
39+
messageHash: '0x123',
4040
version: '',
4141
encryptionScheme: 'x25519-chacha20-poly1305',
4242
},
@@ -49,7 +49,7 @@ describe('Sync Acknowledge', () => {
4949
from: SENDER_ADDRESS,
5050
},
5151
signature: '',
52-
encryptedMessageHash: '0x456',
52+
messageHash: '0x456',
5353
version: '',
5454
encryptionScheme: 'x25519-chacha20-poly1305',
5555
},
@@ -84,9 +84,7 @@ describe('Sync Acknowledge', () => {
8484
);
8585

8686
expect(afterSyncAcknowledge.length).toBe(1);
87-
expect(afterSyncAcknowledge[0].metadata.encryptedMessageHash).toBe(
88-
'0x456',
89-
);
87+
expect(afterSyncAcknowledge[0].metadata.messageHash).toBe('0x456');
9088
});
9189
it('returns false if message is not found', async () => {
9290
const envelop1: EncryptionEnvelop = {
@@ -97,7 +95,7 @@ describe('Sync Acknowledge', () => {
9795
from: SENDER_ADDRESS,
9896
},
9997
signature: '',
100-
encryptedMessageHash: '0x123',
98+
messageHash: '0x123',
10199
version: '',
102100
encryptionScheme: 'x25519-chacha20-poly1305',
103101
},

packages/delivery-service/src/persistence/messages/syncAcknowledge.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export function syncAcknowledge(redis: Redis) {
2222

2323
//find the message with the given hash
2424
const message = messages.find(
25-
(m) => m.metadata.encryptedMessageHash === messageHash,
25+
(m) => m.metadata.messageHash === messageHash,
2626
);
2727

2828
//return if the message is not found

0 commit comments

Comments
 (0)