From 6eb7a323fe97f75f3c41c9b984225763a7875177 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Sep 2025 12:29:53 +0000 Subject: [PATCH 1/8] Bump the csharpier group with 1 update Bumps csharpier from 0.30.6 to 1.1.2 --- updated-dependencies: - dependency-name: csharpier dependency-version: 1.1.2 dependency-type: direct:production update-type: version-update:semver-major dependency-group: csharpier ... Signed-off-by: dependabot[bot] --- .config/dotnet-tools.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index 393d187..faaf3ef 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -3,7 +3,7 @@ "isRoot": true, "tools": { "csharpier": { - "version": "0.30.6", + "version": "1.1.2", "commands": [ "dotnet-csharpier" ], From 7f5696d10086b9366e6e0f2f2f3173b3f932e481 Mon Sep 17 00:00:00 2001 From: Alexander Bender <48275577+LXBdev@users.noreply.github.com> Date: Wed, 10 Sep 2025 10:10:07 +0200 Subject: [PATCH 2/8] Update dotnet-tools.json --- .config/dotnet-tools.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index faaf3ef..23d3744 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -5,9 +5,9 @@ "csharpier": { "version": "1.1.2", "commands": [ - "dotnet-csharpier" + "csharpier" ], "rollForward": false } } -} \ No newline at end of file +} From 3e5b7779cc65b14a53b03009ad77da8e7bf0be90 Mon Sep 17 00:00:00 2001 From: lxbdev Date: Wed, 10 Sep 2025 15:08:12 +0200 Subject: [PATCH 3/8] fix(workflow): Update csharpier command for linting step --- .github/workflows/azure-webapps-dotnet-core.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/azure-webapps-dotnet-core.yml b/.github/workflows/azure-webapps-dotnet-core.yml index 47c3fe4..b225e86 100644 --- a/.github/workflows/azure-webapps-dotnet-core.yml +++ b/.github/workflows/azure-webapps-dotnet-core.yml @@ -59,7 +59,7 @@ jobs: - name: linting / csharpier run: | dotnet tool restore - dotnet csharpier --check . + dotnet csharpier check . - name: Build with dotnet run: dotnet build --configuration Release From 5b55f54fa2beeaf55ea216319a27a8d5cf8008ca Mon Sep 17 00:00:00 2001 From: lxbdev Date: Wed, 10 Sep 2025 15:36:39 +0200 Subject: [PATCH 4/8] fix(dependencies): Update CSharpier.MsBuild package version to 1.1.2 --- OpenAIChatGPTBlazor/OpenAIChatGPTBlazor.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenAIChatGPTBlazor/OpenAIChatGPTBlazor.csproj b/OpenAIChatGPTBlazor/OpenAIChatGPTBlazor.csproj index 07c6356..4b71148 100644 --- a/OpenAIChatGPTBlazor/OpenAIChatGPTBlazor.csproj +++ b/OpenAIChatGPTBlazor/OpenAIChatGPTBlazor.csproj @@ -17,7 +17,7 @@ - + all runtime; build; native; contentfiles; analyzers From 1015707f013570230c6ee8a31216e3a6285e678c Mon Sep 17 00:00:00 2001 From: lxbdev Date: Wed, 10 Sep 2025 15:45:51 +0200 Subject: [PATCH 5/8] fix(dependencies): Update CSharpier.MsBuild package version to 1.1.2 --- Tests/UiTests/UiTests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/UiTests/UiTests.csproj b/Tests/UiTests/UiTests.csproj index 6227efc..2ccbe88 100644 --- a/Tests/UiTests/UiTests.csproj +++ b/Tests/UiTests/UiTests.csproj @@ -23,7 +23,7 @@ Version="1.21.0" /> - + all runtime; build; native; contentfiles; analyzers From c178ddc16077487937a6f9bca486407d310abdd0 Mon Sep 17 00:00:00 2001 From: lxbdev Date: Wed, 10 Sep 2025 18:21:08 +0200 Subject: [PATCH 6/8] formatting --- .../OpenAIChatGPTBlazor.csproj | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/OpenAIChatGPTBlazor/OpenAIChatGPTBlazor.csproj b/OpenAIChatGPTBlazor/OpenAIChatGPTBlazor.csproj index 4b71148..fb1630d 100644 --- a/OpenAIChatGPTBlazor/OpenAIChatGPTBlazor.csproj +++ b/OpenAIChatGPTBlazor/OpenAIChatGPTBlazor.csproj @@ -1,26 +1,26 @@ - - - net9.0 - enable - enable - a9111ff4-d5fb-46b5-9450-c68be5805382 - Linux - - - - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers - - - - \ No newline at end of file + + net9.0 + enable + enable + a9111ff4-d5fb-46b5-9450-c68be5805382 + Linux + + + + + + + + + + + + all + runtime; build; native; contentfiles; analyzers + + + From 299b8e100a747ec466e4b4ef5caf917ffca50d91 Mon Sep 17 00:00:00 2001 From: lxbdev Date: Wed, 10 Sep 2025 18:21:16 +0200 Subject: [PATCH 7/8] formatting --- Tests/UiTests/UiTests.csproj | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/Tests/UiTests/UiTests.csproj b/Tests/UiTests/UiTests.csproj index 2ccbe88..147b3df 100644 --- a/Tests/UiTests/UiTests.csproj +++ b/Tests/UiTests/UiTests.csproj @@ -1,16 +1,13 @@  - net9.0 enable enable - false true Linux ..\.. - @@ -19,14 +16,14 @@ runtime; build; native; contentfiles; analyzers; buildtransitive all - + - all runtime; build; native; contentfiles; analyzers - - \ No newline at end of file + From 2a7cd0a48a43bdcef73d66473c7ea741e8de6811 Mon Sep 17 00:00:00 2001 From: lxbdev Date: Wed, 10 Sep 2025 18:22:01 +0200 Subject: [PATCH 8/8] more formatting stuff --- .../Components/Pages/EditImage.razor.cs | 18 +++++-- .../Components/Pages/Index.razor.cs | 48 ++++++++----------- Tests/UiTests/BasicTest.cs | 11 ++--- Tests/UiTests/FocusTests.cs | 7 +-- Tests/UiTests/GenerateImageTests.cs | 10 ++-- Tests/UiTests/SettingsTests.cs | 4 +- 6 files changed, 43 insertions(+), 55 deletions(-) diff --git a/OpenAIChatGPTBlazor/Components/Pages/EditImage.razor.cs b/OpenAIChatGPTBlazor/Components/Pages/EditImage.razor.cs index 0cb64c7..a2f6eed 100644 --- a/OpenAIChatGPTBlazor/Components/Pages/EditImage.razor.cs +++ b/OpenAIChatGPTBlazor/Components/Pages/EditImage.razor.cs @@ -67,16 +67,19 @@ private async Task OnFileSelected(InputFileChangeEventArgs e) // Read and display the uploaded image (read full stream) using var stream = _uploadedFile.OpenReadStream(maxFileSize); var buffer = new byte[_uploadedFile.Size]; - int totalRead = 0; + var totalRead = 0; while (totalRead < buffer.Length) { - int read = await stream.ReadAsync( + var read = await stream.ReadAsync( buffer, totalRead, buffer.Length - totalRead ); if (read == 0) + { break; + } + totalRead += read; } @@ -114,7 +117,9 @@ private async Task OnPromptKeydown(KeyboardEventArgs e) private async Task RunEdit() { if (_uploadedFile == null || string.IsNullOrWhiteSpace(_prompt)) + { return; + } try { @@ -129,17 +134,20 @@ private async Task RunEdit() const long maxFileSize = 50 * 1024 * 1024; // 50 MB using var stream = _uploadedFile.OpenReadStream(maxFileSize); var buffer = new byte[_uploadedFile.Size]; - int totalRead = 0; + var totalRead = 0; while (totalRead < buffer.Length) { - int read = await stream.ReadAsync( + var read = await stream.ReadAsync( buffer, totalRead, buffer.Length - totalRead, _editCancellationTokenSource.Token ); if (read == 0) + { break; + } + totalRead += read; } var imageStream = new System.IO.MemoryStream(buffer); @@ -210,7 +218,9 @@ private void AbortEdit() private async Task DownloadEditedImage() { if (_editedImageData == null) + { return; + } try { diff --git a/OpenAIChatGPTBlazor/Components/Pages/Index.razor.cs b/OpenAIChatGPTBlazor/Components/Pages/Index.razor.cs index 405936d..8adac77 100644 --- a/OpenAIChatGPTBlazor/Components/Pages/Index.razor.cs +++ b/OpenAIChatGPTBlazor/Components/Pages/Index.razor.cs @@ -66,7 +66,7 @@ protected override async Task OnAfterRenderAsync(bool firstRender) await InitiateChat(); _loading = false; - this.StateHasChanged(); + StateHasChanged(); await _nextArea.FocusAsync(); // Register paste handler for images @@ -99,15 +99,9 @@ async ValueTask IAsyncDisposable.DisposeAsync() } } - private async Task OnSearchClick() - { - await RunSearch(); - } + private async Task OnSearchClick() => await RunSearch(); - private void OnAbortClick() - { - AbortSearch(); - } + private void OnAbortClick() => AbortSearch(); private async Task OnNextKeydown(KeyboardEventArgs e) { @@ -151,7 +145,7 @@ private async Task RunSearch() try { _loading = true; - this.StateHasChanged(); + StateHasChanged(); if (_file == null) { @@ -198,12 +192,12 @@ private async Task RunSearch() if (selectedOption.HasStreamingSupport) { var updates = client.CompleteChatStreamingAsync(_chatMessages); - await foreach (StreamingChatCompletionUpdate update in updates) + await foreach (var update in updates) { - foreach (ChatMessageContentPart updatePart in update.ContentUpdate) + foreach (var updatePart in update.ContentUpdate) { _stream += updatePart.Text; - this.StateHasChanged(); + StateHasChanged(); if (_isAutoscrollEnabled && _module is not null) { await _module.InvokeVoidAsync("scrollElementToEnd", _mainArea); @@ -249,12 +243,15 @@ Microsoft.AspNetCore.Components.Forms.InputFileChangeEventArgs e { var buffer = new byte[file.Size]; using var stream = file.OpenReadStream(maxAllowedSize: 10 * 1024 * 1024); - int totalRead = 0; + var totalRead = 0; while (totalRead < buffer.Length) { - int read = await stream.ReadAsync(buffer, totalRead, buffer.Length - totalRead); + var read = await stream.ReadAsync(buffer, totalRead, buffer.Length - totalRead); if (read == 0) + { break; + } + totalRead += read; } _file = (file.Name, new BinaryData(buffer), file.ContentType); @@ -282,10 +279,7 @@ private void AbortSearch() } } - private void DeleteMessage(ChatMessage chatMessage) - { - _chatMessages.Remove(chatMessage); - } + private void DeleteMessage(ChatMessage chatMessage) => _chatMessages.Remove(chatMessage); private async void CopyMessageToNext(ChatMessage chatMessage) { @@ -295,7 +289,7 @@ private async void CopyMessageToNext(ChatMessage chatMessage) private async Task DownloadConversation() { - System.Text.StringBuilder sb = new System.Text.StringBuilder(); + var sb = new System.Text.StringBuilder(); sb.AppendLine("# ChatGPT Conversation"); foreach (var message in _chatMessages) { @@ -379,21 +373,17 @@ private async Task InitiateChat() } } - private static string GetChatMessageContent(ChatMessage message) - { - return message.Content.FirstOrDefault()?.Text ?? "[No Text]"; - } + private static string GetChatMessageContent(ChatMessage message) => + message.Content.FirstOrDefault()?.Text ?? "[No Text]"; - private string GetChatMessageRole(ChatMessage message) - { - return message switch + private string GetChatMessageRole(ChatMessage message) => + message switch { SystemChatMessage => ROLE_SYSTEM, UserChatMessage => ROLE_USER, AssistantChatMessage => ROLE_ASSISTANT, _ => "unknown", }; - } private IList JsonToChat(string json) { @@ -414,6 +404,6 @@ private IList JsonToChat(string json) return result; } - record MyChatMessage(string role, string message); + private record MyChatMessage(string role, string message); } } diff --git a/Tests/UiTests/BasicTest.cs b/Tests/UiTests/BasicTest.cs index 2223b34..94b6170 100644 --- a/Tests/UiTests/BasicTest.cs +++ b/Tests/UiTests/BasicTest.cs @@ -1,4 +1,4 @@ -using Microsoft.Playwright; +using Microsoft.Playwright; using Microsoft.Playwright.NUnit; using NUnit.Framework; @@ -12,15 +12,10 @@ public class BasicTest : PageTest Environment.GetEnvironmentVariable("AppUrl") ?? "https://localhost:7128/"; [SetUp] - public async Task SetUp() - { - await Page.GotoAsync(BaseUrl); - } + public async Task SetUp() => await Page.GotoAsync(BaseUrl); [Test] - public async Task SystemMessageShouldBePreset() - { + public async Task SystemMessageShouldBePreset() => await Expect(Page.GetByText("You are the assistant of a software engineer")) .ToBeVisibleAsync(); - } } diff --git a/Tests/UiTests/FocusTests.cs b/Tests/UiTests/FocusTests.cs index e905d11..06cfc1c 100644 --- a/Tests/UiTests/FocusTests.cs +++ b/Tests/UiTests/FocusTests.cs @@ -1,4 +1,4 @@ -using Microsoft.Playwright; +using Microsoft.Playwright; using Microsoft.Playwright.NUnit; using NUnit.Framework; @@ -9,10 +9,7 @@ namespace UiTests; public class FocusTests : PageTest { [SetUp] - public async Task SetUp() - { - await Page.GotoAsync(BasicTest.BaseUrl); - } + public async Task SetUp() => await Page.GotoAsync(BasicTest.BaseUrl); [Test] public async Task NextAreaShouldHaveFocusAfterLoading() diff --git a/Tests/UiTests/GenerateImageTests.cs b/Tests/UiTests/GenerateImageTests.cs index 7e91c59..2972a01 100644 --- a/Tests/UiTests/GenerateImageTests.cs +++ b/Tests/UiTests/GenerateImageTests.cs @@ -1,4 +1,4 @@ -using Microsoft.Playwright; +using Microsoft.Playwright; using Microsoft.Playwright.NUnit; using NUnit.Framework; @@ -9,15 +9,11 @@ namespace UiTests; public class GenerateImageTests : PageTest { [SetUp] - public async Task SetUp() - { + public async Task SetUp() => await Page.GotoAsync(Path.Combine(BasicTest.BaseUrl, "GenerateImage")); - } [Test] - public async Task PageShouldLoadAndShowHeading() - { + public async Task PageShouldLoadAndShowHeading() => await Expect(Page.GetByText("Welcome to my Image Generation using OpenAI")) .ToBeVisibleAsync(); - } } diff --git a/Tests/UiTests/SettingsTests.cs b/Tests/UiTests/SettingsTests.cs index 6bf9d26..28e1e33 100644 --- a/Tests/UiTests/SettingsTests.cs +++ b/Tests/UiTests/SettingsTests.cs @@ -1,4 +1,4 @@ -using Microsoft.Playwright; +using Microsoft.Playwright; using Microsoft.Playwright.NUnit; using NUnit.Framework; @@ -40,7 +40,7 @@ await Page.WaitForFunctionAsync( "() => localStorage.getItem('IsAutoscrollEnabled')" ); Assert.IsTrue( - Boolean.TryParse(storedString, out var storedAfter), + bool.TryParse(storedString, out var storedAfter), $"{storedString} expected to be a valid bool" ); Assert.AreNotEqual(checkedBefore, storedAfter, "expected changed value");