diff --git a/src/app/home/home.page.ts b/src/app/home/home.page.ts index beee87168..048b2e17b 100644 --- a/src/app/home/home.page.ts +++ b/src/app/home/home.page.ts @@ -95,6 +95,10 @@ export class HomePage implements OnInit { private RouteService: RouteService, private RocketChatClientService: RocketChatClientService) { + this.RocketChatClientService.loadHistory('fsMwcNdufWvdnChj7ya9nF9cX2HizxxWAM', 10).then((message)=>{ + console.log('loadHistory', message) + }) + this.RocketChatClientService.getRooms().then((rooms: any)=>{ console.log('rooms', rooms) @@ -116,9 +120,6 @@ export class HomePage implements OnInit { } ) - this.RocketChatClientService.loadHistory('fsMwcNdufWvdnChj7ya9nF9cX2HizxxWAM', 50).then((message)=>{ - console.log('loadHistory', message) - }) window['jj'] = ()=>{ //send message // roomId // Message diff --git a/src/app/services/socket/rocket-chat-client.service.ts b/src/app/services/socket/rocket-chat-client.service.ts index 9d46cc181..d6417db38 100644 --- a/src/app/services/socket/rocket-chat-client.service.ts +++ b/src/app/services/socket/rocket-chat-client.service.ts @@ -88,7 +88,9 @@ import { deepFind } from 'src/plugin/deep' } - getRooms(requestId = uuidv4()) { + getRooms() { + + const requestId = uuidv4() const request = { "msg": "method", @@ -129,7 +131,7 @@ import { deepFind } from 'src/plugin/deep' this.ws.send(request, requestId, true); return new Promise((resolve, reject) => { - this.ws.registerCallback({type:'Onmessage', requestId, runOnces: true, funx:(message)=>{ + this.ws.registerCallback({type:'Onmessage', requestId, funx:(message)=>{ if(message.id == requestId || deepFind(message,'result.id') == requestId) { // same request send resolve(message) return true @@ -165,8 +167,9 @@ import { deepFind } from 'src/plugin/deep' this.ws.send(request, requestId, true) return new Promise((resolve, reject) => { - this.ws.registerCallback({type:'Onmessage', requestId, runOnces: true, funx:(message)=>{ - if(message.id == requestId || deepFind(message,'result.id') == requestId) { // same request send + this.ws.registerCallback({type:'Onmessage', requestId, funx:(message)=>{ + // console.log(message) + if(message.id == requestId ) { // same request send resolve(message) return true } @@ -191,7 +194,7 @@ import { deepFind } from 'src/plugin/deep' this.ws.send(subscribeRequest, requestId, true); return new Promise((resolve, reject) => { - this.ws.registerCallback({type:'Onmessage', requestId, runOnces: true, funx:(message)=>{ + this.ws.registerCallback({type:'Onmessage', requestId, funx:(message)=>{ if(message.msg == 'ready' || deepFind(message, 'subs.0') == requestId) { // same request send resolve(message) return true @@ -241,7 +244,7 @@ import { deepFind } from 'src/plugin/deep' this.ws.send(request, requestId, true); return new Promise((resolve, reject) => { - this.ws.registerCallback({type:'Onmessage', requestId, runOnces: true, funx:(message)=>{ + this.ws.registerCallback({type:'Onmessage', requestId, funx:(message)=>{ if(message.msg == 'ready' || deepFind(message, 'subs.0') == requestId) { // same request send resolve(message) return true @@ -268,7 +271,7 @@ import { deepFind } from 'src/plugin/deep' this.ws.send(streamNotifyObj, requestId, true) return new Promise((resolve, reject) => { - this.ws.registerCallback({type:'Onmessage', requestId, runOnces: true, funx:(message)=>{ + this.ws.registerCallback({type:'Onmessage', requestId, funx:(message)=>{ if(message.id == requestId || deepFind(message,'result.id') == requestId) { // same request send resolve('') return true @@ -298,10 +301,6 @@ import { deepFind } from 'src/plugin/deep' } }, - deleteCallback(requestId: string){ - console.log('delete', this.wsCallbacks[requestId]) - delete this.wsCallbacks[requestId] - }, connect:(url)=> { this.ws.connected = false this.wsUrl = url @@ -319,12 +318,14 @@ import { deepFind } from 'src/plugin/deep' }, wsMsgQueue:()=> { this.wsMsgQueue.forEach((item, index, object) => { - if(item.loginRequired && this.isLogin) { + if(item.loginRequired == true && this.isLogin == true) { + console.log('run msgQueue ',index) this.ws.send(item.message, item.requestId, item.loginRequired); - object.splice(index, 1); + delete this.wsMsgQueue[item.requestId] } else if(item.loginRequired == false) { + console.log('run msgQueue ',index) this.ws.send(item.message, item.requestId, item.loginRequired); - object.splice(index, 1); + delete this.wsMsgQueue[item.requestId] } }) @@ -335,7 +336,6 @@ import { deepFind } from 'src/plugin/deep' console.log('save msgQueue') this.wsMsgQueue.push({message, requestId, loginRequired}) } else { - // console.log('send to rocket chat', message) let messageStr = JSON.stringify(message) this.socket.send(messageStr) }