@dxos/client-services 0.3.11-main.1caa3af → 0.3.11-main.baa8c4d
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/browser/{chunk-IG6IJJ5Y.mjs → chunk-IALPJ5BW.mjs} +2 -2
- package/dist/lib/browser/{chunk-IG6IJJ5Y.mjs.map → chunk-IALPJ5BW.mjs.map} +1 -1
- package/dist/lib/browser/index.mjs +33 -42
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/packlets/testing/index.mjs +1 -1
- package/dist/lib/node/{chunk-VPQVVXW7.cjs → chunk-IOC4Z4I4.cjs} +5 -5
- package/dist/lib/node/{chunk-VPQVVXW7.cjs.map → chunk-IOC4Z4I4.cjs.map} +1 -1
- package/dist/lib/node/index.cjs +68 -77
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/packlets/testing/index.cjs +8 -8
- package/dist/types/src/packlets/vault/iframe-host-runtime.d.ts +0 -2
- package/dist/types/src/packlets/vault/iframe-host-runtime.d.ts.map +1 -1
- package/dist/types/src/packlets/vault/{shared-worker-connection.d.ts → iframe-proxy-runtime.d.ts} +5 -12
- package/dist/types/src/packlets/vault/iframe-proxy-runtime.d.ts.map +1 -0
- package/dist/types/src/packlets/vault/index.d.ts +1 -1
- package/dist/types/src/packlets/vault/index.d.ts.map +1 -1
- package/dist/types/src/packlets/vault/worker-runtime.d.ts +3 -10
- package/dist/types/src/packlets/vault/worker-runtime.d.ts.map +1 -1
- package/dist/types/src/packlets/vault/worker-session.d.ts +2 -2
- package/dist/types/src/packlets/vault/worker-session.d.ts.map +1 -1
- package/dist/types/src/version.d.ts +1 -1
- package/package.json +35 -35
- package/src/packlets/vault/iframe-host-runtime.ts +0 -2
- package/src/packlets/vault/{shared-worker-connection.ts → iframe-proxy-runtime.ts} +6 -18
- package/src/packlets/vault/index.ts +1 -1
- package/src/packlets/vault/worker-runtime.ts +9 -27
- package/src/packlets/vault/worker-session.ts +8 -11
- package/src/version.ts +1 -1
- package/dist/types/src/packlets/vault/shared-worker-connection.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/vault/index.ts"],"names":[],"mappings":"AAIA,cAAc,uBAAuB,CAAC;AACtC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/vault/index.ts"],"names":[],"mappings":"AAIA,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
|
|
@@ -5,12 +5,7 @@ import { ClientServicesHost } from '../services';
|
|
|
5
5
|
export type CreateSessionParams = {
|
|
6
6
|
appPort: RpcPort;
|
|
7
7
|
systemPort: RpcPort;
|
|
8
|
-
shellPort
|
|
9
|
-
};
|
|
10
|
-
export type WorkerRuntimeCallbacks = {
|
|
11
|
-
acquireLock: () => Promise<void>;
|
|
12
|
-
releaseLock: () => void;
|
|
13
|
-
onReset: () => Promise<void>;
|
|
8
|
+
shellPort: RpcPort;
|
|
14
9
|
};
|
|
15
10
|
/**
|
|
16
11
|
* Runtime for the shared worker.
|
|
@@ -19,15 +14,13 @@ export type WorkerRuntimeCallbacks = {
|
|
|
19
14
|
*/
|
|
20
15
|
export declare class WorkerRuntime {
|
|
21
16
|
private readonly _configProvider;
|
|
22
|
-
private readonly _acquireLock;
|
|
23
|
-
private readonly _releaseLock;
|
|
24
17
|
private readonly _transportFactory;
|
|
25
18
|
private readonly _ready;
|
|
26
19
|
private readonly _sessions;
|
|
27
20
|
private readonly _clientServices;
|
|
28
21
|
private _sessionForNetworking?;
|
|
29
22
|
private _config;
|
|
30
|
-
constructor(_configProvider: () => MaybePromise<Config
|
|
23
|
+
constructor(_configProvider: () => MaybePromise<Config>);
|
|
31
24
|
get host(): ClientServicesHost;
|
|
32
25
|
start(): Promise<void>;
|
|
33
26
|
stop(): Promise<void>;
|
|
@@ -36,7 +29,7 @@ export declare class WorkerRuntime {
|
|
|
36
29
|
*/
|
|
37
30
|
createSession({ appPort, systemPort, shellPort }: CreateSessionParams): Promise<void>;
|
|
38
31
|
/**
|
|
39
|
-
* Selects one of the existing session
|
|
32
|
+
* Selects one of the existing session fro WebRTC networking.
|
|
40
33
|
*/
|
|
41
34
|
private _reconnectWebrtc;
|
|
42
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-runtime.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/vault/worker-runtime.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAK3C,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGjD,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,
|
|
1
|
+
{"version":3,"file":"worker-runtime.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/vault/worker-runtime.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAK3C,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGjD,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;;GAIG;AACH,qBAAa,aAAa;IAQZ,OAAO,CAAC,QAAQ,CAAC,eAAe;IAP5C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAyC;IAC3E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAC3D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;IACtD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsB;IACtD,OAAO,CAAC,qBAAqB,CAAC,CAAgB;IAC9C,OAAO,CAAC,OAAO,CAAU;gBAEI,eAAe,EAAE,MAAM,YAAY,CAAC,MAAM,CAAC;IAUxE,IAAI,IAAI,uBAEP;IAEK,KAAK;IAsBL,IAAI;IAKV;;OAEG;IACG,aAAa,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,mBAAmB;IAqB3E;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAoBzB"}
|
|
@@ -7,7 +7,7 @@ export type WorkerSessionParams = {
|
|
|
7
7
|
serviceHost: ClientServicesHost;
|
|
8
8
|
systemPort: RpcPort;
|
|
9
9
|
appPort: RpcPort;
|
|
10
|
-
shellPort
|
|
10
|
+
shellPort: RpcPort;
|
|
11
11
|
readySignal: Trigger<Error | undefined>;
|
|
12
12
|
};
|
|
13
13
|
/**
|
|
@@ -15,7 +15,7 @@ export type WorkerSessionParams = {
|
|
|
15
15
|
*/
|
|
16
16
|
export declare class WorkerSession {
|
|
17
17
|
private readonly _clientRpc;
|
|
18
|
-
private readonly _shellClientRpc
|
|
18
|
+
private readonly _shellClientRpc;
|
|
19
19
|
private readonly _iframeRpc;
|
|
20
20
|
private readonly _startTrigger;
|
|
21
21
|
private readonly _serviceHost;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-session.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/vault/worker-session.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,OAAO,EAAE,MAAM,aAAa,CAAC;AASpD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAyC,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAqB,MAAM,YAAY,CAAC;AAEzD,OAAO,EAAE,KAAK,kBAAkB,EAA+C,MAAM,aAAa,CAAC;AAEnG,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,kBAAkB,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"worker-session.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/vault/worker-session.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,OAAO,EAAE,MAAM,aAAa,CAAC;AASpD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAyC,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAqB,MAAM,YAAY,CAAC;AAEzD,OAAO,EAAE,KAAK,kBAAkB,EAA+C,MAAM,aAAa,CAAC;AAEnG,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,kBAAkB,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;CACzC,CAAC;AAEF;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;IAC/D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAC/C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAElD,SAAgB,OAAO,iBAAsB,QAAQ,IAAI,CAAC,EAAI;IAGvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,aAAa,CAAC,EAAE,aAAa,CAAC;gBAEzB,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,mBAAmB;IAgEvF,IAAI;IAeJ,KAAK;YAYG,eAAe;IAQ7B,OAAO,CAAC,kBAAkB;CAO3B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const DXOS_VERSION = "0.3.11-main.
|
|
1
|
+
export declare const DXOS_VERSION = "0.3.11-main.baa8c4d";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/client-services",
|
|
3
|
-
"version": "0.3.11-main.
|
|
3
|
+
"version": "0.3.11-main.baa8c4d",
|
|
4
4
|
"description": "DXOS client services implementation",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -22,44 +22,44 @@
|
|
|
22
22
|
],
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"platform": "^1.3.6",
|
|
25
|
-
"@dxos/async": "0.3.11-main.
|
|
26
|
-
"@dxos/client-protocol": "0.3.11-main.
|
|
27
|
-
"@dxos/
|
|
28
|
-
"@dxos/context": "0.3.11-main.
|
|
29
|
-
"@dxos/
|
|
30
|
-
"@dxos/credentials": "0.3.11-main.
|
|
31
|
-
"@dxos/
|
|
32
|
-
"@dxos/crypto": "0.3.11-main.
|
|
33
|
-
"@dxos/
|
|
34
|
-
"@dxos/
|
|
35
|
-
"@dxos/echo-pipeline": "0.3.11-main.
|
|
36
|
-
"@dxos/echo-schema": "0.3.11-main.
|
|
37
|
-
"@dxos/feed-store": "0.3.11-main.
|
|
38
|
-
"@dxos/invariant": "0.3.11-main.
|
|
39
|
-
"@dxos/keyring": "0.3.11-main.
|
|
40
|
-
"@dxos/keys": "0.3.11-main.
|
|
41
|
-
"@dxos/lock-file": "0.3.11-main.
|
|
42
|
-
"@dxos/
|
|
43
|
-
"@dxos/
|
|
44
|
-
"@dxos/model-factory": "0.3.11-main.
|
|
45
|
-
"@dxos/
|
|
46
|
-
"@dxos/
|
|
47
|
-
"@dxos/
|
|
48
|
-
"@dxos/
|
|
49
|
-
"@dxos/
|
|
50
|
-
"@dxos/teleport-extension-gossip": "0.3.11-main.
|
|
51
|
-
"@dxos/
|
|
52
|
-
"@dxos/teleport-extension-object-sync": "0.3.11-main.
|
|
53
|
-
"@dxos/text-model": "0.3.11-main.
|
|
54
|
-
"@dxos/timeframe": "0.3.11-main.
|
|
55
|
-
"@dxos/tracing": "0.3.11-main.
|
|
56
|
-
"@dxos/
|
|
57
|
-
"@dxos/
|
|
25
|
+
"@dxos/async": "0.3.11-main.baa8c4d",
|
|
26
|
+
"@dxos/client-protocol": "0.3.11-main.baa8c4d",
|
|
27
|
+
"@dxos/codec-protobuf": "0.3.11-main.baa8c4d",
|
|
28
|
+
"@dxos/context": "0.3.11-main.baa8c4d",
|
|
29
|
+
"@dxos/config": "0.3.11-main.baa8c4d",
|
|
30
|
+
"@dxos/credentials": "0.3.11-main.baa8c4d",
|
|
31
|
+
"@dxos/debug": "0.3.11-main.baa8c4d",
|
|
32
|
+
"@dxos/crypto": "0.3.11-main.baa8c4d",
|
|
33
|
+
"@dxos/document-model": "0.3.11-main.baa8c4d",
|
|
34
|
+
"@dxos/echo-db": "0.3.11-main.baa8c4d",
|
|
35
|
+
"@dxos/echo-pipeline": "0.3.11-main.baa8c4d",
|
|
36
|
+
"@dxos/echo-schema": "0.3.11-main.baa8c4d",
|
|
37
|
+
"@dxos/feed-store": "0.3.11-main.baa8c4d",
|
|
38
|
+
"@dxos/invariant": "0.3.11-main.baa8c4d",
|
|
39
|
+
"@dxos/keyring": "0.3.11-main.baa8c4d",
|
|
40
|
+
"@dxos/keys": "0.3.11-main.baa8c4d",
|
|
41
|
+
"@dxos/lock-file": "0.3.11-main.baa8c4d",
|
|
42
|
+
"@dxos/messaging": "0.3.11-main.baa8c4d",
|
|
43
|
+
"@dxos/log": "0.3.11-main.baa8c4d",
|
|
44
|
+
"@dxos/model-factory": "0.3.11-main.baa8c4d",
|
|
45
|
+
"@dxos/node-std": "0.3.11-main.baa8c4d",
|
|
46
|
+
"@dxos/network-manager": "0.3.11-main.baa8c4d",
|
|
47
|
+
"@dxos/protocols": "0.3.11-main.baa8c4d",
|
|
48
|
+
"@dxos/random-access-storage": "0.3.11-main.baa8c4d",
|
|
49
|
+
"@dxos/rpc": "0.3.11-main.baa8c4d",
|
|
50
|
+
"@dxos/teleport-extension-gossip": "0.3.11-main.baa8c4d",
|
|
51
|
+
"@dxos/teleport": "0.3.11-main.baa8c4d",
|
|
52
|
+
"@dxos/teleport-extension-object-sync": "0.3.11-main.baa8c4d",
|
|
53
|
+
"@dxos/text-model": "0.3.11-main.baa8c4d",
|
|
54
|
+
"@dxos/timeframe": "0.3.11-main.baa8c4d",
|
|
55
|
+
"@dxos/tracing": "0.3.11-main.baa8c4d",
|
|
56
|
+
"@dxos/util": "0.3.11-main.baa8c4d",
|
|
57
|
+
"@dxos/websocket-rpc": "0.3.11-main.baa8c4d"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
60
|
"@types/platform": "^1.3.4",
|
|
61
61
|
"@types/readable-stream": "^2.3.9",
|
|
62
|
-
"@dxos/signal": "0.3.11-main.
|
|
62
|
+
"@dxos/signal": "0.3.11-main.baa8c4d"
|
|
63
63
|
},
|
|
64
64
|
"publishConfig": {
|
|
65
65
|
"access": "public"
|
|
@@ -30,8 +30,6 @@ export type IFrameHostRuntimeParams = {
|
|
|
30
30
|
*
|
|
31
31
|
* Holds a lock over the client services such that only one instance can run at a time.
|
|
32
32
|
* This should only be used when SharedWorker is not available.
|
|
33
|
-
*
|
|
34
|
-
* @deprecated
|
|
35
33
|
*/
|
|
36
34
|
export class IFrameHostRuntime {
|
|
37
35
|
private readonly _configProvider: IFrameHostRuntimeParams['config'];
|
|
@@ -20,21 +20,18 @@ import { getAsyncValue, type MaybePromise, type Provider } from '@dxos/util';
|
|
|
20
20
|
import { ShellRuntimeImpl } from './shell-runtime';
|
|
21
21
|
|
|
22
22
|
// NOTE: Keep as RpcPorts to avoid dependency on @dxos/rpc-tunnel so we don't depend on browser-specific apis.
|
|
23
|
-
export type
|
|
23
|
+
export type IFrameProxyRuntimeParams = {
|
|
24
24
|
config: Config | Provider<MaybePromise<Config>>;
|
|
25
25
|
systemPort: RpcPort;
|
|
26
|
-
/**
|
|
27
|
-
* @deprecated Only used with iframes.
|
|
28
|
-
*/
|
|
29
26
|
shellPort?: RpcPort;
|
|
30
27
|
};
|
|
31
28
|
|
|
32
29
|
/**
|
|
33
30
|
* Manages the client connection to the shared worker.
|
|
34
31
|
*/
|
|
35
|
-
export class
|
|
32
|
+
export class IFrameProxyRuntime {
|
|
36
33
|
private readonly _id = String(Math.floor(Math.random() * 1000000));
|
|
37
|
-
private readonly _configProvider:
|
|
34
|
+
private readonly _configProvider: IFrameProxyRuntimeParams['config'];
|
|
38
35
|
private readonly _systemPort: RpcPort;
|
|
39
36
|
private readonly _shellPort?: RpcPort;
|
|
40
37
|
private _release = new Trigger();
|
|
@@ -43,7 +40,7 @@ export class SharedWorkerConnection {
|
|
|
43
40
|
private _systemRpc!: ProtoRpcPeer<WorkerServiceBundle>;
|
|
44
41
|
private _shellRuntime?: ShellRuntimeImpl;
|
|
45
42
|
|
|
46
|
-
constructor({ config, systemPort, shellPort }:
|
|
43
|
+
constructor({ config, systemPort, shellPort }: IFrameProxyRuntimeParams) {
|
|
47
44
|
this._configProvider = config;
|
|
48
45
|
this._systemPort = systemPort;
|
|
49
46
|
this._shellPort = shellPort;
|
|
@@ -57,12 +54,7 @@ export class SharedWorkerConnection {
|
|
|
57
54
|
return this._shellRuntime;
|
|
58
55
|
}
|
|
59
56
|
|
|
60
|
-
async open(
|
|
61
|
-
/**
|
|
62
|
-
* @deprecated Only used with iframes.
|
|
63
|
-
*/
|
|
64
|
-
origin: string,
|
|
65
|
-
) {
|
|
57
|
+
async open(origin: string) {
|
|
66
58
|
this._config = await getAsyncValue(this._configProvider);
|
|
67
59
|
|
|
68
60
|
this._transportService = new SimplePeerTransportService({
|
|
@@ -104,11 +96,7 @@ export class SharedWorkerConnection {
|
|
|
104
96
|
async close() {
|
|
105
97
|
this._release.wake();
|
|
106
98
|
await this._shellRuntime?.close();
|
|
107
|
-
|
|
108
|
-
await this._systemRpc.rpc.WorkerService.stop();
|
|
109
|
-
} catch {
|
|
110
|
-
// If this fails, the worker is probably already gone.
|
|
111
|
-
}
|
|
99
|
+
await this._systemRpc.rpc.WorkerService.stop();
|
|
112
100
|
await this._systemRpc.close();
|
|
113
101
|
}
|
|
114
102
|
|
|
@@ -18,13 +18,7 @@ import { ClientServicesHost } from '../services';
|
|
|
18
18
|
export type CreateSessionParams = {
|
|
19
19
|
appPort: RpcPort;
|
|
20
20
|
systemPort: RpcPort;
|
|
21
|
-
shellPort
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
export type WorkerRuntimeCallbacks = {
|
|
25
|
-
acquireLock: () => Promise<void>;
|
|
26
|
-
releaseLock: () => void;
|
|
27
|
-
onReset: () => Promise<void>;
|
|
21
|
+
shellPort: RpcPort;
|
|
28
22
|
};
|
|
29
23
|
|
|
30
24
|
/**
|
|
@@ -33,8 +27,6 @@ export type WorkerRuntimeCallbacks = {
|
|
|
33
27
|
* Tabs make requests to the `ClientServicesHost`, and provide a WebRTC gateway.
|
|
34
28
|
*/
|
|
35
29
|
export class WorkerRuntime {
|
|
36
|
-
private readonly _acquireLock: () => Promise<void>;
|
|
37
|
-
private readonly _releaseLock: () => void;
|
|
38
30
|
private readonly _transportFactory = new SimplePeerTransportProxyFactory();
|
|
39
31
|
private readonly _ready = new Trigger<Error | undefined>();
|
|
40
32
|
private readonly _sessions = new Set<WorkerSession>();
|
|
@@ -42,15 +34,12 @@ export class WorkerRuntime {
|
|
|
42
34
|
private _sessionForNetworking?: WorkerSession; // TODO(burdon): Expose to client QueryStatusResponse.
|
|
43
35
|
private _config!: Config;
|
|
44
36
|
|
|
45
|
-
constructor(
|
|
46
|
-
private readonly _configProvider: () => MaybePromise<Config>,
|
|
47
|
-
{ acquireLock, releaseLock, onReset }: WorkerRuntimeCallbacks,
|
|
48
|
-
) {
|
|
49
|
-
this._acquireLock = acquireLock;
|
|
50
|
-
this._releaseLock = releaseLock;
|
|
37
|
+
constructor(private readonly _configProvider: () => MaybePromise<Config>) {
|
|
51
38
|
this._clientServices = new ClientServicesHost({
|
|
52
39
|
callbacks: {
|
|
53
|
-
onReset: async () =>
|
|
40
|
+
onReset: async () => {
|
|
41
|
+
self.close();
|
|
42
|
+
},
|
|
54
43
|
},
|
|
55
44
|
});
|
|
56
45
|
}
|
|
@@ -62,7 +51,6 @@ export class WorkerRuntime {
|
|
|
62
51
|
async start() {
|
|
63
52
|
log('starting...');
|
|
64
53
|
try {
|
|
65
|
-
await this._acquireLock();
|
|
66
54
|
this._config = await this._configProvider();
|
|
67
55
|
const signals = this._config.get('runtime.services.signaling');
|
|
68
56
|
this._clientServices.initialize({
|
|
@@ -83,8 +71,7 @@ export class WorkerRuntime {
|
|
|
83
71
|
}
|
|
84
72
|
|
|
85
73
|
async stop() {
|
|
86
|
-
//
|
|
87
|
-
this._releaseLock();
|
|
74
|
+
// TODO(dmaretskyi): Terminate active sessions.
|
|
88
75
|
await this._clientServices.close();
|
|
89
76
|
}
|
|
90
77
|
|
|
@@ -100,15 +87,10 @@ export class WorkerRuntime {
|
|
|
100
87
|
readySignal: this._ready,
|
|
101
88
|
});
|
|
102
89
|
|
|
103
|
-
// When tab is closed
|
|
90
|
+
// When tab is closed.
|
|
104
91
|
session.onClose.set(async () => {
|
|
105
92
|
this._sessions.delete(session);
|
|
106
|
-
|
|
107
|
-
// Terminate the worker when all sessions are closed.
|
|
108
|
-
self.close();
|
|
109
|
-
} else {
|
|
110
|
-
this._reconnectWebrtc();
|
|
111
|
-
}
|
|
93
|
+
this._reconnectWebrtc();
|
|
112
94
|
});
|
|
113
95
|
|
|
114
96
|
await session.open();
|
|
@@ -118,7 +100,7 @@ export class WorkerRuntime {
|
|
|
118
100
|
}
|
|
119
101
|
|
|
120
102
|
/**
|
|
121
|
-
* Selects one of the existing session
|
|
103
|
+
* Selects one of the existing session fro WebRTC networking.
|
|
122
104
|
*/
|
|
123
105
|
private _reconnectWebrtc() {
|
|
124
106
|
log('reconnecting webrtc...');
|
|
@@ -21,8 +21,7 @@ export type WorkerSessionParams = {
|
|
|
21
21
|
serviceHost: ClientServicesHost;
|
|
22
22
|
systemPort: RpcPort;
|
|
23
23
|
appPort: RpcPort;
|
|
24
|
-
|
|
25
|
-
shellPort?: RpcPort;
|
|
24
|
+
shellPort: RpcPort;
|
|
26
25
|
readySignal: Trigger<Error | undefined>;
|
|
27
26
|
};
|
|
28
27
|
|
|
@@ -31,7 +30,7 @@ export type WorkerSessionParams = {
|
|
|
31
30
|
*/
|
|
32
31
|
export class WorkerSession {
|
|
33
32
|
private readonly _clientRpc: ClientRpcServer;
|
|
34
|
-
private readonly _shellClientRpc
|
|
33
|
+
private readonly _shellClientRpc: ClientRpcServer;
|
|
35
34
|
private readonly _iframeRpc: ProtoRpcPeer<IframeServiceBundle>;
|
|
36
35
|
private readonly _startTrigger = new Trigger();
|
|
37
36
|
private readonly _serviceHost: ClientServicesHost;
|
|
@@ -75,13 +74,11 @@ export class WorkerSession {
|
|
|
75
74
|
...middleware,
|
|
76
75
|
});
|
|
77
76
|
|
|
78
|
-
this._shellClientRpc =
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
})
|
|
84
|
-
: undefined;
|
|
77
|
+
this._shellClientRpc = new ClientRpcServer({
|
|
78
|
+
serviceRegistry: this._serviceHost.serviceRegistry,
|
|
79
|
+
port: shellPort,
|
|
80
|
+
...middleware,
|
|
81
|
+
});
|
|
85
82
|
|
|
86
83
|
this._iframeRpc = createProtoRpcPeer({
|
|
87
84
|
requested: iframeServiceBundle,
|
|
@@ -141,7 +138,7 @@ export class WorkerSession {
|
|
|
141
138
|
|
|
142
139
|
private async _maybeOpenShell() {
|
|
143
140
|
try {
|
|
144
|
-
|
|
141
|
+
await asyncTimeout(this._shellClientRpc.open(), 1_000);
|
|
145
142
|
} catch {
|
|
146
143
|
log.info('No shell connected.');
|
|
147
144
|
}
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const DXOS_VERSION = "0.3.11-main.
|
|
1
|
+
export const DXOS_VERSION = "0.3.11-main.baa8c4d";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shared-worker-connection.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/vault/shared-worker-connection.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,YAAY,EAGlB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAK3C,OAAO,EAAyC,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAChF,OAAO,EAAiB,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAK7E,MAAM,MAAM,6BAA6B,GAAG;IAC1C,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,UAAU,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA+C;IACnE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0C;IAC1E,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAU;IACtC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,iBAAiB,CAAiB;IAC1C,OAAO,CAAC,UAAU,CAAqC;IACvD,OAAO,CAAC,aAAa,CAAC,CAAmB;gBAE7B,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,6BAA6B;IAU5E,IAAI,KAAK,IAAI,YAAY,GAAG,SAAS,CAEpC;IAEK,IAAI;IACR;;OAEG;IACH,MAAM,EAAE,MAAM;IAwCV,KAAK;IAWX,OAAO,CAAC,QAAQ;CAGjB"}
|