diff --git a/src/app/services/chat/message.service.ts b/src/app/services/chat/message.service.ts index a2603d28c..17c28b795 100644 --- a/src/app/services/chat/message.service.ts +++ b/src/app/services/chat/message.service.ts @@ -77,7 +77,7 @@ export class MessageService { this.ts = ts this.u = u || { name: this.usernameToDisplayName(SessionStore.user.UserName), username: SessionStore.user.UserName, _id: ""} this.t = t - this._id = _id + this._id = _id || "" this._updatedAt = _updatedAt || new Date().getTime() this.file = file this.temporaryData = temporaryData diff --git a/src/app/services/chat/room.service.ts b/src/app/services/chat/room.service.ts index 2104ed689..310361ec0 100644 --- a/src/app/services/chat/room.service.ts +++ b/src/app/services/chat/room.service.ts @@ -530,9 +530,9 @@ export class RoomService { this.message= '' + this.messagesLocalReference.push(localReference) const message: MessageService = await this.prepareCreate({message:offlineChatMessage, save: environment.chatOffline}) - this.messagesLocalReference.push(localReference) await message.addMessageDB() message.send() @@ -822,7 +822,33 @@ export class RoomService { wewMessage.setData(message) wewMessage.loadHistory = this.hasLoadHistory - this.messages.push(wewMessage) + + let found; + + if(wewMessage.localReference != null) { + found = this.messages.find((MessageService, index) => { + if ( MessageService.localReference == wewMessage.localReference ) { + return true + } else { + return false + } + }) + } else { + found = this.messages.find((MessageService, index) => { + if ( MessageService._id == wewMessage._id) { + return true + } else { + return false + } + }) + } + + + if (!found) { + this.messages.push(wewMessage) + return wewMessage + } + return wewMessage } diff --git a/src/app/shared/chat/messages/messages.page.html b/src/app/shared/chat/messages/messages.page.html index 483e86441..58b1211e1 100644 --- a/src/app/shared/chat/messages/messages.page.html +++ b/src/app/shared/chat/messages/messages.page.html @@ -49,7 +49,7 @@
{{msg.u.name}} {{msg.duration}} - + {{msg._id}}