diff --git a/src/app/pages/chat/messages/messages.page.ts b/src/app/pages/chat/messages/messages.page.ts index db029d162..8517949b1 100644 --- a/src/app/pages/chat/messages/messages.page.ts +++ b/src/app/pages/chat/messages/messages.page.ts @@ -519,12 +519,15 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy { } getChatMembers() { - this.showLoader = true; - this.chatService.getMembers(this.roomId).subscribe(res => { - this.members = res['members']; - this.dmUsers = res['members'].filter(data => data.username != this.sessionStore.user.UserName) - this.showLoader = false; - }); + // this.showLoader = true; + // this.chatService.getMembers(this.roomId).subscribe(res => { + // this.members = res['members']; + // this.dmUsers = res['members'].filter(data => data.username != this.sessionStore.user.UserName) + // this.showLoader = false; + // }); + + this.members = this.wsChatMethodsService.getDmRoom(this.roomId).members + this.dmUsers = this.wsChatMethodsService.getDmRoom(this.roomId).membersExcludeMe } showDateDuration(start: any) { diff --git a/src/app/services/chat/room.service.ts b/src/app/services/chat/room.service.ts index ddcb80942..4dc2b3467 100644 --- a/src/app/services/chat/room.service.ts +++ b/src/app/services/chat/room.service.ts @@ -49,6 +49,7 @@ export class RoomService { userThatIsTyping = '' messagesLocalReference = [] members = [] + membersExcludeMe = [] u sessionStore = SessionStore countDownTime = '' @@ -101,8 +102,8 @@ export class RoomService { const statusNum = d.fields.args[0][2] const statusText = this.statusNumberToText(statusNum) - if(this.members?.map) { - const membersIds = this.members.map((user)=> user._id) + if(this.membersExcludeMe?.map) { + const membersIds = this.membersExcludeMe.map((user)=> user._id) if(membersIds.includes(userId)) { @@ -187,7 +188,7 @@ export class RoomService { this.lastMessage = lastMessage this._updatedAt = _updatedAt this.u = u - this.members = members + this.membersExcludeMe = members this.calDateDuration() this.restoreMessageFromDB() @@ -307,7 +308,7 @@ export class RoomService { this.messages.forEach((message, index)=> { if(message.localReference == ChatMessage.localReference) { - const membersIds = this.members.map((user)=> user._id) + const membersIds = this.membersExcludeMe.map((user)=> user._id) this.getAllUsers().forEach( async (users) => { @@ -369,7 +370,7 @@ export class RoomService { getRoomMembersIds(): string[] { try { - return this.members.map((user)=> user._id) + return this.membersExcludeMe.map((user)=> user._id) } catch(error) { return [] } @@ -778,7 +779,7 @@ export class RoomService { async readAllMessage() { - const membersIds = this.members.map((user)=> user._id) + const membersIds = this.membersExcludeMe.map((user)=> user._id) await this.messages.forEach( async (message, index) => { diff --git a/src/app/services/chat/ws-chat-methods.service.ts b/src/app/services/chat/ws-chat-methods.service.ts index 2020d040a..774db8aba 100644 --- a/src/app/services/chat/ws-chat-methods.service.ts +++ b/src/app/services/chat/ws-chat-methods.service.ts @@ -202,7 +202,8 @@ export class WsChatMethodsService { const members = res['members']; const users = members.filter(data => data.username != this.sessionStore.user.UserName); - rooms.result.update[index]['members'] = users + rooms.result.update[index]['members'] = members + rooms.result.update[index]['membersExcludeMe'] = users await this.prepareRoom(roomData); } else { @@ -224,7 +225,8 @@ export class WsChatMethodsService { const members = res['members']; const users = members.filter(data => data.username != this.sessionStore.user.UserName); - rooms.result.update[index]['members'] = users + rooms.result.update[index]['members'] = members + rooms.result.update[index]['membersExcludeMe'] = users await this.prepareRoom(roomData); @@ -250,7 +252,8 @@ export class WsChatMethodsService { const members = res['members']; const users = members.filter(data => data.username != this.sessionStore.user.UserName); - rooms.result.update[index]['members'] = users + rooms.result.update[index]['members'] = members + rooms.result.update[index]['membersExcludeMe'] = users await this.prepareRoom(roomData); } } @@ -377,7 +380,8 @@ export class WsChatMethodsService { lastMessage: this.getRoomLastMessage(roomData), _updatedAt: new Date( roomData._updatedAt || roomData._updatedAt['$date']), u : roomData.u || {}, - members: roomData.members + members: roomData.members, + membersExcludeMe: roomData.membersExcludeMe } let roomId = this.getRoomId(roomData); 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 b0006958c..0e548f73b 100644 --- a/src/app/shared/chat/group-messages/group-messages.page.ts +++ b/src/app/shared/chat/group-messages/group-messages.page.ts @@ -447,6 +447,8 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe this.showLoader = false; }); } + + } sendMessage() { diff --git a/src/app/shared/chat/messages/messages.page.ts b/src/app/shared/chat/messages/messages.page.ts index dc8dca5d2..9e48737fa 100644 --- a/src/app/shared/chat/messages/messages.page.ts +++ b/src/app/shared/chat/messages/messages.page.ts @@ -527,12 +527,15 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy getChatMembers() { // - this.showLoader = true; - this.chatService.getMembers(this.roomId).subscribe(res => { - this.members = res['members']; - this.dmUsers = res['members'].filter(data => data.username != this.sessionStore.user.UserName) - this.showLoader = false; - }); + // this.showLoader = true; + // this.chatService.getMembers(this.roomId).subscribe(res => { + // this.members = res['members']; + // this.dmUsers = res['members'].filter(data => data.username != this.sessionStore.user.UserName) + // this.showLoader = false; + // }); + + this.members = this.wsChatMethodsService.getDmRoom(this.roomId).members + this.dmUsers = this.wsChatMethodsService.getDmRoom(this.roomId).membersExcludeMe } async openMessagesOptions(ev: any) {