diff --git a/src/app/app.ts b/src/app/app.ts index ca8c339..1150284 100644 --- a/src/app/app.ts +++ b/src/app/app.ts @@ -194,6 +194,16 @@ export default class Enclave

{ this.forceRender(); return; + + case "MessageDeleted": + delete server.messages[msg.channel_id][msg.message_id]; + this.forceRender(); + return; + + case "MessageEdited": + server.messages[msg.channel_id][msg.message.id] = msg.message; + this.forceRender(); + return; } } } diff --git a/src/app/protocol.ts b/src/app/protocol.ts index 69b5777..0d1c204 100644 --- a/src/app/protocol.ts +++ b/src/app/protocol.ts @@ -19,6 +19,16 @@ export type ClientMethod = | { method: "Users"; users: Record; + } + | { + method: "MessageEdited"; + channel_id: string; + message: StoredMessage; + } + | { + method: "MessageDeleted"; + channel_id: string; + message_id: string; }; export type ServerMethod = @@ -49,4 +59,16 @@ export type ServerMethod = | { method: "GetUsers"; pubkeys: string[]; + } + | { + method: "EditMessage"; + message_id: string; + channel_id: string; + content: string; + signature: string; + } + | { + method: "DeleteMessage"; + channel_id: string; + message_id: string; };