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