diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 55f2210c0..3bbae25b0 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -28,7 +28,7 @@ import { CalendarModule, DateAdapter } from 'angular-calendar'; import { adapterFactory } from 'angular-calendar/date-adapters/date-fns'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { MessagesPage } from './pages/chat/messages/messages.page'; -import { WebsocketService } from './services/socket/websocket.service' +import { WebsocketService } from './services/websocket.service' import { ChatService } from './services/chat.service'; import {MatDatepickerModule} from '@angular/material/datepicker'; // import { FCM } from 'cordova-plugin-fcm-with-dependecy-updated/ionic/ngx'; diff --git a/src/app/home/home.page.ts b/src/app/home/home.page.ts index a6e45ce49..a501f8ba2 100644 --- a/src/app/home/home.page.ts +++ b/src/app/home/home.page.ts @@ -97,7 +97,7 @@ export class HomePage implements OnInit { private sqliteservice: SqliteService, private RouteService: RouteService) { - /* this.RocketChatClientService.connect(()=>{ + this.RocketChatClientService.connect(()=>{ this.RocketChatClientService.login({ username: 'paulo.pinto', @@ -113,7 +113,7 @@ export class HomePage implements OnInit { }).finally(()=>{ }) - }) */ + }) // this.RocketChatClientService.send() /* this.webNotificationPopupService.askNotificationPermission() */ diff --git a/src/app/pages/chat/chat.page.ts b/src/app/pages/chat/chat.page.ts index 8cc098b4b..35197cb44 100644 --- a/src/app/pages/chat/chat.page.ts +++ b/src/app/pages/chat/chat.page.ts @@ -137,9 +137,9 @@ export class ChatPage implements OnInit { console.log("CHAT PAGE"); - chatService.messages.subscribe(msg => { + /* chatService.messages.subscribe(msg => { console.log("Response from Websocket server: "+msg); - }); + }); */ } ngOnInit() { @@ -243,6 +243,7 @@ export class ChatPage implements OnInit { console.log("new message from client to websocket: ", this.message); this.chatService.messages.next(this.message); this.message.msg = ""; + this.loadMessage(); } diff --git a/src/app/services/chat.service.ts b/src/app/services/chat.service.ts index 1489b8c17..031e90166 100644 --- a/src/app/services/chat.service.ts +++ b/src/app/services/chat.service.ts @@ -8,7 +8,7 @@ import { environment } from 'src/environments/environment'; import { Storage } from '@ionic/storage'; import { Message } from 'src/app/models/message.model'; import { Observable, Subject } from "rxjs/Rx"; -import { WebsocketService } from './socket/websocket.service'; +import { WebsocketService } from './websocket.service'; @Injectable({ providedIn: 'root' diff --git a/src/app/services/socket/rocket-chat-client.service.ts b/src/app/services/socket/rocket-chat-client.service.ts index 92dc7f48a..b26c080dc 100644 --- a/src/app/services/socket/rocket-chat-client.service.ts +++ b/src/app/services/socket/rocket-chat-client.service.ts @@ -8,7 +8,7 @@ class _RocketChatClientService { private firstPingFunx: Function isLogin = false; request = [] - + constructor() {} private returns() {} @@ -26,7 +26,7 @@ class _RocketChatClientService { } this.ws.send(connectMessage) - + this.ws.registerCallback({type:'Onmessage',funx:(message: any) => { if(message.msg == "ping") { @@ -141,7 +141,7 @@ class _RocketChatClientService { } this.ws.send(subscribeRequest); - + return new Promise((resolve, reject) => { this.ws.registerCallback({type:'Onmessage', requestId, runOnces: true, funx:(message)=>{ if(message.result.id == requestId) { // same request send @@ -155,7 +155,7 @@ class _RocketChatClientService { private disconnect = () => { } - + // socket class ================================================================== private socket!: WebSocket; private wsUrl = '' @@ -165,7 +165,7 @@ class _RocketChatClientService { private ws = { connected: false, registerCallback:(params: wsCallbacksParams) =>{ - + if(!params.requestId) { params.requestId = uuidv4() } @@ -191,15 +191,15 @@ class _RocketChatClientService { onopen:()=> { this.ws.connected = true console.log('================== welcome to socket server =====================') - + this.wsMsgQueue.forEach((item, index, object) => { this.ws.send(item.message, item.requestId); object.splice(index, 1); }) - + }, send: (message: object, requestId = uuidv4()) => { - + if (this.ws.connected == false) { // save data to send when back online console.log('save msgQueue') this.wsMsgQueue.push({message, requestId}) @@ -210,24 +210,24 @@ class _RocketChatClientService { } return requestId }, - + onmessage:(event: any)=> { const data = JSON.parse(event.data) console.log('event.data', data) - + for (const [key, value] of Object.entries(this.wsCallbacks)) { if(value.type== 'Onmessage') { value.funx(data) if(value.runOnces) { delete this.wsCallbacks[value.requestId || key] - } + } } } }, - + onclose:(event: any)=> { this.connect(this.firstPingFunx()) @@ -235,7 +235,7 @@ class _RocketChatClientService { this.ws.connected = false console.log(`[close] Connection closed cleanly, code=${event.code} reason=${event.reason}`); }, - + onerror: (event: any) => { console.log(`[error] ${event.message}`); } @@ -245,4 +245,4 @@ class _RocketChatClientService { } -export const RocketChatClientService = new _RocketChatClientService() \ No newline at end of file +export const RocketChatClientService = new _RocketChatClientService()