From 4b9d36039734a1b23d960ba215190860855b0141 Mon Sep 17 00:00:00 2001 From: Marvin Borner Date: Mon, 28 Jan 2019 19:11:25 +0100 Subject: Tried implementing encrypted message storage --- public/scripts/chat.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'public/scripts/chat.js') diff --git a/public/scripts/chat.js b/public/scripts/chat.js index 35e75db..36cfdf1 100644 --- a/public/scripts/chat.js +++ b/public/scripts/chat.js @@ -90,9 +90,11 @@ function chat() { // Peer events peer.on('open', id => console.log('[LOG] Your ID is', id)); peer.on('error', err => console.error(err)); - peer.on('connection', conn => { + peer.on('connection', async conn => { connectedPeer = conn; console.log('[LOG] Connected with', connectedPeer.peer); + encryption.getMsgs(connectedPeer.peer, await encryption.get(connectedPeer.peer), await encryption.getPrivate(), passphrase).then(messages => + messages.forEach(data => receivedMessage(`${data.message} - ${data.time}`, true))); connectedPeer.on('open', async () => transferKey(await encryption.getPublic())); connectedPeer.on('data', async message => { console.log('[LOG] Received new message!'); @@ -111,6 +113,8 @@ function chat() { console.log('[LOG] Your connection ID is', connectionId); connectedPeer = peer.connect(id, {label: connectionId, reliable: true}); console.log('[LOG] Connected with', connectedPeer.peer); + encryption.getMsgs(connectedPeer.peer, await encryption.get(connectedPeer.peer), await encryption.getPrivate(), passphrase).then(messages => + messages.forEach(data => receivedMessage(`${data.message} - ${data.time}`, true))); connectedPeer.on('open', async () => transferKey(await encryption.getPublic())); connectedPeer.on('data', async message => { console.log('[LOG] Received new message!'); @@ -151,6 +155,7 @@ function chat() { $('#messages').append(`${message}
`); } else { if (message.type === 'text') { + await encryption.storeMsg(peerId, message.data); await encryption.decrypt(message.data, await encryption.get(connectedPeer.peer), await encryption.getPrivate(), passphrase) .then(plaintext => $('#messages').append(`${plaintext}
`)); } else if (message.type === 'key') { -- cgit v1.2.3