Problem Statement
When an extension driver process exits unexpectedly (SIGKILL exitCode 137, SIGSEGV, or panic), the UI displays raw exception text without any recovery action. The user has to close the connection or restart the entire Querya Desktop application to restore driver communication.
Additionally, ExtensionDriverSession does not provide a high-level restart(ConnectionRow row) API to cleanly re-spawn the driver process and re-establish the connection.
Proposed Solution
- Add ExtensionDriverSession.instance.restart(ConnectionRow row) which cleanly shuts down any dead/existing bridge for the connection and executes ensureConnected(row).
- Add an onExit listener or crash hook so ExtensionDriverSession clears dead bridges from its active map immediately upon process termination.
- In ExtensionSqlWorkspace and ExtensionTableView, when a driver error occurs (PluginCrashedException, PluginDeadlockException, or disconnect), render a clear banner with a "Restart Driver" action button that re-spawns the driver in 1 click and retries the last query or reloads the table schema.
Reactions are currently unavailable
Problem Statement
When an extension driver process exits unexpectedly (SIGKILL exitCode 137, SIGSEGV, or panic), the UI displays raw exception text without any recovery action. The user has to close the connection or restart the entire Querya Desktop application to restore driver communication.
Additionally, ExtensionDriverSession does not provide a high-level restart(ConnectionRow row) API to cleanly re-spawn the driver process and re-establish the connection.
Proposed Solution