diff --git a/app/MindWork AI Studio/Assistants/ERI/ERIVersionExtensions.cs b/app/MindWork AI Studio/Assistants/ERI/ERIVersionExtensions.cs index c7ef7c1..99631e1 100644 --- a/app/MindWork AI Studio/Assistants/ERI/ERIVersionExtensions.cs +++ b/app/MindWork AI Studio/Assistants/ERI/ERIVersionExtensions.cs @@ -7,7 +7,7 @@ public static class ERIVersionExtensions try { var url = version.SpecificationURL(); - var response = await httpClient.GetAsync(url); + using var response = await httpClient.GetAsync(url); return await response.Content.ReadAsStringAsync(); } catch diff --git a/app/MindWork AI Studio/Components/Changelog.razor.cs b/app/MindWork AI Studio/Components/Changelog.razor.cs index c90a46c..bba8b8a 100644 --- a/app/MindWork AI Studio/Components/Changelog.razor.cs +++ b/app/MindWork AI Studio/Components/Changelog.razor.cs @@ -23,7 +23,7 @@ public partial class Changelog : ComponentBase private async Task ReadLogAsync() { - var response = await this.HttpClient.GetAsync($"changelog/{this.SelectedLog.Filename}"); + using var response = await this.HttpClient.GetAsync($"changelog/{this.SelectedLog.Filename}"); this.LogContent = await response.Content.ReadAsStringAsync(); } } \ No newline at end of file diff --git a/app/MindWork AI Studio/Pages/Home.razor.cs b/app/MindWork AI Studio/Pages/Home.razor.cs index 2b2aa4a..5b8d63e 100644 --- a/app/MindWork AI Studio/Pages/Home.razor.cs +++ b/app/MindWork AI Studio/Pages/Home.razor.cs @@ -26,7 +26,7 @@ public partial class Home : ComponentBase private async Task ReadLastChangeAsync() { var latest = Changelog.LOGS.MaxBy(n => n.Build); - var response = await this.HttpClient.GetAsync($"changelog/{latest.Filename}"); + using var response = await this.HttpClient.GetAsync($"changelog/{latest.Filename}"); this.LastChangeContent = await response.Content.ReadAsStringAsync(); } diff --git a/app/MindWork AI Studio/Provider/Google/ProviderGoogle.cs b/app/MindWork AI Studio/Provider/Google/ProviderGoogle.cs index e0d5da7..942cb24 100644 --- a/app/MindWork AI Studio/Provider/Google/ProviderGoogle.cs +++ b/app/MindWork AI Studio/Provider/Google/ProviderGoogle.cs @@ -136,8 +136,8 @@ public class ProviderGoogle(ILogger logger) : BaseProvider("https://generativela if (secretKey is null) return default; - var request = new HttpRequestMessage(HttpMethod.Get, $"models?key={secretKey}"); - var response = await this.httpClient.SendAsync(request, token); + using var request = new HttpRequestMessage(HttpMethod.Get, $"models?key={secretKey}"); + using var response = await this.httpClient.SendAsync(request, token); if(!response.IsSuccessStatusCode) return default; diff --git a/app/MindWork AI Studio/Provider/Groq/ProviderGroq.cs b/app/MindWork AI Studio/Provider/Groq/ProviderGroq.cs index 2fc7e88..f32a31b 100644 --- a/app/MindWork AI Studio/Provider/Groq/ProviderGroq.cs +++ b/app/MindWork AI Studio/Provider/Groq/ProviderGroq.cs @@ -127,10 +127,10 @@ public class ProviderGroq(ILogger logger) : BaseProvider("https://api.groq.com/o if (secretKey is null) return []; - var request = new HttpRequestMessage(HttpMethod.Get, "models"); + using var request = new HttpRequestMessage(HttpMethod.Get, "models"); request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", secretKey); - var response = await this.httpClient.SendAsync(request, token); + using var response = await this.httpClient.SendAsync(request, token); if(!response.IsSuccessStatusCode) return []; diff --git a/app/MindWork AI Studio/Provider/Mistral/ProviderMistral.cs b/app/MindWork AI Studio/Provider/Mistral/ProviderMistral.cs index ebde4c7..024f60d 100644 --- a/app/MindWork AI Studio/Provider/Mistral/ProviderMistral.cs +++ b/app/MindWork AI Studio/Provider/Mistral/ProviderMistral.cs @@ -138,10 +138,10 @@ public sealed class ProviderMistral(ILogger logger) : BaseProvider("https://api. if (secretKey is null) return default; - var request = new HttpRequestMessage(HttpMethod.Get, "models"); + using var request = new HttpRequestMessage(HttpMethod.Get, "models"); request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", secretKey); - var response = await this.httpClient.SendAsync(request, token); + using var response = await this.httpClient.SendAsync(request, token); if(!response.IsSuccessStatusCode) return default; diff --git a/app/MindWork AI Studio/Provider/OpenAI/ProviderOpenAI.cs b/app/MindWork AI Studio/Provider/OpenAI/ProviderOpenAI.cs index 6ddeeab..ed09217 100644 --- a/app/MindWork AI Studio/Provider/OpenAI/ProviderOpenAI.cs +++ b/app/MindWork AI Studio/Provider/OpenAI/ProviderOpenAI.cs @@ -154,10 +154,10 @@ public sealed class ProviderOpenAI(ILogger logger) : BaseProvider("https://api.o if (secretKey is null) return []; - var request = new HttpRequestMessage(HttpMethod.Get, "models"); + using var request = new HttpRequestMessage(HttpMethod.Get, "models"); request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", secretKey); - var response = await this.httpClient.SendAsync(request, token); + using var response = await this.httpClient.SendAsync(request, token); if(!response.IsSuccessStatusCode) return []; diff --git a/app/MindWork AI Studio/Provider/SelfHosted/ProviderSelfHosted.cs b/app/MindWork AI Studio/Provider/SelfHosted/ProviderSelfHosted.cs index 3abda28..4ba45c6 100644 --- a/app/MindWork AI Studio/Provider/SelfHosted/ProviderSelfHosted.cs +++ b/app/MindWork AI Studio/Provider/SelfHosted/ProviderSelfHosted.cs @@ -154,11 +154,11 @@ public sealed class ProviderSelfHosted(ILogger logger, Host host, string hostnam } }; - var lmStudioRequest = new HttpRequestMessage(HttpMethod.Get, "models"); + using var lmStudioRequest = new HttpRequestMessage(HttpMethod.Get, "models"); if(secretKey is not null) lmStudioRequest.Headers.Authorization = new AuthenticationHeaderValue("Bearer", apiKeyProvisional); - var lmStudioResponse = await this.httpClient.SendAsync(lmStudioRequest, token); + using var lmStudioResponse = await this.httpClient.SendAsync(lmStudioRequest, token); if(!lmStudioResponse.IsSuccessStatusCode) return []; diff --git a/app/MindWork AI Studio/Provider/X/ProviderX.cs b/app/MindWork AI Studio/Provider/X/ProviderX.cs index c915c96..a8334c8 100644 --- a/app/MindWork AI Studio/Provider/X/ProviderX.cs +++ b/app/MindWork AI Studio/Provider/X/ProviderX.cs @@ -127,10 +127,10 @@ public sealed class ProviderX(ILogger logger) : BaseProvider("https://api.x.ai/v if (secretKey is null) return []; - var request = new HttpRequestMessage(HttpMethod.Get, "models"); + using var request = new HttpRequestMessage(HttpMethod.Get, "models"); request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", secretKey); - var response = await this.httpClient.SendAsync(request, token); + using var response = await this.httpClient.SendAsync(request, token); if(!response.IsSuccessStatusCode) return []; diff --git a/app/MindWork AI Studio/wwwroot/changelog/v0.9.28.md b/app/MindWork AI Studio/wwwroot/changelog/v0.9.28.md index 10511f8..a833761 100644 --- a/app/MindWork AI Studio/wwwroot/changelog/v0.9.28.md +++ b/app/MindWork AI Studio/wwwroot/changelog/v0.9.28.md @@ -1,2 +1,3 @@ # v0.9.28, build 203 (2025-0x-xx xx:xx UTC) -- Added an information view to all data sources to the data source configuration page. The data source configuration is a preview feature behind the RAG feature flag. \ No newline at end of file +- Added an information view to all data sources to the data source configuration page. The data source configuration is a preview feature behind the RAG feature flag. +- Improved the resource handling when loading models. \ No newline at end of file