Handle parsing malformed user created VRC config.json files

This commit is contained in:
Natsumi
2025-05-28 23:58:08 +10:00
parent 9f45d535a0
commit 834e5fc245
5 changed files with 36 additions and 5 deletions

View File

@@ -1,5 +1,6 @@
using System;
using System.IO;
using Newtonsoft.Json;
namespace VRCX
{
@@ -18,6 +19,27 @@ namespace VRCX
return json;
}
public string ReadConfigFileSafe()
{
try
{
var configFile = ReadConfigFile();
if (string.IsNullOrEmpty(configFile))
return string.Empty;
var jObject = JsonConvert.DeserializeObject<dynamic>(configFile, JsonSerializerSettings);
if (jObject == null)
return string.Empty;
return JsonConvert.SerializeObject(jObject, Formatting.Indented);
}
catch (Exception ex)
{
logger.Warn(ex, "Failed to parse VRC config.json file");
return string.Empty;
}
}
public void WriteConfigFile(string json)
{
var path = GetVRChatAppDataLocation();