mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-04-19 14:53:50 +02:00
Fix friends++, saving prints, deleted userdata
This commit is contained in:
@@ -24,20 +24,8 @@ namespace VRCX
|
||||
internal void Init()
|
||||
{
|
||||
var userDataDir = Path.Join(Program.AppDataDirectory, "userdata");
|
||||
|
||||
// delete userdata if Cef version has been downgraded, fixes VRCX not opening after a downgrade
|
||||
var currentVersion = Cef.ChromiumVersion;
|
||||
if (File.Exists(_lastCefVersionPath))
|
||||
{
|
||||
var lastCefVersion = File.ReadAllText(_lastCefVersionPath).Trim();
|
||||
if (string.Compare(lastCefVersion, currentVersion, StringComparison.Ordinal) > 0)
|
||||
{
|
||||
logger.Info("Cef downgrade detected, deleting userdata: {0} -> {1}", lastCefVersion, currentVersion);
|
||||
Directory.Delete(userDataDir, true);
|
||||
}
|
||||
}
|
||||
File.WriteAllBytes(_lastCefVersionPath, Encoding.UTF8.GetBytes(currentVersion));
|
||||
logger.Info("Cef version: {0}", currentVersion);
|
||||
CheckCefVersion(userDataDir);
|
||||
|
||||
var cefSettings = new CefSettings
|
||||
{
|
||||
@@ -125,6 +113,51 @@ namespace VRCX
|
||||
}
|
||||
}
|
||||
|
||||
private void CheckCefVersion(string userDataDir)
|
||||
{
|
||||
var currentVersion = Cef.ChromiumVersion;
|
||||
if (File.Exists(_lastCefVersionPath))
|
||||
{
|
||||
var lastCefVersion = File.ReadAllText(_lastCefVersionPath).Trim();
|
||||
var lastCefVersionParts = lastCefVersion.Split('.');
|
||||
var currentVersionParts = currentVersion.Split('.');
|
||||
if (lastCefVersionParts.Length != currentVersionParts.Length)
|
||||
{
|
||||
logger.Info("Cef version mismatch detected, deleting userdata: {0} -> {1}", lastCefVersion,
|
||||
currentVersion);
|
||||
DeleteUserData(userDataDir);
|
||||
}
|
||||
|
||||
for (var i = 0; i < lastCefVersionParts.Length; i++)
|
||||
{
|
||||
if (int.TryParse(lastCefVersionParts[i], out var lastPart) &&
|
||||
int.TryParse(currentVersionParts[i], out var currentPart) &&
|
||||
lastPart > currentPart)
|
||||
{
|
||||
logger.Info("Cef downgrade detected, deleting userdata: {0} -> {1}", lastCefVersion,
|
||||
currentVersion);
|
||||
DeleteUserData(userDataDir);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
File.WriteAllBytes(_lastCefVersionPath, Encoding.UTF8.GetBytes(currentVersion));
|
||||
logger.Info("Cef version: {0}", currentVersion);
|
||||
}
|
||||
|
||||
private static void DeleteUserData(string userDataDir)
|
||||
{
|
||||
if (!Directory.Exists(userDataDir))
|
||||
return;
|
||||
|
||||
try {
|
||||
Directory.Delete(userDataDir, true);
|
||||
} catch (Exception ex) {
|
||||
logger.Error(ex, "Failed to delete userdata directory: {0}", userDataDir);
|
||||
}
|
||||
}
|
||||
|
||||
internal void Exit()
|
||||
{
|
||||
Cef.Shutdown();
|
||||
|
||||
Reference in New Issue
Block a user