From cec3fa70fcb2e601704cf95cfb6ba547f1ac962c Mon Sep 17 00:00:00 2001 From: Alex Yusiuk <55661041+RRRadicalEdward@users.noreply.github.com> Date: Thu, 28 Aug 2025 13:33:31 +0300 Subject: [PATCH] refactor(web): raise `TERMINATED` event on connection error (#944) This PR changes the session to not return an error on the connection stage. The `iron-remote-desktop` raises `TERMINATED` instead of `ERROR`, because `ERROR` is now handled as non-critical and does not close the session. --- .../src/services/remote-desktop.service.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/web-client/iron-remote-desktop/src/services/remote-desktop.service.ts b/web-client/iron-remote-desktop/src/services/remote-desktop.service.ts index aa0cbb65..f3325f11 100644 --- a/web-client/iron-remote-desktop/src/services/remote-desktop.service.ts +++ b/web-client/iron-remote-desktop/src/services/remote-desktop.service.ts @@ -153,13 +153,14 @@ export class RemoteDesktopService { const session = await sessionBuilder.connect().catch((err: IronError) => { this.raiseSessionEvent({ - type: SessionEventType.ERROR, + type: SessionEventType.TERMINATED, data: { backtrace: () => err.backtrace(), kind: () => err.kind() as number as IronErrorKind, }, }); - throw new Error('could not connect to the session'); + // The client must ignore this error and use session events for error handling. + throw new Error(); }); this.run(session);