fix double socket connection

This commit is contained in:
Peter Maquiran
2024-09-06 12:23:13 +01:00
parent 6b780eedf1
commit 27eeebb767
6 changed files with 11 additions and 15 deletions
@@ -10,7 +10,6 @@ import { ISignalRInput } from '../type';
const { App } = Plugins; const { App } = Plugins;
@Injectable({ @Injectable({
providedIn: 'root' providedIn: 'root'
}) })
@@ -23,7 +22,6 @@ export class SignalRService {
constructor(private platform: Platform) { constructor(private platform: Platform) {
this.deadConnectionBackGround = new Subject() this.deadConnectionBackGround = new Subject()
this.deadConnectionBackGround.pipe( this.deadConnectionBackGround.pipe(
switchMap(() => timer(150000)), // 2 minutes 30 seconds switchMap(() => timer(150000)), // 2 minutes 30 seconds
@@ -98,7 +96,7 @@ export class SignalRService {
public getConnectionState(): Observable<boolean> { public getConnectionState(): Observable<boolean> {
return this.connectingSubject.asObservable(); return this.connectingSubject.asObservable();
} }
newConnection() { newConnection() {
this.establishConnection() this.establishConnection()
} }
@@ -82,9 +82,9 @@ export class ChatServiceService {
private HttpListenToMessageLoadHistory: HttpListenToMessageLoadHistoryAdapter, private HttpListenToMessageLoadHistory: HttpListenToMessageLoadHistoryAdapter,
private MessageSocketRepositoryService: MessageSocketRepositoryService, private MessageSocketRepositoryService: MessageSocketRepositoryService,
private BoldRemoveByRoomIdService: BoldRemoveByRoomIdService, private BoldRemoveByRoomIdService: BoldRemoveByRoomIdService,
private MemberListHttpSyncUseCase: MemberListHttpSyncUseCase, private MemberListHttpSyncUseCase: MemberListHttpSyncUseCase, // dont remove
private RoomBoldSyncUseCaseService: RoomBoldSyncUseCaseService, private RoomBoldSyncUseCaseService: RoomBoldSyncUseCaseService, // dont remove
private RoomSetLastMessageService: RoomSetLastMessageService private RoomSetLastMessageService: RoomSetLastMessageService // dont remove
) { ) {
this.MessageSocketRepositoryService.listenToDeleteMessages() this.MessageSocketRepositoryService.listenToDeleteMessages()
.pipe() .pipe()
@@ -76,18 +76,18 @@ export class SendLocalMessagesUseCaseService {
roomId:message.roomId, roomId:message.roomId,
currentUserId: SessionStore.user.UserId currentUserId: SessionStore.user.UserId
}) })
if(getRoomMembers.isOk()) { if(getRoomMembers.isOk() && getRoomMembers.value) {
message.receiverId = getRoomMembers.value.wxUserId message.receiverId = getRoomMembers.value.wxUserId
const DTO = MessageMapper.fromDomain(message, message.requestId) const DTO = MessageMapper.fromDomain(message, message.requestId)
sendMessageResult = await this.messageSocketRepositoryService.sendGroupMessage(DTO) sendMessageResult = await this.messageSocketRepositoryService.sendGroupMessage(DTO)
} else { } else {
console.log('not found direct users', getRoomMembers.error) console.error('direct users not found', getRoomMembers)
} }
} }
} }
if(sendMessageResult.isOk()) { if(sendMessageResult?.isOk()) {
if(sendMessageResult.value.sender == undefined || sendMessageResult.value.sender == null) { if(sendMessageResult.value.sender == undefined || sendMessageResult.value.sender == null) {
+1 -2
View File
@@ -42,8 +42,7 @@ import { BoldLocalRepository } from 'src/app/module/chat/data/repository/bold/bo
EmptyChatPageModule, EmptyChatPageModule,
NewEventPageModule, NewEventPageModule,
ImageCropperModule, ImageCropperModule,
AttendeeModalPageModule, AttendeeModalPageModule
ChatModule
], ],
providers: [ providers: [
@@ -532,7 +532,7 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe
async openOptions(ev: any) { async openOptions(ev: any) {
console.trace(this.room) // console.trace(this.room)
const popover = await this.popoverController.create({ const popover = await this.popoverController.create({
component: ChatPopoverPage, component: ChatPopoverPage,
@@ -9,7 +9,7 @@
<span *ngIf="roomStatus$ | async as roomStatus"><ion-icon *ngIf="roomStatus" class="online" name="ellipse"></ion-icon></span> <span *ngIf="roomStatus$ | async as roomStatus"><ion-icon *ngIf="roomStatus" class="online" name="ellipse"></ion-icon></span>
</div> </div>
<div class="right"> <div class="right">
<button title="Menu" class="btn-no-color" (click)="_openMessagesOptions()" *ngIf="roomType == RoomTypeEnum.Group"> <button title="Menu" class="btn-no-color" (click)="_openMessagesOptions()" >
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/theme/blue/icons-menu.svg"></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/theme/blue/icons-menu.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/images/theme/gov/icons-menu.svg"> <ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/images/theme/gov/icons-menu.svg">
</ion-icon> </ion-icon>
@@ -17,8 +17,7 @@
</div> </div>
</div> </div>
<div class="d-flex header-bottom" > <div class="d-flex header-bottom" >
<div class="header-bottom-icon" *ngIf="roomType == RoomTypeEnum.Group">
<div class="header-bottom-icon">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/icon/icons-user.svg"></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/icon/icons-user.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/icon/theme/gov/icons-user.svg"></ion-icon> <ion-icon *ngIf="ThemeService.currentTheme == 'gov' " src="assets/icon/theme/gov/icons-user.svg"></ion-icon>
</div> </div>