From 4faa62864de9087254c57c64c00eedd95930cdd1 Mon Sep 17 00:00:00 2001 From: Myx Date: Wed, 18 Mar 2026 23:11:48 +0100 Subject: [PATCH] Fix syncing issues --- src/app/core/services/attachment.service.ts | 5 +- .../services/debugging/debugging.service.ts | 2 - src/app/features/shell/title-bar.component.ts | 9 +- .../services/voice-playback.service.ts | 1 + .../debug-console-toolbar.component.ts | 22 +-- .../screen-share-source-picker.component.html | 34 +++-- .../store/messages/messages-sync.effects.ts | 126 ++++++++++-------- src/app/store/rooms/rooms.effects.ts | 18 ++- 8 files changed, 124 insertions(+), 93 deletions(-) diff --git a/src/app/core/services/attachment.service.ts b/src/app/core/services/attachment.service.ts index b3942c2..74c8b33 100644 --- a/src/app/core/services/attachment.service.ts +++ b/src/app/core/services/attachment.service.ts @@ -5,10 +5,7 @@ import { signal, effect } from '@angular/core'; -import { - NavigationEnd, - Router -} from '@angular/router'; +import { NavigationEnd, Router } from '@angular/router'; import { take } from 'rxjs'; import { v4 as uuidv4 } from 'uuid'; import { WebRTCService } from './webrtc.service'; diff --git a/src/app/core/services/debugging/debugging.service.ts b/src/app/core/services/debugging/debugging.service.ts index 74b1523..93cd7a2 100644 --- a/src/app/core/services/debugging/debugging.service.ts +++ b/src/app/core/services/debugging/debugging.service.ts @@ -218,7 +218,6 @@ export class DebuggingService { const rawMessage = args.map((arg) => this.stringifyPreview(arg)).join(' ') .trim() || '(empty console call)'; - // Use only string args for label/message extraction so that // stringified object payloads don't pollute the parsed message. // Object payloads are captured separately via extractConsolePayload. @@ -226,7 +225,6 @@ export class DebuggingService { .filter((arg): arg is string => typeof arg === 'string') .join(' ') .trim() || rawMessage; - const consoleMetadata = this.extractConsoleMetadata(metadataSource); const payload = this.extractConsolePayload(args); const payloadText = payload === undefined diff --git a/src/app/features/shell/title-bar.component.ts b/src/app/features/shell/title-bar.component.ts index 1eb922d..7967e17 100644 --- a/src/app/features/shell/title-bar.component.ts +++ b/src/app/features/shell/title-bar.component.ts @@ -19,10 +19,7 @@ import { lucideRefreshCw } from '@ng-icons/lucide'; import { Router } from '@angular/router'; -import { - selectCurrentRoom, - selectIsSignalServerReconnecting -} from '../../store/rooms/rooms.selectors'; +import { selectCurrentRoom, selectIsSignalServerReconnecting } from '../../store/rooms/rooms.selectors'; import { RoomsActions } from '../../store/rooms/rooms.actions'; import { selectCurrentUser } from '../../store/users/users.selectors'; import { ServerDirectoryService } from '../../core/services/server-directory.service'; @@ -56,8 +53,8 @@ type ElectronWindow = Window & { lucideX, lucideChevronLeft, lucideHash, - lucideMenu, - lucideRefreshCw }) + lucideMenu, + lucideRefreshCw }) ], templateUrl: './title-bar.component.html' }) diff --git a/src/app/features/voice/voice-controls/services/voice-playback.service.ts b/src/app/features/voice/voice-controls/services/voice-playback.service.ts index 72d9485..c412baa 100644 --- a/src/app/features/voice/voice-controls/services/voice-playback.service.ts +++ b/src/app/features/voice/voice-controls/services/voice-playback.service.ts @@ -58,6 +58,7 @@ export class VoicePlaybackService { this.temporaryOutputDeviceId = this.webrtc.forceDefaultRemotePlaybackOutput() ? 'default' : null; + void this.applyEffectiveOutputDeviceToAllPipelines(); }); diff --git a/src/app/shared/components/debug-console/debug-console-toolbar/debug-console-toolbar.component.ts b/src/app/shared/components/debug-console/debug-console-toolbar/debug-console-toolbar.component.ts index d8fb1e0..8df4afc 100644 --- a/src/app/shared/components/debug-console/debug-console-toolbar/debug-console-toolbar.component.ts +++ b/src/app/shared/components/debug-console/debug-console-toolbar/debug-console-toolbar.component.ts @@ -84,6 +84,17 @@ export class DebugConsoleToolbarComponent { readonly tabs: ('logs' | 'network')[] = ['logs', 'network']; + @HostListener('document:click', ['$event']) + onDocumentClick(event: MouseEvent): void { + if (!this.exportMenuOpen()) + return; + + const target = event.target as HTMLElement; + + if (!target.closest('[data-export-menu]')) + this.closeExportMenu(); + } + setActiveTab(tab: 'logs' | 'network'): void { this.activeTabChange.emit(tab); } @@ -138,17 +149,6 @@ export class DebugConsoleToolbarComponent { this.closeExportMenu(); } - @HostListener('document:click', ['$event']) - onDocumentClick(event: MouseEvent): void { - if (!this.exportMenuOpen()) - return; - - const target = event.target as HTMLElement; - - if (!target.closest('[data-export-menu]')) - this.closeExportMenu(); - } - getDetachLabel(): string { return this.detached() ? 'Dock' : 'Detach'; } diff --git a/src/app/shared/components/screen-share-source-picker/screen-share-source-picker.component.html b/src/app/shared/components/screen-share-source-picker/screen-share-source-picker.component.html index fd28a1d..e61c1ae 100644 --- a/src/app/shared/components/screen-share-source-picker/screen-share-source-picker.component.html +++ b/src/app/shared/components/screen-share-source-picker/screen-share-source-picker.component.html @@ -24,10 +24,16 @@
-

+

Choose what to share

-

+

Select a screen or window to start sharing.

@@ -55,7 +61,11 @@
-
+