Autostart native signing application
This MR makes the front end try to autostart the native signing application. If the app is not running (the front end fails to establish a websocket connection), the front end sends a browser native message and if the grade signing extension is installed on the browser it starts the application. If not, it tries 2 more times and if it fails it gives the user the previous prompt to open the application manually. When sending the native message, the thread sleeps for 3 seconds (await new Promise(resolve => setTimeout(resolve, 3000)
) while waiting for the executable to launch. This is done to prevent, multiple instances of the native app running.
The flow can be seen here
- If the extension is present
- If the extension is absent
Closes #254 (closed)