fix bug with message sorting when using mailbox

This commit is contained in:
marlon-erler
2026-03-31 20:51:18 +00:00
parent e138367f4a
commit 55eb842140
3 changed files with 9 additions and 5 deletions
+4 -2
View File
@@ -1924,22 +1924,24 @@
}; };
// view // view
this.showChatMessage = (chatMessage) => { this.showChatMessage = (chatMessage) => {
const chatMessageModel = new ChatMessageViewModel( const chatMessageViewModel = new ChatMessageViewModel(
this.coreViewModel, this.coreViewModel,
this, this,
chatMessage, chatMessage,
chatMessage.sender == this.chatViewModel.settingsViewModel.username.value chatMessage.sender == this.chatViewModel.settingsViewModel.username.value
); );
console.log(chatMessage.body);
const existingChatMessageViewModel = this.chatMessageViewModels.value.get(chatMessage.id); const existingChatMessageViewModel = this.chatMessageViewModels.value.get(chatMessage.id);
if (existingChatMessageViewModel != void 0) { if (existingChatMessageViewModel != void 0) {
existingChatMessageViewModel.body.value = chatMessage.body; existingChatMessageViewModel.body.value = chatMessage.body;
existingChatMessageViewModel.status.value = chatMessage.status; existingChatMessageViewModel.status.value = chatMessage.status;
} else { } else {
this.chatMessageViewModels.set(chatMessage.id, chatMessageModel); this.chatMessageViewModels.set(chatMessage.id, chatMessageViewModel);
} }
}; };
// load // load
this.loadData = () => { this.loadData = () => {
this.chatMessageViewModels.clear();
for (const chatMessage of this.chatViewModel.chatModel.messages) { for (const chatMessage of this.chatViewModel.chatModel.messages) {
this.showChatMessage(chatMessage); this.showChatMessage(chatMessage);
} }
-1
View File
@@ -231,7 +231,6 @@ export default class ChatModel {
const messagePath: string[] = this.getMessagePath(messageId); const messagePath: string[] = this.getMessagePath(messageId);
const chatMessage: ChatMessage | any = const chatMessage: ChatMessage | any =
this.storageModel.readStringifiable(messagePath, ChatMessageReference); this.storageModel.readStringifiable(messagePath, ChatMessageReference);
chatMessages.push(chatMessage); chatMessages.push(chatMessage);
} }
+5 -2
View File
@@ -39,25 +39,28 @@ export default class MessagePageViewModel {
// view // view
showChatMessage = (chatMessage: ChatMessage): void => { showChatMessage = (chatMessage: ChatMessage): void => {
const chatMessageModel = new ChatMessageViewModel( const chatMessageViewModel = new ChatMessageViewModel(
this.coreViewModel, this.coreViewModel,
this, this,
chatMessage, chatMessage,
chatMessage.sender == this.chatViewModel.settingsViewModel.username.value chatMessage.sender == this.chatViewModel.settingsViewModel.username.value
); );
console.log(chatMessage.body);
const existingChatMessageViewModel: ChatMessageViewModel | undefined = const existingChatMessageViewModel: ChatMessageViewModel | undefined =
this.chatMessageViewModels.value.get(chatMessage.id); this.chatMessageViewModels.value.get(chatMessage.id);
if (existingChatMessageViewModel != undefined) { if (existingChatMessageViewModel != undefined) {
existingChatMessageViewModel.body.value = chatMessage.body; existingChatMessageViewModel.body.value = chatMessage.body;
existingChatMessageViewModel.status.value = chatMessage.status; existingChatMessageViewModel.status.value = chatMessage.status;
} else { } else {
this.chatMessageViewModels.set(chatMessage.id, chatMessageModel); this.chatMessageViewModels.set(chatMessage.id, chatMessageViewModel);
} }
}; };
// load // load
loadData = (): void => { loadData = (): void => {
this.chatMessageViewModels.clear();
for (const chatMessage of this.chatViewModel.chatModel.messages) { for (const chatMessage of this.chatViewModel.chatModel.messages) {
this.showChatMessage(chatMessage); this.showChatMessage(chatMessage);
} }