Skip to content

Commit 03f7939

Browse files
fix(web-client)!: remove dependency on RxJS (#818)
1 parent 112a167 commit 03f7939

File tree

16 files changed

+164
-238
lines changed

16 files changed

+164
-238
lines changed

web-client/iron-remote-desktop-rdp/package-lock.json

Lines changed: 0 additions & 19 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

web-client/iron-remote-desktop-rdp/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@
4141
"vite-plugin-wasm": "^3.1.0"
4242
},
4343
"dependencies": {
44-
"rxjs": "^6.6.7",
4544
"ua-parser-js": "^1.0.33"
4645
}
4746
}

web-client/iron-remote-desktop-rdp/public/package.json

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,5 @@
1212
"files": [
1313
"iron-remote-desktop-rdp.js",
1414
"index.d.ts"
15-
],
16-
"dependencies": {
17-
"rxjs": "^6.6.7"
18-
}
15+
]
1916
}

web-client/iron-remote-desktop/package-lock.json

Lines changed: 0 additions & 19 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

web-client/iron-remote-desktop/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@
4949
"vite-plugin-wasm": "^3.1.0"
5050
},
5151
"dependencies": {
52-
"rxjs": "^6.6.7",
5352
"svelte-eslint-parser": "^1.0.0",
5453
"ua-parser-js": "^1.0.33"
5554
}

web-client/iron-remote-desktop/public/package.json

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,5 @@
1616
"files": [
1717
"iron-remote-desktop.js",
1818
"index.d.ts"
19-
],
20-
"dependencies": {
21-
"rxjs": "^6.6.7"
22-
}
19+
]
2320
}

web-client/iron-remote-desktop/src/interfaces/UserInteraction.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import type { NewSessionInfo } from './NewSessionInfo';
33
import type { SessionEvent } from './session-event';
44
import { ConfigBuilder } from '../services/ConfigBuilder';
55
import type { Config } from '../services/Config';
6-
import type { PartialObserver } from 'rxjs';
76
import type { Extension } from './Extension';
7+
import type { Callback } from '../lib/Observable';
88

99
export interface UserInteraction {
1010
setVisibility(state: boolean): void;
@@ -25,7 +25,7 @@ export interface UserInteraction {
2525

2626
setCursorStyleOverride(style: string | null): void;
2727

28-
onSessionEvent(partialObserver: PartialObserver<SessionEvent>): void;
28+
onSessionEvent(callback: Callback<SessionEvent>): void;
2929

3030
resize(width: number, height: number, scale?: number): void;
3131

web-client/iron-remote-desktop/src/iron-remote-desktop.svelte

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -456,7 +456,7 @@
456456
}
457457
458458
function serverBridgeListeners() {
459-
remoteDesktopService.resize.subscribe((evt: ResizeEvent) => {
459+
remoteDesktopService.resizeObservable.subscribe((evt: ResizeEvent) => {
460460
loggingService.info(`Resize canvas to: ${evt.desktopSize.width}x${evt.desktopSize.height}`);
461461
canvas.width = evt.desktopSize.width;
462462
canvas.height = evt.desktopSize.height;
@@ -469,12 +469,12 @@
469469
scaleSession(scale);
470470
});
471471
472-
remoteDesktopService.scaleObserver.subscribe((s) => {
472+
remoteDesktopService.scaleObservable.subscribe((s) => {
473473
loggingService.info('Change scale!');
474474
scaleSession(s);
475475
});
476476
477-
remoteDesktopService.dynamicResize.subscribe((evt) => {
477+
remoteDesktopService.dynamicResizeObservable.subscribe((evt) => {
478478
loggingService.info(`Dynamic resize!, width: ${evt.width}, height: ${evt.height}`);
479479
setViewerStyle(evt.height.toString(), evt.width.toString(), true);
480480
});
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
export type Callback<T> = (_: T) => void;
2+
3+
export class Observable<T> {
4+
constructor() {
5+
this.subscribers = [];
6+
}
7+
8+
subscribers: Array<Callback<T>>;
9+
10+
subscribe(cb: Callback<T>) {
11+
this.subscribers.push(cb);
12+
}
13+
14+
publish(value: T) {
15+
for (const cb of this.subscribers) {
16+
cb(value);
17+
}
18+
}
19+
}

web-client/iron-remote-desktop/src/services/PublicAPI.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,7 @@ export class PublicAPI {
2121

2222
private connect(config: Config): Promise<NewSessionInfo> {
2323
loggingService.info('Initializing connection.');
24-
const resultObservable = this.remoteDesktopService.connect(config);
25-
26-
return resultObservable.toPromise();
24+
return this.remoteDesktopService.connect(config);
2725
}
2826

2927
private ctrlAltDel() {
@@ -73,8 +71,8 @@ export class PublicAPI {
7371
configBuilder: this.configBuilder.bind(this),
7472
connect: this.connect.bind(this),
7573
setScale: this.setScale.bind(this),
76-
onSessionEvent: (partialObserver) => {
77-
this.remoteDesktopService.sessionObserver.subscribe(partialObserver);
74+
onSessionEvent: (callback) => {
75+
this.remoteDesktopService.sessionEventObservable.subscribe(callback);
7876
},
7977
ctrlAltDel: this.ctrlAltDel.bind(this),
8078
metaKey: this.metaKey.bind(this),

0 commit comments

Comments
 (0)