Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ public AsyncWebsocketDataResultEnumerator(
public ValueTask DisposeAsync()
{
ArrayPool<byte>.Shared.Return(_buffer, clearArray: true);
_webSocket?.Dispose();
return new ValueTask(Task.CompletedTask);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ public LlmRealtimeSession(
public async Task ConnectAsync(Uri uri, Dictionary<string, string>? headers = null, CancellationToken cancellationToken = default)
{
_disposed = false;
_webSocket?.Dispose();
_webSocket = new ClientWebSocket();

if (!headers.IsNullOrEmpty())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@ public async Task Connect(
_model = realtimeSettings.Model;
var settings = settingsService.GetSetting(Provider, _model);

_session?.Dispose();
_session = new LlmRealtimeSession(_services, new ChatSessionOptions
{
Provider = Provider,
Expand Down
10 changes: 3 additions & 7 deletions src/Plugins/BotSharp.Plugin.Twilio/TwilioStreamMiddleware.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ public class TwilioStreamMiddleware
{
private readonly RequestDelegate _next;
private readonly ILogger<TwilioStreamMiddleware> _logger;
private BotSharpRealtimeSession _session;

public TwilioStreamMiddleware(
RequestDelegate next,
Expand Down Expand Up @@ -52,7 +51,6 @@ public async Task Invoke(HttpContext httpContext)
}
catch (Exception ex)
{
_session?.Dispose();
_logger.LogError(ex, $"Error in WebSocket communication: {ex.Message} for conversation {conversationId}");
}
return;
Expand All @@ -64,8 +62,7 @@ public async Task Invoke(HttpContext httpContext)

private async Task HandleWebSocket(IServiceProvider services, string agentId, string conversationId, WebSocket webSocket)
{
_session?.Dispose();
_session = new BotSharpRealtimeSession(services, webSocket, new ChatSessionOptions
using var session = new BotSharpRealtimeSession(services, webSocket, new ChatSessionOptions
{
Provider = "BotSharp Twilio Stream",
BufferSize = 1024 * 32,
Expand All @@ -92,7 +89,7 @@ private async Task HandleWebSocket(IServiceProvider services, string agentId, st
var routing = services.GetRequiredService<IRoutingService>();
routing.Context.Push(agentId);

await foreach (ChatSessionUpdate update in _session.ReceiveUpdatesAsync(CancellationToken.None))
await foreach (ChatSessionUpdate update in session.ReceiveUpdatesAsync(CancellationToken.None))
{
var receivedText = update?.RawResponse;
if (string.IsNullOrEmpty(receivedText))
Expand Down Expand Up @@ -144,8 +141,7 @@ private async Task HandleWebSocket(IServiceProvider services, string agentId, st
}

convService.SaveStates();
await _session.DisconnectAsync();
_session.Dispose();
await session.DisconnectAsync();
}

private async Task ConnectToModel(IRealtimeHub hub, WebSocket webSocket)
Expand Down
Loading