Refactor WebSocket message interfaces

Changes:
- Replace AccountTextMessage with an extendable ContactMessage interface
- Add accountId parameter to server-side WebSocket callbacks
- Set the accountId for WebRTC messages on server-side for security
- Rename all WebRTC and SDP variables to proper camelCase or PascalCase

GitLab: #147
Change-Id: I125b5431821b03ef4d46b751eb1c13830017ccff
diff --git a/client/src/pages/ChatInterface.tsx b/client/src/pages/ChatInterface.tsx
index f226fec..f30c15a 100644
--- a/client/src/pages/ChatInterface.tsx
+++ b/client/src/pages/ChatInterface.tsx
@@ -88,12 +88,13 @@
 
   useEffect(() => {
     if (webSocket) {
-      const conversationMessageListener = ({ message }: ConversationMessage) => {
+      const conversationMessageListener = (data: ConversationMessage) => {
         console.log('newMessage');
-        setMessages((messages) => addMessage(messages, message));
+        setMessages((messages) => addMessage(messages, data.message));
       };
 
       webSocket.bind(WebSocketMessageType.ConversationMessage, conversationMessageListener);
+
       return () => {
         webSocket.unbind(WebSocketMessageType.ConversationMessage, conversationMessageListener);
       };
diff --git a/client/src/pages/Messenger.tsx b/client/src/pages/Messenger.tsx
index 9b28a28..c2bc1e7 100644
--- a/client/src/pages/Messenger.tsx
+++ b/client/src/pages/Messenger.tsx
@@ -16,7 +16,7 @@
  * <https://www.gnu.org/licenses/>.
  */
 import { Box, Stack } from '@mui/material';
-import { Contact, Conversation, WebSocketMessageType } from 'jami-web-common';
+import { Contact, Conversation, ConversationMessage, WebSocketMessageType } from 'jami-web-common';
 import { useContext, useEffect, useState } from 'react';
 import { Outlet } from 'react-router-dom';
 
@@ -66,9 +66,15 @@
       return;
     }
 
-    const conversationMessageListener = () => dispatch(setRefreshFromSlice());
+    const conversationMessageListener = (_data: ConversationMessage) => {
+      dispatch(setRefreshFromSlice());
+    };
+
     webSocket.bind(WebSocketMessageType.ConversationMessage, conversationMessageListener);
-    return () => webSocket.unbind(WebSocketMessageType.ConversationMessage, conversationMessageListener);
+
+    return () => {
+      webSocket.unbind(WebSocketMessageType.ConversationMessage, conversationMessageListener);
+    };
   }, [webSocket, dispatch]);
 
   useEffect(() => {