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 fc233c102..859065b17 100644 --- a/src/app/pages/chat/group-messages/group-messages.page.ts +++ b/src/app/pages/chat/group-messages/group-messages.page.ts @@ -252,15 +252,19 @@ export class GroupMessagesPage implements OnInit, AfterViewInit, OnDestroy { this.lastAudioRecorded = fileName; }) - this.storage.get('recordData').then((recordData) => { - console.log(recordData); - if(recordData.value.recordDataBase64.includes('data:audio')){ - this.audioRecorded = this.sanitiser.bypassSecurityTrustResourceUrl(recordData.value.recordDataBase64); - } - else{ - this.audioRecorded = this.sanitiser.bypassSecurityTrustResourceUrl(`data:${recordData.value.mimeType};base64,${recordData.value.recordDataBase64}`); - } - }); + try { + this.storage.get('recordData').then((recordData) => { + console.log(recordData); + if(recordData.value.recordDataBase64.includes('data:audio')){ + this.audioRecorded = this.sanitiser.bypassSecurityTrustResourceUrl(recordData.value.recordDataBase64); + } + else{ + this.audioRecorded = this.sanitiser.bypassSecurityTrustResourceUrl(`data:${recordData.value.mimeType};base64,${recordData.value.recordDataBase64}`); + } + }); + } catch (error) {} + + } startRecording() { @@ -431,15 +435,20 @@ export class GroupMessagesPage implements OnInit, AfterViewInit, OnDestroy { async sendAudio(fileName) { const roomId = this.roomId - this.storage.get('recordData').then((recordData) => { - console.log(recordData); - if(recordData.value.recordDataBase64.includes('data:audio')){ - this.audioRecorded = recordData.value.recordDataBase64; - } - else{ - this.audioRecorded = `data:${recordData.value.mimeType};base64,${recordData.value.recordDataBase64}`; - } - }); + + try { + + this.storage.get('recordData').then((recordData) => { + console.log(recordData); + if(recordData.value.recordDataBase64.includes('data:audio')){ + this.audioRecorded = recordData.value.recordDataBase64; + } + else{ + this.audioRecorded = `data:${recordData.value.mimeType};base64,${recordData.value.recordDataBase64}`; + } + }); + } catch (error) {} + //Converting base64 to blob const base64Response = await fetch(this.audioRecorded); diff --git a/src/app/pages/chat/messages/messages.page.ts b/src/app/pages/chat/messages/messages.page.ts index 217ccbc57..75ae06f9c 100644 --- a/src/app/pages/chat/messages/messages.page.ts +++ b/src/app/pages/chat/messages/messages.page.ts @@ -205,15 +205,19 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy { this.lastAudioRecorded = fileName; }) - this.storage.get('recordData').then((recordData) => { - console.log(recordData); - if(recordData.value.recordDataBase64.includes('data:audio')){ - this.audioRecorded = this.sanitiser.bypassSecurityTrustResourceUrl(recordData.value.recordDataBase64); - } - else{ - this.audioRecorded = this.sanitiser.bypassSecurityTrustResourceUrl(`data:${recordData.value.mimeType};base64,${recordData.value.recordDataBase64}`); - } - }); + try { + this.storage.get('recordData').then((recordData) => { + console.log(recordData); + if(recordData.value.recordDataBase64.includes('data:audio')){ + this.audioRecorded = this.sanitiser.bypassSecurityTrustResourceUrl(recordData.value.recordDataBase64); + } + else{ + this.audioRecorded = this.sanitiser.bypassSecurityTrustResourceUrl(`data:${recordData.value.mimeType};base64,${recordData.value.recordDataBase64}`); + } + }); + } catch (error) {} + + } startRecording() { @@ -367,17 +371,21 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy { } async sendAudio(fileName) { - const roomId = this.roomId - this.storage.get('recordData').then((recordData) => { - console.log(recordData); - if(recordData.value.recordDataBase64.includes('data:audio')){ - this.audioRecorded = recordData.value.recordDataBase64; - } - else{ - this.audioRecorded = `data:${recordData.value.mimeType};base64,${recordData.value.recordDataBase64}`; - } - }); + try { + + this.storage.get('recordData').then((recordData) => { + console.log(recordData); + if(recordData.value.recordDataBase64.includes('data:audio')){ + this.audioRecorded = recordData.value.recordDataBase64; + } + else{ + this.audioRecorded = `data:${recordData.value.mimeType};base64,${recordData.value.recordDataBase64}`; + } + }); + } catch (error) {} + + //Converting base64 to blob const base64Response = await fetch(this.audioRecorded); diff --git a/src/app/services/chat/room.service.ts b/src/app/services/chat/room.service.ts index 53344c4c1..bd46ff5a4 100644 --- a/src/app/services/chat/room.service.ts +++ b/src/app/services/chat/room.service.ts @@ -255,7 +255,7 @@ export class RoomService { // alert('delete') // console.log(args[0], 'receive delete message::()') - this.deleteMessage(args[1]?.method?._id) + // this.deleteMessage(args[1]?.method?._id) } else { // alert('miss') @@ -357,36 +357,43 @@ export class RoomService { * @description delete message in the view * @param id message ID */ - async deleteMessage(id) { - await this.messages.forEach(async(message, index) => { - if(message._id == id) { - - this.messages.splice(index, 1) - - if (SessionStore.user.RochetChatUser == message.u.username) { - const allMemberThatIsOffline = this.getAllMemberThatIsOffline() + async deleteMessage(_id) { + + const id = _id + + for (let i =0; i <= this.messages.length; i++) { + + console.log('message._id == id',this.messages[i]?._id, id, i, this.messages[i]?._id == id) + + if(this.messages[i]?._id == id ) { + + this.messages.splice(i, 1) - await DeleteMessageModel.create({ - messageId: message._id, - rid: message.rid, - ts: message.ts, - u: message.u, - needToReceiveBy: allMemberThatIsOffline - }) - } - - message.delateStatusFalse() - message.delateDB() + if (SessionStore.user.RochetChatUser == this.messages[i].u.username) { + const allMemberThatIsOffline = this.getAllMemberThatIsOffline() + + DeleteMessageModel.create({ + messageId: this.messages[i]._id, + rid: this.messages[i].rid, + ts: this.messages[i].ts, + u: this.messages[i].u, + needToReceiveBy: allMemberThatIsOffline + }) + } + + this.messages[i].delateStatusFalse() + this.messages[i].delateDB() + + //Get previous last message from room + const previousLastMessage = this.messages.slice(-1)[0]; + + this.lastMessage = previousLastMessage; + this.calDateDuration(previousLastMessage._updatedAt) + this.sortRoomList() - //Get previous last message from room - const previousLastMessage = this.messages.slice(-1)[0]; - - this.lastMessage = previousLastMessage; - this.calDateDuration(previousLastMessage._updatedAt) - this.sortRoomList() } - }) + } } @@ -424,7 +431,6 @@ export class RoomService { // alert('not found') this.deleteMessage(msgId) } else { - // this.deleteMessage(DeletedMessageId) this.WsChatService.registerCallback({ type: 'reConnect', funx: async ()=> { 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 245533836..875afc895 100644 --- a/src/app/shared/chat/group-messages/group-messages.page.ts +++ b/src/app/shared/chat/group-messages/group-messages.page.ts @@ -274,20 +274,23 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe } async loadFiles() { + try { + this.storage.get('fileName').then((fileName) => { + this.lastAudioRecorded = fileName; + }) + + this.storage.get('recordData').then((recordData) => { + console.log(recordData); + if(recordData.value.recordDataBase64.includes('data:audio')){ + this.audioRecorded = this.sanitiser.bypassSecurityTrustResourceUrl(recordData.value.recordDataBase64); + } + else{ + this.audioRecorded = this.sanitiser.bypassSecurityTrustResourceUrl(`data:${recordData.value.mimeType};base64,${recordData.value.recordDataBase64}`); + } + }); + } catch (error) {} - this.storage.get('fileName').then((fileName) => { - this.lastAudioRecorded = fileName; - }) - - this.storage.get('recordData').then((recordData) => { - console.log(recordData); - if(recordData.value.recordDataBase64.includes('data:audio')){ - this.audioRecorded = this.sanitiser.bypassSecurityTrustResourceUrl(recordData.value.recordDataBase64); - } - else{ - this.audioRecorded = this.sanitiser.bypassSecurityTrustResourceUrl(`data:${recordData.value.mimeType};base64,${recordData.value.recordDataBase64}`); - } - }); + } startRecording() { @@ -418,18 +421,23 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe } async sendAudio(fileName) { - const roomId = this.roomId - this.storage.get('recordData').then((recordData) => { - console.log(recordData); - if(recordData.value.recordDataBase64.includes('data:audio')){ - this.audioRecorded = recordData.value.recordDataBase64; - } - else{ - this.audioRecorded = `data:${recordData.value.mimeType};base64,${recordData.value.recordDataBase64}`; - } - }); + + + try { + this.storage.get('recordData').then((recordData) => { + console.log(recordData); + if(recordData.value.recordDataBase64.includes('data:audio')){ + this.audioRecorded = recordData.value.recordDataBase64; + } + else{ + this.audioRecorded = `data:${recordData.value.mimeType};base64,${recordData.value.recordDataBase64}`; + } + }); + } catch (error) {} + + //Converting base64 to blob const base64Response = await fetch(this.audioRecorded); const blob = await base64Response.blob(); diff --git a/src/app/shared/chat/messages/messages.page.html b/src/app/shared/chat/messages/messages.page.html index f2b691ed3..faee008e0 100644 --- a/src/app/shared/chat/messages/messages.page.html +++ b/src/app/shared/chat/messages/messages.page.html @@ -50,7 +50,7 @@