From a5521585c71117d18e2a652b3b4e908b6ceae2a5 Mon Sep 17 00:00:00 2001 From: Peter Maquiran Date: Thu, 29 Sep 2022 16:43:32 +0100 Subject: [PATCH] save --- src/app/models/chatMethod.ts | 1 + .../group-messages/group-messages.page.ts | 1 - src/app/services/chat/message.service.ts | 3 +- src/app/services/chat/room.service.ts | 38 +++++++++---------- .../group-messages/group-messages.page.ts | 3 +- src/app/shared/chat/messages/messages.page.ts | 5 +-- 6 files changed, 23 insertions(+), 28 deletions(-) diff --git a/src/app/models/chatMethod.ts b/src/app/models/chatMethod.ts index 3178d7633..b6186d644 100644 --- a/src/app/models/chatMethod.ts +++ b/src/app/models/chatMethod.ts @@ -72,6 +72,7 @@ export interface Message { msg: string; ts: Ts; u: U; + from: 'Offline'|'History'|'stream'| 'send' t: string; _updatedAt: ''; mentions: any[]; diff --git a/src/app/pages/chat/group-messages/group-messages.page.ts b/src/app/pages/chat/group-messages/group-messages.page.ts index e165d1398..83a057d3b 100644 --- a/src/app/pages/chat/group-messages/group-messages.page.ts +++ b/src/app/pages/chat/group-messages/group-messages.page.ts @@ -136,7 +136,6 @@ export class GroupMessagesPage implements OnInit, AfterViewInit, OnDestroy { } ngOnInit() { - this.chatService.refreshtoken(); this.loggedUser = this.loggedUserChat; this.getRoomInfo(); diff --git a/src/app/services/chat/message.service.ts b/src/app/services/chat/message.service.ts index 2754384e4..b8e6539ff 100644 --- a/src/app/services/chat/message.service.ts +++ b/src/app/services/chat/message.service.ts @@ -47,6 +47,7 @@ export class MessageService { uploadingFile = false errorUploadingAttachment = false loadHistory = false + from: 'Offline'|'History'|'stream'| 'send' duration = '' localReference = null viewed = [] @@ -71,7 +72,7 @@ export class MessageService { private NetworkServiceService: NetworkServiceService) { } - setData({customFields = {}, channels, mentions, msg ,rid ,ts, u, t, _id, id, _updatedAt, file, attachments, temporaryData, localReference , viewed = [], received = [], delate = false, delateRequest =false, }:Message) { + setData({customFields = {}, channels, mentions, msg ,rid ,ts, u, t, _id, id, _updatedAt, file, attachments, temporaryData, localReference , viewed = [], received = [], delate = false, delateRequest =false, from }:Message) { this.channels = channels || [] this.mentions = mentions || [] diff --git a/src/app/services/chat/room.service.ts b/src/app/services/chat/room.service.ts index ba9728df2..289b0f1f4 100644 --- a/src/app/services/chat/room.service.ts +++ b/src/app/services/chat/room.service.ts @@ -39,7 +39,6 @@ export class RoomService { name = '' _updatedAt = {} hasLoadHistory = false - hasLoadHistoryMessageRF = [] restoreFromOffline = false duration = '' isTyping = false @@ -48,7 +47,6 @@ export class RoomService { message = '' lastMessageTxt = '' userThatIsTyping = '' - mgsArray = []; messagesLocalReference = [] members = [] u @@ -276,6 +274,8 @@ export class RoomService { const message = await this.prepareCreate({message: ChatMessage, save: true}); message.messageSend = true + message.from = 'stream' + message.loadHistory = this.hasLoadHistory this.lastMessage = message; this.calDateDuration(ChatMessage._updatedAt); @@ -291,8 +291,9 @@ export class RoomService { }); } - message.addMessageDB() - + if(this.hasLoadHistory == true) { + await message.addMessageDB() + } if(this.chatOpen == false) { this.messageUnread = true @@ -574,6 +575,8 @@ export class RoomService { } message.send() + message.from = 'send' + message.loadHistory = this.hasLoadHistory if (environment.chatOffline) { @@ -586,10 +589,6 @@ export class RoomService { this.calDateDuration(message._updatedAt) this.sortRoomList() } - - if(this.hasLoadHistory == false) { - this.hasLoadHistoryMessageRF.push(localReference) - } } @@ -671,14 +670,21 @@ export class RoomService { for (let ChatMessage of messages) { const wewMessage = await this.simplePrepareMessage(ChatMessage) + wewMessage.from = 'Offline' + wewMessage.loadHistory = this.hasLoadHistory + if(wewMessage.offline == false) { const message = await this.prepareMessageCreateIfNotExist_iD({message:ChatMessage}) + message.from = 'Offline' + message.loadHistory = this.hasLoadHistory message?.decryptMessage() } else { const offlineMessage = await this.prepareMessageCreateIfNotExist({message:ChatMessage}) + offlineMessage.from = 'Offline' + offlineMessage.loadHistory = this.hasLoadHistory if(offlineMessage) { this.messagesLocalReference.push(offlineMessage.localReference) @@ -745,13 +751,13 @@ export class RoomService { async messageReorder() { const reorderMessage: MessageService[] = this.messages.filter((message) => - this.hasLoadHistoryMessageRF.includes(message?.localReference) + message.from == 'send' && !message.loadHistory || message.from == 'stream' && !message.loadHistory ); let i = 0 for(let message of this.messages) { - if(this.hasLoadHistoryMessageRF.includes(message?.localReference)) { + if(message.from == 'send' && !message.loadHistory || message.from == 'stream' && !message.loadHistory) { this.messages.splice(i, 1) } i++; @@ -759,19 +765,9 @@ export class RoomService { for(let message of reorderMessage) { this.messages.push(message) + message.addMessageDB() } - for(let message of this.messages) { - if(this.hasLoadHistoryMessageRF.includes(message?.localReference)) { - if(!message.addToDb) { - message.addMessageDB() - - } - } - } - - this.hasLoadHistoryMessageRF = []; - } diff --git a/src/app/shared/chat/group-messages/group-messages.page.ts b/src/app/shared/chat/group-messages/group-messages.page.ts index a6743aa7c..a60d0ed05 100644 --- a/src/app/shared/chat/group-messages/group-messages.page.ts +++ b/src/app/shared/chat/group-messages/group-messages.page.ts @@ -143,8 +143,7 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe } ngOnChanges(changes: SimpleChanges): void { - - this.chatService.refreshtoken(); + this.getRoomInfo(); this.wsChatMethodsService.getGroupRoom(this.roomId).loadHistory({}); // diff --git a/src/app/shared/chat/messages/messages.page.ts b/src/app/shared/chat/messages/messages.page.ts index 79b9057c8..b3b5a8420 100644 --- a/src/app/shared/chat/messages/messages.page.ts +++ b/src/app/shared/chat/messages/messages.page.ts @@ -130,10 +130,9 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy } ngOnChanges(changes: SimpleChanges): void { - - this.chatService.refreshtoken(); + this.wsChatMethodsService.getAllRooms(); - this.wsChatMethodsService.getDmRoom(this.roomId).loadHistory({}) + // this.wsChatMethodsService.getDmRoom(this.roomId).loadHistory({}) this.wsChatMethodsService.getDmRoom(this.roomId).scrollDown = this.scrollToBottomClicked