fix: preserve local host scheduler and fatal errors
This commit is contained in:
+16
-2
@@ -138,10 +138,24 @@ export function createLocalLoginHost(options: LocalLoginHostOptions): LocalLogin
|
||||
if (model.kind === 'denial') serverFailure = { data: model.outcome.data };
|
||||
if (model.kind === 'kicked') serverFailure = { data: model.data };
|
||||
try { options.view.showOverlay(model); }
|
||||
catch (error) { transportFault(error); throw error; }
|
||||
catch (error) {
|
||||
if (model.kind === 'fatal') fail(collected([model.error, error]));
|
||||
else transportFault(error);
|
||||
throw error;
|
||||
}
|
||||
if (model.kind === 'fatal') fail(model.error);
|
||||
},
|
||||
}, options.scheduler, fail);
|
||||
}, {
|
||||
request: callback => {
|
||||
try {
|
||||
const cancel = options.scheduler.request(callback);
|
||||
return () => {
|
||||
try { cancel(); }
|
||||
catch (error) { fail(error); throw error; }
|
||||
};
|
||||
} catch (error) { fail(error); throw error; }
|
||||
},
|
||||
}, fail);
|
||||
runtime = new PlatformRuntime({ gameEntry: entry,
|
||||
resolveRuntimeConfig: async () => context.config,
|
||||
createWireClient: () => createLocalLoginWire({ context, record: options.record, onFault: wireFault,
|
||||
|
||||
Reference in New Issue
Block a user