From a573bb7f51338baf817271a42dd3fe97d090e1a0 Mon Sep 17 00:00:00 2001 From: Yair <39923744+yaira2@users.noreply.github.com> Date: Mon, 9 Sep 2024 10:31:35 -0400 Subject: [PATCH 1/2] Code Quality: Use EncoderReplacementFallback in QuickLook preview provider --- .../Services/PreviewPopupProviders/QuickLookProvider.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Files.App/Services/PreviewPopupProviders/QuickLookProvider.cs b/src/Files.App/Services/PreviewPopupProviders/QuickLookProvider.cs index 0de543e82216..6537c7582034 100644 --- a/src/Files.App/Services/PreviewPopupProviders/QuickLookProvider.cs +++ b/src/Files.App/Services/PreviewPopupProviders/QuickLookProvider.cs @@ -5,6 +5,7 @@ using System.IO; using System.IO.Pipes; using System.Security.Principal; +using System.Text; namespace Files.App.Services.PreviewPopupProviders { @@ -16,6 +17,7 @@ public sealed class QuickLookProvider : IPreviewPopupProvider private static string pipeName = $"QuickLook.App.Pipe.{WindowsIdentity.GetCurrent().User?.Value}"; private static string pipeMessageSwitch = "QuickLook.App.PipeMessages.Switch"; private static string pipeMessageToggle = "QuickLook.App.PipeMessages.Toggle"; + private static Encoding encoding = Encoding.GetEncoding("UTF-8", new EncoderReplacementFallback("?"), new DecoderExceptionFallback()); public async Task TogglePreviewPopupAsync(string path) { @@ -36,7 +38,7 @@ private async Task DoPreviewAsync(string path, string message) { await client.ConnectAsync(TIMEOUT); - await using var writer = new StreamWriter(client); + await using var writer = new StreamWriter(client, encoding); await writer.WriteLineAsync($"{message}|{path}"); await writer.FlushAsync(); } From 9d859d88863574775ad5b1a41529b0a50d2516e7 Mon Sep 17 00:00:00 2001 From: Yair <39923744+yaira2@users.noreply.github.com> Date: Mon, 9 Sep 2024 13:27:59 -0400 Subject: [PATCH 2/2] Update QuickLookProvider.cs --- .../Services/PreviewPopupProviders/QuickLookProvider.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Files.App/Services/PreviewPopupProviders/QuickLookProvider.cs b/src/Files.App/Services/PreviewPopupProviders/QuickLookProvider.cs index 6537c7582034..bb9f74ff8ebe 100644 --- a/src/Files.App/Services/PreviewPopupProviders/QuickLookProvider.cs +++ b/src/Files.App/Services/PreviewPopupProviders/QuickLookProvider.cs @@ -17,7 +17,6 @@ public sealed class QuickLookProvider : IPreviewPopupProvider private static string pipeName = $"QuickLook.App.Pipe.{WindowsIdentity.GetCurrent().User?.Value}"; private static string pipeMessageSwitch = "QuickLook.App.PipeMessages.Switch"; private static string pipeMessageToggle = "QuickLook.App.PipeMessages.Toggle"; - private static Encoding encoding = Encoding.GetEncoding("UTF-8", new EncoderReplacementFallback("?"), new DecoderExceptionFallback()); public async Task TogglePreviewPopupAsync(string path) { @@ -32,6 +31,7 @@ public async Task SwitchPreviewAsync(string path) private async Task DoPreviewAsync(string path, string message) { string pipeName = $"QuickLook.App.Pipe.{WindowsIdentity.GetCurrent().User?.Value}"; + var encoding = Encoding.GetEncoding("UTF-8", new EncoderReplacementFallback("?"), new DecoderExceptionFallback()); await using var client = new NamedPipeClientStream(".", pipeName, PipeDirection.Out); try