From efcb13d2e00146a89ab7b44e365f0e5a474df9e1 Mon Sep 17 00:00:00 2001
From: Brieuc Dubois <git@bhasher.com>
Date: Sat, 8 Jun 2024 14:40:56 +0200
Subject: [PATCH] Small bugfixes for message edition

---
 backend/app/main.py               | 4 ++--
 frontend/src/lib/types/session.ts | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/backend/app/main.py b/backend/app/main.py
index 14b8b273..38de2768 100644
--- a/backend/app/main.py
+++ b/backend/app/main.py
@@ -574,10 +574,10 @@ def create_message(
             detail="You do not have permission to create a message in this session",
         )
 
-    message = crud.create_message(db, entryMessage, current_user, db_session)
-
     action = "create" if entryMessage.message_id is None else "update"
 
+    message = crud.create_message(db, entryMessage, current_user, db_session)
+
     background_tasks.add_task(store_metadata, db, message.id, entryMessage.metadata)
     background_tasks.add_task(
         send_websoket_message,
diff --git a/frontend/src/lib/types/session.ts b/frontend/src/lib/types/session.ts
index c8b7ea9e..332cb20e 100644
--- a/frontend/src/lib/types/session.ts
+++ b/frontend/src/lib/types/session.ts
@@ -254,7 +254,7 @@ export default class Session {
 					}
 				} else if (data['action'] === 'update') {
 					const message = Message.parse(data['data']);
-					if (message) {
+					if (message && !get(this._messages).find((m) => m.id === message.id)) {
 						this._messages.update((messages) => {
 							const mEdited = messages.find((m) => m.message_id === message.message_id);
 							if (!mEdited) return messages;
-- 
GitLab