From 792cd7c3a4cb9f99bef3d925fc43dca2c31b387a Mon Sep 17 00:00:00 2001 From: Jimmy Quach Date: Fri, 5 Aug 2022 06:36:40 -0700 Subject: [PATCH] fix: Debug not using node dev server Now when debugging, we will display the interface using the node dev server for debug features such as live code editing. This may introduce some issues (#11) but we shall try anyways and see, since it benefits development. + minor perf. improvement when not using the local domain when using SetVirtualHostNameToFolderMapping. See related issue: https://github.com/MicrosoftEdge/WebView2Feedback/issues/2381 --- Classes/Recorders/BaseRecorder.cs | 3 +-- Classes/Utils/Helpers.cs | 8 ++++++-- Classes/frmMain.cs | 7 ++++--- ClientApp/src/pages/Player.tsx | 9 +++++++++ 4 files changed, 20 insertions(+), 7 deletions(-) diff --git a/Classes/Recorders/BaseRecorder.cs b/Classes/Recorders/BaseRecorder.cs index d235173b..483a7302 100644 --- a/Classes/Recorders/BaseRecorder.cs +++ b/Classes/Recorders/BaseRecorder.cs @@ -61,8 +61,7 @@ public void ProcessCreation_EventArrived(object sender, EventArrivedEventArgs e) } AutoDetectGame(processId, executablePath.ToString()); } - else if (processId != 0) - AutoDetectGame(processId); + else if (processId != 0)AutoDetectGame(processId); } } catch (ManagementException) { } diff --git a/Classes/Utils/Helpers.cs b/Classes/Utils/Helpers.cs index 6686b7f0..1525d578 100644 --- a/Classes/Utils/Helpers.cs +++ b/Classes/Utils/Helpers.cs @@ -23,8 +23,8 @@ public static string GenerateShortID() { public static string GetRePlaysURI() { #if (DEBUG) - //return "http://localhost:3000/#/"; - return "file://" + Directory.GetParent(Environment.CurrentDirectory).Parent.Parent.FullName + "/ClientApp/build/index.html"; + //return "file://" + Directory.GetParent(Environment.CurrentDirectory).Parent.Parent.FullName + "/ClientApp/build/index.html"; + return "http://localhost:3000/#/"; #elif (RELEASE) return "file://" + Application.StartupPath + "/ClientApp/build/index.html"; #endif @@ -168,7 +168,11 @@ public static VideoList GetAllVideos(string Game = "All Games", string SortBy = video.date = new FileInfo(file).CreationTime; video.fileName = Path.GetFileName(file); video.game = Path.GetFileName(Path.GetDirectoryName(file)); +#if (DEBUG) + video.folder = "https://videos.replays.app/"; +#elif (RELEASE) video.folder = "file://" + Path.GetFullPath(Path.Combine(Path.GetDirectoryName(file), "..")).Replace("\\", "/"); +#endif if (!videoList.games.Contains(video.game)) videoList.games.Add(video.game); diff --git a/Classes/frmMain.cs b/Classes/frmMain.cs index c2655816..2c34753e 100644 --- a/Classes/frmMain.cs +++ b/Classes/frmMain.cs @@ -117,12 +117,13 @@ private async void CoreWebView2InitializationCompleted(object sender, CoreWebVie webView2.CoreWebView2.Settings.IsWebMessageEnabled = true; webView2.CoreWebView2.PermissionRequested += CoreWebView2PermissionRequested; #if (DEBUG) - webView2.CoreWebView2.SetVirtualHostNameToFolderMapping("replays.local", Directory.GetParent(Environment.CurrentDirectory).Parent.Parent.FullName + "/ClientApp/public/", CoreWebView2HostResourceAccessKind.Allow); + webView2.CoreWebView2.SetVirtualHostNameToFolderMapping("videos.replays.app", GetPlaysFolder(), CoreWebView2HostResourceAccessKind.Allow); + webView2.CoreWebView2.SetVirtualHostNameToFolderMapping("replays.app", Directory.GetParent(Environment.CurrentDirectory).Parent.Parent.FullName + "/ClientApp/public/", CoreWebView2HostResourceAccessKind.Allow); #elif (RELEASE) - webView2.CoreWebView2.SetVirtualHostNameToFolderMapping("replays.local", Application.StartupPath + "/ClientApp/build/", CoreWebView2HostResourceAccessKind.Allow); + webView2.CoreWebView2.SetVirtualHostNameToFolderMapping("replays.app", Application.StartupPath + "/ClientApp/build/", CoreWebView2HostResourceAccessKind.Allow); webView2.CoreWebView2.Settings.AreDefaultContextMenusEnabled = false; #endif - webView2.CoreWebView2.Navigate("https://replays.local/preload.html"); + webView2.CoreWebView2.Navigate("https://replays.app/preload.html"); } private void CoreWebView2PermissionRequested(object sender, CoreWebView2PermissionRequestedEventArgs e) { diff --git a/ClientApp/src/pages/Player.tsx b/ClientApp/src/pages/Player.tsx index a7e059b1..5884f27b 100644 --- a/ClientApp/src/pages/Player.tsx +++ b/ClientApp/src/pages/Player.tsx @@ -281,6 +281,15 @@ export const Player: React.FC = ({videos}) => { return (
+ {(!process.env.NODE_ENV || process.env.NODE_ENV === 'development') && +
+ DEV ONLY NOTE: Player has issues that only occur when debugging, it works perfectly fine in production + see this issue for more details: + {postMessage("ShowFolder", "https://github.com/lulzsun/RePlays/issues/11")}}>https://github.com/lulzsun/RePlays/issues/11 + +
+ } +
{ (videoElement.current?.paused ? videoElement.current?.play() : videoElement.current?.pause())