@@ -37,6 +37,7 @@ import { lazyObservablePromise } from '../util/observable';
3737import { persist , hydrate } from '../util/mobx-persist/persist' ;
3838import { isValidPort } from './network' ;
3939import { serverVersion } from '../services/service-versions' ;
40+ import { DesktopApi } from '../services/desktop-api' ;
4041
4142type HtkAdminClient =
4243 // WebRTC is only supported for new servers:
@@ -224,16 +225,29 @@ export class ProxyStore {
224225 } ) ;
225226
226227 private monitorRemoteClientConnection ( client : PluggableAdmin . AdminClient < { } > ) {
227- client . on ( 'admin-client: stream-error' , ( err ) => {
228+ client . on ( 'stream-error' , ( err ) => {
228229 console . log ( 'Admin client stream error' ) ;
229230 logError ( err . message ? err : new Error ( 'Client stream error' ) , { cause : err } ) ;
230231 } ) ;
231- client . on ( 'admin-client: subscription-error' , ( err ) => {
232+ client . on ( 'subscription-error' , ( err ) => {
232233 console . log ( 'Admin client subscription error' ) ;
233234 logError ( err . message ? err : new Error ( 'Client subscription error' ) , { cause : err } ) ;
234235 } ) ;
235- client . on ( 'admin-client: stream-reconnect-failed' , ( err ) => {
236+ client . on ( 'stream-reconnect-failed' , ( err ) => {
236237 logError ( err . message ? err : new Error ( 'Client reconnect error' ) , { cause : err } ) ;
238+
239+ alert ( "Server disconnected unexpectedly, app restart required.\n\nPlease report this at github.com/httptoolkit/httptoolkit." ) ;
240+ setTimeout ( ( ) => { // Tiny wait for any other UI events to fire (error reporting/logging/other UI responsiveness)
241+ if ( DesktopApi . restartApp ) {
242+ // Where possible (recent desktop release) we restart the whole app directly
243+ DesktopApi . restartApp ( ) ;
244+ } else if ( ! navigator . platform ?. startsWith ( 'Mac' ) ) {
245+ // If not, on Windows & Linux we just close the window (which restarts)
246+ window . close ( ) ;
247+ }
248+ // On Mac, app exit is independent from window exit, so we can't force that here,
249+ // but hopefully this alert will lead the user to do so themselves.
250+ } , 10 ) ;
237251 } ) ;
238252 }
239253
0 commit comments