diff --git a/meet-ce/backend/src/services/ai-assistant.service.ts b/meet-ce/backend/src/services/ai-assistant.service.ts index 1a8aafe0..e4be37cf 100644 --- a/meet-ce/backend/src/services/ai-assistant.service.ts +++ b/meet-ce/backend/src/services/ai-assistant.service.ts @@ -238,13 +238,14 @@ export class AiAssistantService { protected async stopCaptionsAssistantIfRunning(roomId: string): Promise { const assistants = await this.livekitService.listAgents(roomId); + + if (assistants.length === 0) return; + const captionsAssistant = assistants.find( (assistant) => assistant.agentName === INTERNAL_CONFIG.CAPTIONS_AGENT_NAME ); - if (!captionsAssistant) { - return; - } + if (!captionsAssistant) return; await this.livekitService.stopAgent(captionsAssistant.id, roomId); } diff --git a/meet-ce/backend/src/services/livekit.service.ts b/meet-ce/backend/src/services/livekit.service.ts index 676d00a4..363ad9a1 100644 --- a/meet-ce/backend/src/services/livekit.service.ts +++ b/meet-ce/backend/src/services/livekit.service.ts @@ -305,7 +305,7 @@ export class LiveKitService { return await this.agentClient.listDispatch(roomName); } catch (error) { this.logger.error(`Error listing agents for room '${roomName}':`, error); - throw internalError(`listing agents for room '${roomName}'`); + return []; } } @@ -320,7 +320,7 @@ export class LiveKitService { return await this.agentClient.getDispatch(agentId, roomName); } catch (error) { this.logger.error(`Error getting agent dispatch '${agentId}' for room '${roomName}':`, error); - throw internalError(`getting agent dispatch '${agentId}' for room '${roomName}'`); + return undefined; } } @@ -334,7 +334,6 @@ export class LiveKitService { await this.agentClient.deleteDispatch(agentId, roomName); } catch (error) { this.logger.error(`Error deleting agent dispatch '${agentId}' for room '${roomName}':`, error); - throw internalError(`deleting agent dispatch '${agentId}' for room '${roomName}'`); } }