mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 20:47:54 +00:00
Fix all websocket bugs
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user