diff --git a/src/app/services/chat/room.service.ts b/src/app/services/chat/room.service.ts index 73560ec41..b39259603 100644 --- a/src/app/services/chat/room.service.ts +++ b/src/app/services/chat/room.service.ts @@ -48,6 +48,7 @@ export class RoomService { private platform: Platform, private sqlservice: SqliteService, private NativeNotificationService: NativeNotificationService, + private sortService: SortService, ) { this.NativeNotificationService.askForPermission() } @@ -90,11 +91,11 @@ export class RoomService { if(SessionStore.user.RochetChatUser != ChatMessage.u.username) { this.NativeNotificationService.sendNotificationChat({ - message: message.msg, + message: message.msg, title: this.name }); } - + // save to ionic storage this.storage.get('chatmsg' + this.id).then((messages: any) => { const newListMessages = messages.push(ChatMessage) @@ -110,8 +111,6 @@ export class RoomService { this.WsChatService.receiveStreamNotifyRoom((message) => { - - console.log(message.fields) if(message.fields.eventName == this.id+'/'+'typing') { @@ -167,7 +166,7 @@ export class RoomService { const lastIsTyping = this.isTyping if(text.length >= 1) { - this.isTyping = true + this.isTyping = true } else { this.isTyping = false } @@ -175,7 +174,7 @@ export class RoomService { if(lastIsTyping != this.isTyping) { this.WsChatService.sendStreamNotifyRoom(this.id, SessionStore.user.RochetChatUser, 'typing', this.isTyping) } - + this.lastMessageTxt = this.message this.typingWatch() @@ -187,13 +186,13 @@ export class RoomService { const now = new Date().getTime() if((now - this.lastTimeType) >= 2888) { - + if(this.isTyping == true) { this.isTyping = false this.WsChatService.sendStreamNotifyRoom(this.id, SessionStore.user.RochetChatUser, 'typing', this.isTyping) } } else { - console.log(now - this.lastTimeType) + //console.log(now - this.lastTimeType) } }, 3000) @@ -298,6 +297,7 @@ export class RoomService { console.log('loadHistory', chatHistory) let localMessages = [] + //const sortedRoomList = this.sortService.sortDate(chatHistory.result.messages, "_updatedAt.$date") chatHistory.result.messages.reverse().forEach(message => { message = this.fix_updatedAt(message) @@ -308,6 +308,9 @@ export class RoomService { this.messages = localMessages + console.log(chatHistory.result.messages); + + this.storage.set('chatmsg' + this.id, chatHistory.result.messages.reverse()) }) diff --git a/src/app/services/chat/ws-chat-methods.service.ts b/src/app/services/chat/ws-chat-methods.service.ts index c5974dd80..1950bb692 100644 --- a/src/app/services/chat/ws-chat-methods.service.ts +++ b/src/app/services/chat/ws-chat-methods.service.ts @@ -63,8 +63,8 @@ export class WsChatMethodsService { }, 100) } - - } + + } if(message.msg =='changed' && message.collection == "stream-notify-room") { if(message.fields.eventName.includes('deleteMessage')){ @@ -82,13 +82,15 @@ export class WsChatMethodsService { await rooms.result.update.forEach( async (roomData: room) => { await this.prepareRoom(roomData); }); - + this._dm = this.sortService.sortDate(this._dm,'_updatedAt').reverse() this._group = this.sortService.sortDate(this._group,'_updatedAt').reverse() this.loadingWholeList = false } + + subscribeToRoom() { for (const id in this.dm) { @@ -141,7 +143,7 @@ export class WsChatMethodsService { prepareRoom(roomData) { let room:RoomService; - room = new RoomService(this.WsChatService, new MessageService(this.storage), this.storage, this.platform, this.sqlservice, this.NativeNotificationService) + room = new RoomService(this.WsChatService, new MessageService(this.storage), this.storage, this.platform, this.sqlservice, this.NativeNotificationService, this.sortService) room.setData({ customFields: roomData.customFields, @@ -158,8 +160,6 @@ export class WsChatMethodsService { let roomId = this.getRoomId(roomData) if(this.isIndividual(roomData)) { - console.log(room); - this.dm[roomId] = room this._dm.push(room) this.dmCount++ diff --git a/src/app/services/chat/ws-chat.service.ts b/src/app/services/chat/ws-chat.service.ts index 826e44c46..724b9cce1 100644 --- a/src/app/services/chat/ws-chat.service.ts +++ b/src/app/services/chat/ws-chat.service.ts @@ -349,7 +349,7 @@ export class WsChatService { } }}) } - + loadHistory(roomId, limit: number = 50) { const requestId = uuidv4() diff --git a/src/app/services/functions/object.service.ts b/src/app/services/functions/object.service.ts index 9b52713c8..562d28868 100644 --- a/src/app/services/functions/object.service.ts +++ b/src/app/services/functions/object.service.ts @@ -8,11 +8,11 @@ export class ObjectService { constructor() { } - deepFind(obj, path) { + deepFind(obj, path):any { var paths = path.split('.') , current = obj , i; - + for (i = 0; i < paths.length; ++i) { if (current[paths[i]] == undefined) { return undefined; diff --git a/src/app/shared/chat/messages/messages.page.ts b/src/app/shared/chat/messages/messages.page.ts index a7cd3595d..dd5037409 100644 --- a/src/app/shared/chat/messages/messages.page.ts +++ b/src/app/shared/chat/messages/messages.page.ts @@ -283,7 +283,7 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy changeInput() { this.wsChatMethodsService.getDmRoom(this.roomId).typing() } - + async openViewDocumentModal(file: any) { let task = { serialNumber: '',