Introduces JsCore for ChakraCore P/Invoke, JsSerializer for JSON utilities via JS, and NativeBootstrap for robust native DLL loading. Updates Program.cs to initialize native dependencies at startup and registers new source files in the project file.
Adds a null check for the resource server after initialization and logs an error if it fails. Changes duplicate launcher instance log from error to info, and wraps mutex release in a try-catch to prevent exceptions if not owned.
Renamed the out variable from '_createdNew' to 'createdNew' for clarity and updated its usage in the mutex check. This improves code readability and consistency.
Changed the out parameter name from 'mutexNotExists' to '_createdNew' in the Mutex constructor for improved readability and clarity in the Main method.
Introduces ICompatibleLogger for improved logging, replaces Trace.TraceError and Trace.TraceInformation calls with logger methods, and standardizes ResourceServer instance naming to _resourceServer. Passes logger instances to MainForm and ResourceServer for consistent logging. Also refactors mutex handling and initialization logic for clarity.
Introduces ResourceServerAutoStart and ChromiumFileName/ChromiumDevToolsPrefix settings to app.config and resources. Refactors resource server startup logic to support autostart and configurable browser launch. Cleans up related code in MainForm and Program for improved flexibility and maintainability.