From c50bbafc8d41b86def89dc10df4fc830a9432314 Mon Sep 17 00:00:00 2001 From: Marvin Borner Date: Sat, 23 Feb 2019 15:57:42 +0100 Subject: Added storing of own messages --- public/scripts/chat.js | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'public/scripts/chat.js') diff --git a/public/scripts/chat.js b/public/scripts/chat.js index ef3eaef..8176102 100644 --- a/public/scripts/chat.js +++ b/public/scripts/chat.js @@ -165,7 +165,9 @@ function chat() { connectedPeer.peer, await encryption.getPeerPublicKey(connectedPeer.peer), ) - .then(messages => messages.forEach(async messageData => receivedMessage(`${messageData.message} - ${messageData.time}`, true))); + .then(messages => messages.forEach(async (messageData) => { + await receivedMessage(messageData); + })); transferKey(await encryption.getPublicKey()); } else if (data.type !== 'state') { console.log('[LOG] Received new message!'); @@ -207,7 +209,9 @@ function chat() { connectedPeer.peer, await encryption.getPeerPublicKey(connectedPeer.peer), ) - .then(messages => messages.forEach(async messageData => receivedMessage(`${messageData.message} - ${messageData.time}`, true))); + .then(messages => messages.forEach(async (messageData) => { + await receivedMessage(messageData); + })); connectedPeer.on('close', () => { swal('Disconnected!', `The connection to "${connectedPeer.peer}" has been closed!`, 'error'); }); @@ -264,6 +268,7 @@ function chat() { if (self) { $('#messages') .append(`${message}
`); + await encryption.storeMessage(connectedPeer.peer, message, true); } else if (message.type === 'text') { await encryption.storeMessage(connectedPeer.peer, message.data); await encryption.decrypt( @@ -272,10 +277,20 @@ function chat() { ) .then(plaintext => $('#messages') .append(`${plaintext}
`)); + } else if (message.type === 'decrypted') { + if (message.self) { + $('#messages') + .append(`${message.message} - ${message.time}
`); + } else { + $('#messages') + .append(`${message.message} - ${message.time}
`); + } } else if (message.type === 'file') { processFile(message); } else if (message.type === 'key') { await encryption.storePeerPublicKey(connectedPeer.peer, message.data); + } else { + console.error('Received unsupported message!'); } } -- cgit v1.2.3