Abdelrhman-AK / WinPaletter

Advanced Windows Appearance Editor

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

:x: [Error] Newtonsoft.Json.JsonReaderException (1.0.8.5, Beta, Build: Debug)

valsamis-d opened this issue · comments

❌ Error report

Describe the error

Upon starting WinPaletter I got an exception. Details in the log below. Clicking on "Continue" looks like bypassing the error but WinPaletter window is completely blank and doesn't load.

How to reproduce the error

Just download an execture WinPaletter v1.0.8.5 Beta, either Release of Debug build/

WinPaletter Log

//General information
//...........................................................
   Report.Date = "Τρίτη, 20 Φεβρουαρίου 2024 11:59:02";
   OS = "Windows 11, 10.0.22631.3085, 64-bit";
   WinPaletter.Version = "1.0.8.5, Beta, Build: Debug";
   WinPaletter.Language = "English";
   WinPaletter.Debugging = false;

//Error details
//...........................................................
   Exception.message = "Unexpected character encountered while parsing value: {. Path 'profiles.list[3].colorScheme', line 80, position 17.";
   Exception.type = "Newtonsoft.Json.JsonReaderException";
   Exception.stack.trace =
   {
         at Newtonsoft.Json.JsonTextReader.ReadStringValue(ReadType readType)
         at Newtonsoft.Json.JsonTextReader.ReadAsString()
         at Newtonsoft.Json.JsonReader.ReadForType(JsonContract contract, Boolean hasConverter)
         at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
         at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
         at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
         at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateList(IList list, JsonReader reader, JsonArrayContract contract, JsonProperty containerProperty, String id)
         at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue, String id)
         at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
         at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target)
         at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
         at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
         at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
         at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ResolvePropertyAndCreatorValues(JsonObjectContract contract, JsonProperty containerProperty, JsonReader reader, Type objectType)
         at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObjectUsingCreatorWithParameters(JsonReader reader, JsonObjectContract contract, JsonProperty containerProperty, ObjectConstructor`1 creator, String id)
         at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
         at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
         at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
         at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
         at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
         at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)
         at WinPaletter.WinTerminal..ctor(String File, Mode Mode, Version Version)
         at WinPaletter.Theme.Manager..ctor(Source Source, String File, Boolean ignoreExtractionThemePack, Boolean ignoreErrors)
         at WinPaletter.Program.LoadThemeManager()
         at WinPaletter.Program.InitializeApplication(Boolean showLoginDialog)
         at WinPaletter.User.OnUserSwitch(UserChangeEventArgs e)
         at WinPaletter.User.set_SID(String value)
         at WinPaletter.UserSwitch.Button1_Click(Object sender, EventArgs e)
         at System.Windows.Forms.Control.OnClick(EventArgs e)
         at WinPaletter.UI.WP.Button.OnClick(EventArgs e)
         at System.Windows.Forms.Button.PerformClick()
         at System.Windows.Forms.Control.OnDoubleClick(EventArgs e)
         at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
         at System.Windows.Forms.Control.WndProc(Message& m)
         at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   };
   Exception.target.void_function = "Newtonsoft.Json.ReadStringValue()";
   Exception.assembly = "Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed";
   Exception.assembly.file = "";
   Exception.HRESULT = -2146233088;
   Win32.exception.message = "The operation completed successfully";
   Exception.type = "System.ComponentModel.Win32Exception";
   Win32.exception.Marshal.GetLastWin32Error = 1400;

Screenshots/Screen records

Blank WinPaletter window after clicking "Continue"
XagXv5M8bH

There is something wrong in a character in setting.json file of Windows Terminal.

Can you give me a copy of settings file of both Windows Terminal and Windows Terminal Preview?

Windows_Terminal_Preview_Settings.json has another structure for color scheme for profile PowerShell 7

                "colorScheme": 
                {
                    "light": "Campbell"
                },

Open it, change this into

                "colorScheme": "Campbell",

save and then reopen WinPaletter. This will solve the issue.

⚠️ This is a temporary solution till I fix this issue, and I recommend you to backup settings JSONs files to avoid undesired actions in the newly modified Windows Terminal structures in WinPaletter.

Perfect! I was able to open the new WinPaletter! Thanks @Abdelrhman-AK !

You're welcome!