This commit is contained in:
retoor 2025-06-25 17:54:12 +02:00
parent 481d7e3ab6
commit 3130933ea4
2 changed files with 17 additions and 8 deletions

View File

@ -80,7 +80,7 @@ class MessageList extends HTMLElement {
const html = receivedHtml.querySelector(".text").innerHTML;
const textElement = messageDiv.querySelector(".text");
textElement.innerHTML = html;
textElement.style.display = message.text == "" ? "none" : "block";
messageDiv.style.display = message.text == "" ? "none" : "block";
if(scrollToBottom)
this.scrollToBottom(true)
}

View File

@ -268,22 +268,26 @@ class RPCView(BaseView):
return result
async def _finalize_message_task(self, message_uid):
async def _finalize_message_task(self,message_uid):
await asyncio.sleep(7)
self._finalize_task = None
self._require_login()
message = await self.services.channel_message.get(message_uid)
message = await self.services.channel_message.get(message_uid, is_final=False)
if not message:
return False
if message["user_uid"] != self.user_uid:
raise Exception("Not allowed")
if message["is_final"]:
return True
if not message["is_final"]:
await self.services.chat.finalize(message["uid"])
return True
async def _queue_finalize_message(self, message_uid):
if self._finalize_task:
self._finalize_task.cancel()
@ -294,12 +298,17 @@ class RPCView(BaseView):
async def send_message(self, channel_uid, message, is_final=True):
self._require_login()
message = message.strip()
if not is_final:
if_final = False
check_message = await self.services.channel_message.get(channel_uid=channel_uid, user_uid=self.user_uid,is_final=False)
if check_message:
await self._queue_finalize_message(check_message["uid"])
return await self.update_message_text(check_message["uid"], message)
message = await self.services.chat.send(
self.user_uid, channel_uid, message, is_final
)