Try to fix data messages not showing up after being sent without refresh

This commit is contained in:
2025-08-20 22:59:14 +02:00
parent 8c0f8c6b44
commit fa1cbdf97e
4 changed files with 140 additions and 25 deletions

View File

@@ -280,9 +280,13 @@ const sendPhoto = async () => {
// Upload photo
const uploadedFile = await apiService.uploadFile(appStore.currentChannelId!, message.id, file)
// Immediately update the local message with file metadata
const updatedMessage = {
...message,
// Create complete message with file metadata
const completeMessage = {
id: message.id,
channel_id: appStore.currentChannelId!,
content: message.content,
created_at: message.created_at,
file_id: uploadedFile.id,
fileId: uploadedFile.id,
filePath: uploadedFile.file_path,
fileType: uploadedFile.file_type,
@@ -291,8 +295,8 @@ const sendPhoto = async () => {
fileCreatedAt: uploadedFile.created_at
}
// Update the message in the store
appStore.updateMessage(message.id, updatedMessage)
// Add the complete message to the store (this will trigger immediate UI update)
appStore.addMessage(completeMessage)
toastStore.success('Photo sent!')
emit('sent')

View File

@@ -188,9 +188,13 @@ const sendVoiceMessage = async () => {
// Upload voice file
const uploadedFile = await apiService.uploadFile(appStore.currentChannelId!, message.id, file)
// Immediately update the local message with file metadata
const updatedMessage = {
...message,
// Create complete message with file metadata
const completeMessage = {
id: message.id,
channel_id: appStore.currentChannelId!,
content: message.content,
created_at: message.created_at,
file_id: uploadedFile.id,
fileId: uploadedFile.id,
filePath: uploadedFile.file_path,
fileType: uploadedFile.file_type,
@@ -199,8 +203,8 @@ const sendVoiceMessage = async () => {
fileCreatedAt: uploadedFile.created_at
}
// Update the message in the store
appStore.updateMessage(message.id, updatedMessage)
// Add the complete message to the store (this will trigger immediate UI update)
appStore.addMessage(completeMessage)
toastStore.success('Voice message sent!')
clearRecording()