feat: Add slashcommand api

This commit is contained in:
2026-06-05 17:12:26 +02:00
parent 4070ef6caf
commit 8ecfc9a1fe
101 changed files with 3526 additions and 147 deletions

View File

@@ -9,10 +9,7 @@ import { Router } from '@angular/router';
import { Store } from '@ngrx/store';
import { Subject } from 'rxjs';
import { NotificationAudioService, AppSound } from '../../../../core/services/notification-audio.service';
import {
MobileCallSessionService,
MobileNotificationsService
} from '../../../../infrastructure/mobile';
import { MobileCallSessionService, MobileNotificationsService } from '../../../../infrastructure/mobile';
import { ViewportService } from '../../../../core/platform';
import {
VoiceActivityService,

View File

@@ -10,7 +10,11 @@ import { Router } from '@angular/router';
import { Store } from '@ngrx/store';
import { NotificationAudioService, AppSound } from '../../../../core/services/notification-audio.service';
import { ViewportService } from '../../../../core/platform';
import { MobileCallSessionService, MobileNotificationsService } from '../../../../infrastructure/mobile';
import {
MobileCallSessionService,
MobileMediaService,
MobileNotificationsService
} from '../../../../infrastructure/mobile';
import {
VoiceActivityService,
VoiceConnectionFacade,
@@ -43,6 +47,7 @@ export class DirectCallService {
private readonly viewport = inject(ViewportService);
private readonly mobileNotifications = inject(MobileNotificationsService);
private readonly mobileCallSession = inject(MobileCallSessionService);
private readonly mobileMedia = inject(MobileMediaService);
private readonly currentUser = this.store.selectSignal(selectCurrentUser);
private readonly users = this.store.selectSignal(selectAllUsers);
private readonly sessionsSignal = signal<DirectCallSession[]>([]);
@@ -324,6 +329,12 @@ export class DirectCallService {
return;
}
const voicePermissionsGranted = await this.mobileMedia.ensureVoiceCapturePermissions();
if (!voicePermissionsGranted) {
return;
}
const stream = await navigator.mediaDevices.getUserMedia({
audio: {
echoCancellation: true,