fix chat message not showing

This commit is contained in:
Peter Maquiran
2022-03-14 14:16:23 +01:00
parent db90f0594a
commit 616566bf77
5 changed files with 76 additions and 74 deletions
+36 -8
View File
@@ -18,9 +18,9 @@ import { NfService } from 'src/app/services/chat/nf.service';
import { v4 as uuidv4 } from 'uuid'
import { ChatStorageService } from './chat-storage.service'
import { ChatMethodsService } from './chat-methods.service'
import { MessageModel } from '../../models/beast-orm'
import { DeleteMessageModel, MessageModel } from '../../models/beast-orm'
import { AESEncrypt } from '../aesencrypt.service'
import { IncomingChatMessage, ChatMessageInterface } from 'src/app/models/message.model';
import { IncomingChatMessage, ChatMessageInterface, falseTypingMethod } from 'src/app/models/message.model';
@Injectable({
providedIn: 'root'
@@ -213,9 +213,11 @@ export class RoomService {
this.isTyping = args[1]
this.otherUserType = args[1]
this.readAllMessage()
} else {
} else if(args[0]?.method == 'viewMessage') {
this.readAllMessage()
} else if(args[0]?.method == 'deleteMessage') {
//
}
@@ -275,7 +277,15 @@ export class RoomService {
this.messages.splice(index, 1)
const allMemberThatIsNotOffline = this.getAllMemberThatIsNotOffline()
message.delete(allMemberThatIsNotOffline)
message.delete()
DeleteMessageModel.create({
messageId: message._id,
rid: message.rid,
ts: message.ts,
u: message.u,
receivedBy: allMemberThatIsNotOffline
})
//Get previous last message from room
const previousLastMessage = this.messages.slice(-1)[0];
@@ -289,6 +299,16 @@ export class RoomService {
}
async delateMessageToSend(userId) {
const deleteMessage = await DeleteMessageModel.all()
const toSend = deleteMessage.filter((DeleteMessage:string[])=> ! DeleteMessage.includes(userId))
}
/**
* @description sen text message
@@ -308,7 +328,9 @@ export class RoomService {
this.message= ''
const message: MessageService = await this.prepareMessage({message:offlineChatMessage, save: environment.chatOffline})
const message: MessageService = await this.prepareCreate({message:offlineChatMessage, save: environment.chatOffline})
console.log(message, 'message')
this.messagesLocalReference.push(localReference)
await message.addMessageDB()
@@ -353,7 +375,7 @@ export class RoomService {
}
sendFalseTypingReadMessage() {
this.WsChatService.sendStreamNotifyRoom(this.id, SessionStore.user.RochetChatUser, 'typing', {})
this.WsChatService.sendStreamNotifyRoom(this.id, SessionStore.user.RochetChatUser, 'typing', {method:'viewMessage'} as falseTypingMethod)
this.setTypingOff()
}
@@ -569,19 +591,25 @@ export class RoomService {
* @param save
* @returns
*/
async prepareCreate({message}): Promise<MessageService> {
async prepareCreate({message, save = true}): Promise<MessageService> {
message = this.fix_updatedAt(message)
const wewMessage = new MessageService(this.storage, this.NfService, this.WsChatService, this.ChatStorageService, this.ChatMethodsService, this.AESEncrypt)
wewMessage.setData(message)
wewMessage.loadHistory = this.hasLoadHistory
if(!message?._id && environment.chatOffline) {
console.log(message?._id, environment.chatOffline, save)
if(!message?._id && environment.chatOffline && save) {
this.messages.push(wewMessage)
console.log('add to view')
return wewMessage
}
}