From d9ace0e20fd5c80df7d936022a5d7ee84cfceaa3 Mon Sep 17 00:00:00 2001 From: Manisha Jha Date: Tue, 16 Sep 2025 21:27:12 +0530 Subject: [PATCH 1/6] Fix mirrored WebView content in RTL mode (#17615) --- src/Files.App/Views/ReleaseNotesPage.xaml.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Files.App/Views/ReleaseNotesPage.xaml.cs b/src/Files.App/Views/ReleaseNotesPage.xaml.cs index c453b9285e8d..1d26d782d894 100644 --- a/src/Files.App/Views/ReleaseNotesPage.xaml.cs +++ b/src/Files.App/Views/ReleaseNotesPage.xaml.cs @@ -83,6 +83,8 @@ protected override void OnNavigatedFrom(NavigationEventArgs e) private async void BlogPostWebView_CoreWebView2Initialized(WebView2 sender, CoreWebView2InitializedEventArgs args) { + sender.FlowDirection = FlowDirection.LeftToRight; + sender.CoreWebView2.Profile.PreferredColorScheme = (CoreWebView2PreferredColorScheme)RootAppElement.RequestedTheme; sender.CoreWebView2.Settings.AreDefaultContextMenusEnabled = false; sender.CoreWebView2.Settings.AreDevToolsEnabled = false; From c34be8c4906f59ed3c4671d852a4339da202b5d5 Mon Sep 17 00:00:00 2001 From: Manisha Jha Date: Thu, 18 Sep 2025 16:28:28 +0530 Subject: [PATCH 2/6] fix: set FlowDirection in XAML instead of code-behind --- src/Files.App/Views/ReleaseNotesPage.xaml | 1 + src/Files.App/Views/ReleaseNotesPage.xaml.cs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Files.App/Views/ReleaseNotesPage.xaml b/src/Files.App/Views/ReleaseNotesPage.xaml index 969852aef404..cd7aa528cdc3 100644 --- a/src/Files.App/Views/ReleaseNotesPage.xaml +++ b/src/Files.App/Views/ReleaseNotesPage.xaml @@ -21,6 +21,7 @@ Date: Thu, 18 Sep 2025 16:55:07 +0530 Subject: [PATCH 3/6] fix: resolving conflicts --- src/Files.App/Views/ReleaseNotesPage.xaml.cs | 51 +++++++++++--------- 1 file changed, 28 insertions(+), 23 deletions(-) diff --git a/src/Files.App/Views/ReleaseNotesPage.xaml.cs b/src/Files.App/Views/ReleaseNotesPage.xaml.cs index 5a5ea9c43349..dd6a82d5e842 100644 --- a/src/Files.App/Views/ReleaseNotesPage.xaml.cs +++ b/src/Files.App/Views/ReleaseNotesPage.xaml.cs @@ -83,29 +83,34 @@ protected override void OnNavigatedFrom(NavigationEventArgs e) private async void BlogPostWebView_CoreWebView2Initialized(WebView2 sender, CoreWebView2InitializedEventArgs args) { - - - sender.CoreWebView2.Profile.PreferredColorScheme = (CoreWebView2PreferredColorScheme)RootAppElement.RequestedTheme; - sender.CoreWebView2.Settings.AreDefaultContextMenusEnabled = false; - sender.CoreWebView2.Settings.AreDevToolsEnabled = false; - sender.CoreWebView2.Settings.AreBrowserAcceleratorKeysEnabled = false; - sender.CoreWebView2.Settings.IsSwipeNavigationEnabled = false; - - var script = @" - document.addEventListener('click', function(event) { - var target = event.target; - while (target && target.tagName !== 'A') { - target = target.parentElement; - } - if (target && target.href) { - event.preventDefault(); - window.chrome.webview.postMessage(target.href); - } - }); - "; - - await sender.CoreWebView2.AddScriptToExecuteOnDocumentCreatedAsync(script); - sender.WebMessageReceived += WebView_WebMessageReceived; + try + { + sender.CoreWebView2.Profile.PreferredColorScheme = (CoreWebView2PreferredColorScheme)RootAppElement.RequestedTheme; + sender.CoreWebView2.Settings.AreDefaultContextMenusEnabled = false; + sender.CoreWebView2.Settings.AreDevToolsEnabled = false; + sender.CoreWebView2.Settings.AreBrowserAcceleratorKeysEnabled = false; + sender.CoreWebView2.Settings.IsSwipeNavigationEnabled = false; + + var script = @" + document.addEventListener('click', function(event) { + var target = event.target; + while (target && target.tagName !== 'A') { + target = target.parentElement; + } + if (target && target.href) { + event.preventDefault(); + window.chrome.webview.postMessage(target.href); + } + }); + "; + + await sender.CoreWebView2.AddScriptToExecuteOnDocumentCreatedAsync(script); + sender.WebMessageReceived += WebView_WebMessageReceived; + } + catch (Exception ex) + { + App.Logger.LogWarning(ex, ex.Message); + } } private async void WebView_WebMessageReceived(WebView2 sender, CoreWebView2WebMessageReceivedEventArgs args) From 809d8e9511d67f3f46ed821100ae3eb1a736e2b4 Mon Sep 17 00:00:00 2001 From: Manisha Jha Date: Thu, 18 Sep 2025 17:02:26 +0530 Subject: [PATCH 4/6] fix: resolving indentation conflicts --- src/Files.App/Views/ReleaseNotesPage.xaml.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Files.App/Views/ReleaseNotesPage.xaml.cs b/src/Files.App/Views/ReleaseNotesPage.xaml.cs index dd6a82d5e842..1d441f04b7a7 100644 --- a/src/Files.App/Views/ReleaseNotesPage.xaml.cs +++ b/src/Files.App/Views/ReleaseNotesPage.xaml.cs @@ -82,8 +82,8 @@ protected override void OnNavigatedFrom(NavigationEventArgs e) } private async void BlogPostWebView_CoreWebView2Initialized(WebView2 sender, CoreWebView2InitializedEventArgs args) - { - try + { + try { sender.CoreWebView2.Profile.PreferredColorScheme = (CoreWebView2PreferredColorScheme)RootAppElement.RequestedTheme; sender.CoreWebView2.Settings.AreDefaultContextMenusEnabled = false; From 5fb9ce179ecb426cf62753990164f50e6f5b8639 Mon Sep 17 00:00:00 2001 From: Yair <39923744+yaira2@users.noreply.github.com> Date: Thu, 18 Sep 2025 10:28:11 -0400 Subject: [PATCH 5/6] Refactor BlogPostWebView_CoreWebView2Initialized method Signed-off-by: Yair <39923744+yaira2@users.noreply.github.com> --- src/Files.App/Views/ReleaseNotesPage.xaml.cs | 51 +++++++++----------- 1 file changed, 22 insertions(+), 29 deletions(-) diff --git a/src/Files.App/Views/ReleaseNotesPage.xaml.cs b/src/Files.App/Views/ReleaseNotesPage.xaml.cs index 1d441f04b7a7..c453b9285e8d 100644 --- a/src/Files.App/Views/ReleaseNotesPage.xaml.cs +++ b/src/Files.App/Views/ReleaseNotesPage.xaml.cs @@ -82,35 +82,28 @@ protected override void OnNavigatedFrom(NavigationEventArgs e) } private async void BlogPostWebView_CoreWebView2Initialized(WebView2 sender, CoreWebView2InitializedEventArgs args) - { - try - { - sender.CoreWebView2.Profile.PreferredColorScheme = (CoreWebView2PreferredColorScheme)RootAppElement.RequestedTheme; - sender.CoreWebView2.Settings.AreDefaultContextMenusEnabled = false; - sender.CoreWebView2.Settings.AreDevToolsEnabled = false; - sender.CoreWebView2.Settings.AreBrowserAcceleratorKeysEnabled = false; - sender.CoreWebView2.Settings.IsSwipeNavigationEnabled = false; - - var script = @" - document.addEventListener('click', function(event) { - var target = event.target; - while (target && target.tagName !== 'A') { - target = target.parentElement; - } - if (target && target.href) { - event.preventDefault(); - window.chrome.webview.postMessage(target.href); - } - }); - "; - - await sender.CoreWebView2.AddScriptToExecuteOnDocumentCreatedAsync(script); - sender.WebMessageReceived += WebView_WebMessageReceived; - } - catch (Exception ex) - { - App.Logger.LogWarning(ex, ex.Message); - } + { + sender.CoreWebView2.Profile.PreferredColorScheme = (CoreWebView2PreferredColorScheme)RootAppElement.RequestedTheme; + sender.CoreWebView2.Settings.AreDefaultContextMenusEnabled = false; + sender.CoreWebView2.Settings.AreDevToolsEnabled = false; + sender.CoreWebView2.Settings.AreBrowserAcceleratorKeysEnabled = false; + sender.CoreWebView2.Settings.IsSwipeNavigationEnabled = false; + + var script = @" + document.addEventListener('click', function(event) { + var target = event.target; + while (target && target.tagName !== 'A') { + target = target.parentElement; + } + if (target && target.href) { + event.preventDefault(); + window.chrome.webview.postMessage(target.href); + } + }); + "; + + await sender.CoreWebView2.AddScriptToExecuteOnDocumentCreatedAsync(script); + sender.WebMessageReceived += WebView_WebMessageReceived; } private async void WebView_WebMessageReceived(WebView2 sender, CoreWebView2WebMessageReceivedEventArgs args) From 17c685ef2f56ce67061c07bb645a1e97c3233274 Mon Sep 17 00:00:00 2001 From: "files-community-bot[bot]" <152337890+files-community-bot[bot]@users.noreply.github.com> Date: Thu, 18 Sep 2025 14:32:55 +0000 Subject: [PATCH 6/6] Formatted XAML files --- src/Files.App/Views/ReleaseNotesPage.xaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Files.App/Views/ReleaseNotesPage.xaml b/src/Files.App/Views/ReleaseNotesPage.xaml index cd7aa528cdc3..1289d13f4038 100644 --- a/src/Files.App/Views/ReleaseNotesPage.xaml +++ b/src/Files.App/Views/ReleaseNotesPage.xaml @@ -21,10 +21,10 @@