From bdf84693ad2911906907d977d62998221bed1d5a Mon Sep 17 00:00:00 2001 From: pizzaboxer <41478239+pizzaboxer@users.noreply.github.com> Date: Fri, 13 Jan 2023 21:17:14 +0000 Subject: [PATCH] Fix Discord RP reading the wrong log file I can't actually test this yet since I can't reproduce the problem on my PC, but for now I'll just push this. --- .../Helpers/Integrations/DiscordRichPresence.cs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/Bloxstrap/Helpers/Integrations/DiscordRichPresence.cs b/Bloxstrap/Helpers/Integrations/DiscordRichPresence.cs index 887534e..9402848 100644 --- a/Bloxstrap/Helpers/Integrations/DiscordRichPresence.cs +++ b/Bloxstrap/Helpers/Integrations/DiscordRichPresence.cs @@ -90,7 +90,22 @@ namespace Bloxstrap.Helpers.Integrations if (!Directory.Exists(logDirectory)) return; - FileInfo logFileInfo = new DirectoryInfo(logDirectory).GetFiles().OrderByDescending(f => f.LastWriteTime).First(); + FileInfo logFileInfo; + + // we need to make sure we're fetching the absolute latest log file + // if roblox doesn't start quickly enough, we can wind up fetching the previous log file + // good rule of thumb is to find a log file that was created in the last 15 seconds or so + + while (true) + { + logFileInfo = new DirectoryInfo(logDirectory).GetFiles().OrderByDescending(x => x.CreationTime).First(); + + if (logFileInfo.CreationTime.AddSeconds(15) > DateTime.Now) + break; + + await Task.Delay(1000); + } + FileStream logFileStream = logFileInfo.Open(FileMode.Open, FileAccess.Read, FileShare.ReadWrite); AutoResetEvent logUpdatedEvent = new(false);