@volley/vwr-loader 1.5.0 → 1.7.0
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/cli.js +84 -24
- package/dist/cli.js.map +1 -1
- package/dist/{datadog.d.ts → vwr/src/datadog.d.ts} +7 -3
- package/dist/vwr/src/datadog.d.ts.map +1 -0
- package/dist/{datadog.js → vwr/src/datadog.js} +6 -5
- package/dist/vwr/src/datadog.js.map +1 -0
- package/dist/{envDefaults.d.ts → vwr/src/envDefaults.d.ts} +1 -0
- package/dist/vwr/src/envDefaults.d.ts.map +1 -0
- package/dist/vwr/src/envDefaults.js +67 -0
- package/dist/vwr/src/envDefaults.js.map +1 -0
- package/dist/vwr/src/iframe.d.ts +25 -0
- package/dist/vwr/src/iframe.d.ts.map +1 -0
- package/dist/vwr/src/iframe.js +82 -0
- package/dist/vwr/src/iframe.js.map +1 -0
- package/dist/vwr/src/logger.d.ts +15 -0
- package/dist/vwr/src/logger.d.ts.map +1 -0
- package/dist/{logger.js → vwr/src/logger.js} +30 -46
- package/dist/vwr/src/logger.js.map +1 -0
- package/dist/vwr/src/native/app-lifecycle/factory.d.ts +7 -0
- package/dist/vwr/src/native/app-lifecycle/factory.d.ts.map +1 -0
- package/dist/vwr/src/native/app-lifecycle/factory.js +68 -0
- package/dist/vwr/src/native/app-lifecycle/factory.js.map +1 -0
- package/dist/vwr/src/native/app-lifecycle/rpc.d.ts +15 -0
- package/dist/vwr/src/native/app-lifecycle/rpc.d.ts.map +1 -0
- package/dist/vwr/src/native/app-lifecycle/rpc.js +46 -0
- package/dist/vwr/src/native/app-lifecycle/rpc.js.map +1 -0
- package/dist/vwr/src/native/capacitor-bridge/rpc.d.ts +33 -0
- package/dist/vwr/src/native/capacitor-bridge/rpc.d.ts.map +1 -0
- package/dist/vwr/src/native/capacitor-bridge/rpc.js +129 -0
- package/dist/vwr/src/native/capacitor-bridge/rpc.js.map +1 -0
- package/dist/vwr/src/native/device-info/factory.d.ts +9 -0
- package/dist/vwr/src/native/device-info/factory.d.ts.map +1 -0
- package/dist/vwr/src/native/device-info/factory.js +28 -0
- package/dist/vwr/src/native/device-info/factory.js.map +1 -0
- package/dist/vwr/src/native/device-info/firetvCollector.d.ts +9 -0
- package/dist/vwr/src/native/device-info/firetvCollector.d.ts.map +1 -0
- package/dist/vwr/src/native/device-info/firetvCollector.js +180 -0
- package/dist/vwr/src/native/device-info/firetvCollector.js.map +1 -0
- package/dist/vwr/src/native/device-info/getDeviceId.d.ts +13 -0
- package/dist/vwr/src/native/device-info/getDeviceId.d.ts.map +1 -0
- package/dist/vwr/src/native/device-info/getDeviceId.js +137 -0
- package/dist/vwr/src/native/device-info/getDeviceId.js.map +1 -0
- package/dist/vwr/src/native/device-info/lgCollector.d.ts +8 -0
- package/dist/vwr/src/native/device-info/lgCollector.d.ts.map +1 -0
- package/dist/vwr/src/native/device-info/lgCollector.js +136 -0
- package/dist/vwr/src/native/device-info/lgCollector.js.map +1 -0
- package/dist/vwr/src/native/device-info/mobileCollector.d.ts +9 -0
- package/dist/vwr/src/native/device-info/mobileCollector.d.ts.map +1 -0
- package/dist/vwr/src/native/device-info/mobileCollector.js +47 -0
- package/dist/vwr/src/native/device-info/mobileCollector.js.map +1 -0
- package/dist/vwr/src/native/device-info/rpc.d.ts +51 -0
- package/dist/vwr/src/native/device-info/rpc.d.ts.map +1 -0
- package/dist/vwr/src/native/device-info/rpc.js +46 -0
- package/dist/vwr/src/native/device-info/rpc.js.map +1 -0
- package/dist/vwr/src/native/device-info/samsungCollector.d.ts +9 -0
- package/dist/vwr/src/native/device-info/samsungCollector.d.ts.map +1 -0
- package/dist/vwr/src/native/device-info/samsungCollector.js +86 -0
- package/dist/vwr/src/native/device-info/samsungCollector.js.map +1 -0
- package/dist/vwr/src/native/device-info/webCollector.d.ts +4 -0
- package/dist/vwr/src/native/device-info/webCollector.d.ts.map +1 -0
- package/dist/vwr/src/native/device-info/webCollector.js +56 -0
- package/dist/vwr/src/native/device-info/webCollector.js.map +1 -0
- package/dist/vwr/src/native/native-bridge/rpc.d.ts +33 -0
- package/dist/vwr/src/native/native-bridge/rpc.d.ts.map +1 -0
- package/dist/vwr/src/native/native-bridge/rpc.js +114 -0
- package/dist/vwr/src/native/native-bridge/rpc.js.map +1 -0
- package/dist/vwr/src/native/screensaver-prevention/LGLunaService.d.ts +14 -0
- package/dist/vwr/src/native/screensaver-prevention/LGLunaService.d.ts.map +1 -0
- package/dist/vwr/src/native/screensaver-prevention/LGLunaService.js +187 -0
- package/dist/vwr/src/native/screensaver-prevention/LGLunaService.js.map +1 -0
- package/dist/vwr/src/native/screensaver-prevention/rpc.d.ts +27 -0
- package/dist/vwr/src/native/screensaver-prevention/rpc.d.ts.map +1 -0
- package/dist/vwr/src/native/screensaver-prevention/rpc.js +71 -0
- package/dist/vwr/src/native/screensaver-prevention/rpc.js.map +1 -0
- package/dist/vwr/src/observability.d.ts +35 -0
- package/dist/vwr/src/observability.d.ts.map +1 -0
- package/dist/vwr/src/observability.js +68 -0
- package/dist/vwr/src/observability.js.map +1 -0
- package/dist/vwr/src/shellEnvDefaults.d.ts +15 -0
- package/dist/vwr/src/shellEnvDefaults.d.ts.map +1 -0
- package/dist/vwr/src/shellEnvDefaults.js +34 -0
- package/dist/vwr/src/shellEnvDefaults.js.map +1 -0
- package/dist/vwr/src/types.d.ts +56 -0
- package/dist/vwr/src/types.d.ts.map +1 -0
- package/dist/vwr/src/types.js +27 -0
- package/dist/vwr/src/types.js.map +1 -0
- package/dist/vwr/src/urlUtils.d.ts +17 -0
- package/dist/vwr/src/urlUtils.d.ts.map +1 -0
- package/dist/vwr/src/urlUtils.js +42 -0
- package/dist/vwr/src/urlUtils.js.map +1 -0
- package/dist/vwr/src/vwrBootstrap.d.ts +26 -0
- package/dist/vwr/src/vwrBootstrap.d.ts.map +1 -0
- package/dist/vwr/src/vwrBootstrap.js +176 -0
- package/dist/vwr/src/vwrBootstrap.js.map +1 -0
- package/dist/{vwrConfig.d.ts → vwr/src/vwrConfig.d.ts} +5 -0
- package/dist/vwr/src/vwrConfig.d.ts.map +1 -0
- package/dist/{vwrConfig.js → vwr/src/vwrConfig.js} +24 -7
- package/dist/vwr/src/vwrConfig.js.map +1 -0
- package/{src → dist/vwr-loader}/index.html +1 -1
- package/dist/vwr-loader/src/__mocks__/@datadog/browser-logs.d.ts.map +1 -0
- package/dist/vwr-loader/src/__mocks__/@datadog/browser-logs.js.map +1 -0
- package/dist/vwr-loader/src/__mocks__/@datadog/browser-rum.d.ts.map +1 -0
- package/dist/vwr-loader/src/__mocks__/@datadog/browser-rum.js.map +1 -0
- package/dist/vwr-loader/src/__mocks__/invalidVwrModule.d.ts +2 -0
- package/dist/vwr-loader/src/__mocks__/invalidVwrModule.d.ts.map +1 -0
- package/dist/vwr-loader/src/__mocks__/invalidVwrModule.js +2 -0
- package/dist/vwr-loader/src/__mocks__/invalidVwrModule.js.map +1 -0
- package/dist/vwr-loader/src/__mocks__/vwrModule.d.ts.map +1 -0
- package/dist/vwr-loader/src/__mocks__/vwrModule.js.map +1 -0
- package/dist/vwr-loader/src/amplitudeFlagFetcher.d.ts.map +1 -0
- package/dist/vwr-loader/src/amplitudeFlagFetcher.js.map +1 -0
- package/dist/vwr-loader/src/errors/InitializationError.d.ts.map +1 -0
- package/dist/vwr-loader/src/errors/InitializationError.js.map +1 -0
- package/dist/vwr-loader/src/errors/ensureError.d.ts.map +1 -0
- package/dist/vwr-loader/src/errors/ensureError.js.map +1 -0
- package/dist/vwr-loader/src/errors/index.d.ts.map +1 -0
- package/dist/vwr-loader/src/errors/index.js.map +1 -0
- package/dist/vwr-loader/src/exitHandler.d.ts.map +1 -0
- package/dist/{exitHandler.js → vwr-loader/src/exitHandler.js} +2 -3
- package/dist/vwr-loader/src/exitHandler.js.map +1 -0
- package/dist/vwr-loader/src/getEnvironment.d.ts.map +1 -0
- package/dist/vwr-loader/src/getEnvironment.js.map +1 -0
- package/dist/vwr-loader/src/getShellVersion.d.ts.map +1 -0
- package/dist/vwr-loader/src/getShellVersion.js.map +1 -0
- package/dist/vwr-loader/src/index.d.ts +8 -0
- package/dist/vwr-loader/src/index.d.ts.map +1 -0
- package/dist/vwr-loader/src/index.js +6 -0
- package/dist/vwr-loader/src/index.js.map +1 -0
- package/dist/vwr-loader/src/loadVwr.d.ts.map +1 -0
- package/dist/{loadVwr.js → vwr-loader/src/loadVwr.js} +36 -27
- package/dist/vwr-loader/src/loadVwr.js.map +1 -0
- package/dist/vwr-loader/src/logger.d.ts +4 -0
- package/dist/vwr-loader/src/logger.d.ts.map +1 -0
- package/dist/vwr-loader/src/logger.js +10 -0
- package/dist/vwr-loader/src/logger.js.map +1 -0
- package/dist/vwr-loader/src/main.d.ts +2 -0
- package/dist/vwr-loader/src/main.d.ts.map +1 -0
- package/dist/vwr-loader/src/main.js +96 -0
- package/dist/vwr-loader/src/main.js.map +1 -0
- package/dist/vwr-loader/src/polyfills.d.ts.map +1 -0
- package/dist/vwr-loader/src/polyfills.js.map +1 -0
- package/dist/{test-setup.d.ts.map → vwr-loader/src/test-setup.d.ts.map} +1 -1
- package/dist/vwr-loader/src/test-setup.js.map +1 -0
- package/package.json +13 -12
- package/dist/__mocks__/@datadog/browser-logs.d.ts.map +0 -1
- package/dist/__mocks__/@datadog/browser-logs.js.map +0 -1
- package/dist/__mocks__/@datadog/browser-rum.d.ts.map +0 -1
- package/dist/__mocks__/@datadog/browser-rum.js.map +0 -1
- package/dist/__mocks__/vwrModule.d.ts.map +0 -1
- package/dist/__mocks__/vwrModule.js.map +0 -1
- package/dist/amplitudeFlagFetcher.d.ts.map +0 -1
- package/dist/amplitudeFlagFetcher.js.map +0 -1
- package/dist/assets/profiler-BRmTNL9s.js +0 -2
- package/dist/assets/profiler-BRmTNL9s.js.map +0 -1
- package/dist/assets/startRecording-CuFdVhxx.js +0 -3
- package/dist/assets/startRecording-CuFdVhxx.js.map +0 -1
- package/dist/datadog.d.ts.map +0 -1
- package/dist/datadog.js.map +0 -1
- package/dist/envDefaults.d.ts.map +0 -1
- package/dist/envDefaults.js +0 -74
- package/dist/envDefaults.js.map +0 -1
- package/dist/errors/InitializationError.d.ts.map +0 -1
- package/dist/errors/InitializationError.js.map +0 -1
- package/dist/errors/ensureError.d.ts.map +0 -1
- package/dist/errors/ensureError.js.map +0 -1
- package/dist/errors/index.d.ts.map +0 -1
- package/dist/errors/index.js.map +0 -1
- package/dist/exitHandler.d.ts.map +0 -1
- package/dist/exitHandler.js.map +0 -1
- package/dist/getDeviceId.d.ts +0 -26
- package/dist/getDeviceId.d.ts.map +0 -1
- package/dist/getDeviceId.js +0 -209
- package/dist/getDeviceId.js.map +0 -1
- package/dist/getEnvironment.d.ts.map +0 -1
- package/dist/getEnvironment.js.map +0 -1
- package/dist/getShellVersion.d.ts.map +0 -1
- package/dist/getShellVersion.js.map +0 -1
- package/dist/index.d.ts +0 -8
- package/dist/index.d.ts.map +0 -1
- package/dist/index.html +0 -25
- package/dist/index.js +0 -6
- package/dist/index.js.map +0 -1
- package/dist/loadVwr.d.ts.map +0 -1
- package/dist/loadVwr.js.map +0 -1
- package/dist/logger.d.ts +0 -12
- package/dist/logger.d.ts.map +0 -1
- package/dist/logger.js.map +0 -1
- package/dist/main.js +0 -12
- package/dist/main.js.map +0 -1
- package/dist/polyfills.d.ts.map +0 -1
- package/dist/polyfills.js.map +0 -1
- package/dist/test-setup.js.map +0 -1
- package/dist/types.d.ts +0 -103
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -5
- package/dist/types.js.map +0 -1
- package/dist/vwrConfig.d.ts.map +0 -1
- package/dist/vwrConfig.js.map +0 -1
- package/src/__mocks__/@datadog/browser-logs.ts +0 -35
- package/src/__mocks__/@datadog/browser-rum.ts +0 -27
- package/src/__mocks__/vwrModule.ts +0 -3
- package/src/amplitudeFlagFetcher.test.ts +0 -175
- package/src/amplitudeFlagFetcher.ts +0 -105
- package/src/datadog.ts +0 -55
- package/src/envDefaults.ts +0 -94
- package/src/errors/InitializationError.ts +0 -105
- package/src/errors/ensureError.ts +0 -6
- package/src/errors/index.ts +0 -16
- package/src/exitHandler.test.ts +0 -373
- package/src/exitHandler.ts +0 -232
- package/src/getDeviceId.test.ts +0 -298
- package/src/getDeviceId.ts +0 -224
- package/src/getEnvironment.test.ts +0 -417
- package/src/getEnvironment.ts +0 -144
- package/src/getShellVersion.test.ts +0 -403
- package/src/getShellVersion.ts +0 -132
- package/src/index.ts +0 -7
- package/src/loadVwr.test.ts +0 -549
- package/src/loadVwr.ts +0 -357
- package/src/logger.ts +0 -121
- package/src/main.test.ts +0 -157
- package/src/main.ts +0 -127
- package/src/polyfills.ts +0 -32
- package/src/test-setup.ts +0 -5
- package/src/types.ts +0 -105
- package/src/vite-env.d.ts +0 -32
- package/src/vwrConfig.test.ts +0 -386
- package/src/vwrConfig.ts +0 -374
- /package/dist/{__mocks__ → vwr-loader/src/__mocks__}/@datadog/browser-logs.d.ts +0 -0
- /package/dist/{__mocks__ → vwr-loader/src/__mocks__}/@datadog/browser-logs.js +0 -0
- /package/dist/{__mocks__ → vwr-loader/src/__mocks__}/@datadog/browser-rum.d.ts +0 -0
- /package/dist/{__mocks__ → vwr-loader/src/__mocks__}/@datadog/browser-rum.js +0 -0
- /package/dist/{__mocks__ → vwr-loader/src/__mocks__}/vwrModule.d.ts +0 -0
- /package/dist/{__mocks__ → vwr-loader/src/__mocks__}/vwrModule.js +0 -0
- /package/dist/{amplitudeFlagFetcher.d.ts → vwr-loader/src/amplitudeFlagFetcher.d.ts} +0 -0
- /package/dist/{amplitudeFlagFetcher.js → vwr-loader/src/amplitudeFlagFetcher.js} +0 -0
- /package/dist/{errors → vwr-loader/src/errors}/InitializationError.d.ts +0 -0
- /package/dist/{errors → vwr-loader/src/errors}/InitializationError.js +0 -0
- /package/dist/{errors → vwr-loader/src/errors}/ensureError.d.ts +0 -0
- /package/dist/{errors → vwr-loader/src/errors}/ensureError.js +0 -0
- /package/dist/{errors → vwr-loader/src/errors}/index.d.ts +0 -0
- /package/dist/{errors → vwr-loader/src/errors}/index.js +0 -0
- /package/dist/{exitHandler.d.ts → vwr-loader/src/exitHandler.d.ts} +0 -0
- /package/dist/{getEnvironment.d.ts → vwr-loader/src/getEnvironment.d.ts} +0 -0
- /package/dist/{getEnvironment.js → vwr-loader/src/getEnvironment.js} +0 -0
- /package/dist/{getShellVersion.d.ts → vwr-loader/src/getShellVersion.d.ts} +0 -0
- /package/dist/{getShellVersion.js → vwr-loader/src/getShellVersion.js} +0 -0
- /package/dist/{loadVwr.d.ts → vwr-loader/src/loadVwr.d.ts} +0 -0
- /package/dist/{polyfills.d.ts → vwr-loader/src/polyfills.d.ts} +0 -0
- /package/dist/{polyfills.js → vwr-loader/src/polyfills.js} +0 -0
- /package/dist/{test-setup.d.ts → vwr-loader/src/test-setup.d.ts} +0 -0
- /package/dist/{test-setup.js → vwr-loader/src/test-setup.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../../../../../vwr/src/native/screensaver-prevention/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAO/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAA;AAMzE;;;GAGG;AACH,qBAAa,oBAAoB;;gBAIzB,kBAAkB,EAAE,yBAAyB,EAC7C,aAAa,EAAE,oBAAoB,EACnC,MAAM,EAAE,OAAO;IAwBZ,OAAO,IAAI,IAAI;CAGzB;AAED;;;;GAIG;AACH,qBAAa,oBAAqB,YAAW,yBAAyB;;gBAMtD,aAAa,EAAE,oBAAoB,EAAE,MAAM,EAAE,OAAO;IAYnD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAKvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B,SAAS,IAAI,OAAO;IAId,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAGxC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
2
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
5
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
6
|
+
};
|
|
7
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
|
+
};
|
|
12
|
+
var _ScreensaverRpcServer_rpcServer, _ScreensaverRpcClient_rpcClient, _ScreensaverRpcClient_enable, _ScreensaverRpcClient_disable, _ScreensaverRpcClient_enabled;
|
|
13
|
+
import { BrowserRpcClient, BrowserRpcServer, UnaryRpcClientMethod, UnaryRpcServerMethod, } from "@volley/browser-ipc";
|
|
14
|
+
const SCREENSAVER_API = "Native::Screensaver";
|
|
15
|
+
const ENABLE_METHOD = "enable";
|
|
16
|
+
const DISABLE_METHOD = "disable";
|
|
17
|
+
/**
|
|
18
|
+
* RPC server that runs in the bootstrap where native screensaver calls are available.
|
|
19
|
+
* Wraps a native screensaver service (LG Luna, Samsung Tizen, etc.) and exposes enable/disable via RPC.
|
|
20
|
+
*/
|
|
21
|
+
export class ScreensaverRpcServer {
|
|
22
|
+
constructor(screensaverService, ipcConnection, logger) {
|
|
23
|
+
_ScreensaverRpcServer_rpcServer.set(this, void 0);
|
|
24
|
+
const enableMethod = new UnaryRpcServerMethod(ENABLE_METHOD, async () => {
|
|
25
|
+
await screensaverService.enable();
|
|
26
|
+
});
|
|
27
|
+
const disableMethod = new UnaryRpcServerMethod(DISABLE_METHOD, async () => {
|
|
28
|
+
await screensaverService.disable();
|
|
29
|
+
});
|
|
30
|
+
__classPrivateFieldSet(this, _ScreensaverRpcServer_rpcServer, new BrowserRpcServer(SCREENSAVER_API, new Set([enableMethod, disableMethod]), ipcConnection, logger), "f");
|
|
31
|
+
}
|
|
32
|
+
destroy() {
|
|
33
|
+
__classPrivateFieldGet(this, _ScreensaverRpcServer_rpcServer, "f").destroy();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
_ScreensaverRpcServer_rpcServer = new WeakMap();
|
|
37
|
+
/**
|
|
38
|
+
* RPC client that runs in the VWR iframe. Implements INativeScreensaverService
|
|
39
|
+
* so it can be injected into LGScreensaverPrevention (or future Samsung equivalent)
|
|
40
|
+
* as a drop-in replacement for the real native service.
|
|
41
|
+
*/
|
|
42
|
+
export class ScreensaverRpcClient {
|
|
43
|
+
constructor(ipcConnection, logger) {
|
|
44
|
+
_ScreensaverRpcClient_rpcClient.set(this, void 0);
|
|
45
|
+
_ScreensaverRpcClient_enable.set(this, void 0);
|
|
46
|
+
_ScreensaverRpcClient_disable.set(this, void 0);
|
|
47
|
+
_ScreensaverRpcClient_enabled.set(this, false);
|
|
48
|
+
__classPrivateFieldSet(this, _ScreensaverRpcClient_enable, new UnaryRpcClientMethod(ENABLE_METHOD), "f");
|
|
49
|
+
__classPrivateFieldSet(this, _ScreensaverRpcClient_disable, new UnaryRpcClientMethod(DISABLE_METHOD), "f");
|
|
50
|
+
__classPrivateFieldSet(this, _ScreensaverRpcClient_rpcClient, new BrowserRpcClient(SCREENSAVER_API, new Set([__classPrivateFieldGet(this, _ScreensaverRpcClient_enable, "f"), __classPrivateFieldGet(this, _ScreensaverRpcClient_disable, "f")]), ipcConnection, logger), "f");
|
|
51
|
+
}
|
|
52
|
+
async init() {
|
|
53
|
+
await __classPrivateFieldGet(this, _ScreensaverRpcClient_rpcClient, "f").connect();
|
|
54
|
+
}
|
|
55
|
+
async enable() {
|
|
56
|
+
await __classPrivateFieldGet(this, _ScreensaverRpcClient_enable, "f").call();
|
|
57
|
+
__classPrivateFieldSet(this, _ScreensaverRpcClient_enabled, true, "f");
|
|
58
|
+
}
|
|
59
|
+
async disable() {
|
|
60
|
+
await __classPrivateFieldGet(this, _ScreensaverRpcClient_disable, "f").call();
|
|
61
|
+
__classPrivateFieldSet(this, _ScreensaverRpcClient_enabled, false, "f");
|
|
62
|
+
}
|
|
63
|
+
isEnabled() {
|
|
64
|
+
return __classPrivateFieldGet(this, _ScreensaverRpcClient_enabled, "f");
|
|
65
|
+
}
|
|
66
|
+
async destroy() {
|
|
67
|
+
await __classPrivateFieldGet(this, _ScreensaverRpcClient_rpcClient, "f").destroy();
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
_ScreensaverRpcClient_rpcClient = new WeakMap(), _ScreensaverRpcClient_enable = new WeakMap(), _ScreensaverRpcClient_disable = new WeakMap(), _ScreensaverRpcClient_enabled = new WeakMap();
|
|
71
|
+
//# sourceMappingURL=rpc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../../../../vwr/src/native/screensaver-prevention/rpc.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EACH,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,GACvB,MAAM,qBAAqB,CAAA;AAI5B,MAAM,eAAe,GAAG,qBAAqB,CAAA;AAC7C,MAAM,aAAa,GAAG,QAAQ,CAAA;AAC9B,MAAM,cAAc,GAAG,SAAS,CAAA;AAEhC;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IAG7B,YACI,kBAA6C,EAC7C,aAAmC,EACnC,MAAe;QALnB,kDAA4B;QAOxB,MAAM,YAAY,GAAG,IAAI,oBAAoB,CACzC,aAAa,EACb,KAAK,IAAI,EAAE;YACP,MAAM,kBAAkB,CAAC,MAAM,EAAE,CAAA;QACrC,CAAC,CACJ,CAAA;QAED,MAAM,aAAa,GAAG,IAAI,oBAAoB,CAC1C,cAAc,EACd,KAAK,IAAI,EAAE;YACP,MAAM,kBAAkB,CAAC,OAAO,EAAE,CAAA;QACtC,CAAC,CACJ,CAAA;QAED,uBAAA,IAAI,mCAAc,IAAI,gBAAgB,CAClC,eAAe,EACf,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,EACtC,aAAa,EACb,MAAM,CACT,MAAA,CAAA;IACL,CAAC;IAEM,OAAO;QACV,uBAAA,IAAI,uCAAW,CAAC,OAAO,EAAE,CAAA;IAC7B,CAAC;CACJ;;AAED;;;;GAIG;AACH,MAAM,OAAO,oBAAoB;IAM7B,YAAY,aAAmC,EAAE,MAAe;QALhE,kDAA4B;QAC5B,+CAAyC;QACzC,gDAA0C;QAC1C,wCAAW,KAAK,EAAA;QAGZ,uBAAA,IAAI,gCAAW,IAAI,oBAAoB,CAAa,aAAa,CAAC,MAAA,CAAA;QAClE,uBAAA,IAAI,iCAAY,IAAI,oBAAoB,CAAa,cAAc,CAAC,MAAA,CAAA;QAEpE,uBAAA,IAAI,mCAAc,IAAI,gBAAgB,CAClC,eAAe,EACf,IAAI,GAAG,CAAC,CAAC,uBAAA,IAAI,oCAAQ,EAAE,uBAAA,IAAI,qCAAS,CAAC,CAAC,EACtC,aAAa,EACb,MAAM,CACT,MAAA,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,IAAI;QACb,MAAM,uBAAA,IAAI,uCAAW,CAAC,OAAO,EAAE,CAAA;IACnC,CAAC;IAEM,KAAK,CAAC,MAAM;QACf,MAAM,uBAAA,IAAI,oCAAQ,CAAC,IAAI,EAAE,CAAA;QACzB,uBAAA,IAAI,iCAAY,IAAI,MAAA,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,OAAO;QAChB,MAAM,uBAAA,IAAI,qCAAS,CAAC,IAAI,EAAE,CAAA;QAC1B,uBAAA,IAAI,iCAAY,KAAK,MAAA,CAAA;IACzB,CAAC;IAEM,SAAS;QACZ,OAAO,uBAAA,IAAI,qCAAS,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,OAAO;QAChB,MAAM,uBAAA,IAAI,uCAAW,CAAC,OAAO,EAAE,CAAA;IACnC,CAAC;CACJ"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { DatadogRum } from "@datadog/browser-rum";
|
|
2
|
+
import type { ILogger } from "@volley/logger";
|
|
3
|
+
/**
|
|
4
|
+
* Initialize VWR observability from config passed by vwr-loader.
|
|
5
|
+
*/
|
|
6
|
+
export declare function initObservability(logger: ILogger, rum?: DatadogRum): void;
|
|
7
|
+
/**
|
|
8
|
+
* Get the VWR logger instance.
|
|
9
|
+
* Throws if called before initObservability.
|
|
10
|
+
*/
|
|
11
|
+
export declare function getLogger(): ILogger;
|
|
12
|
+
/**
|
|
13
|
+
* Get the RUM client instance (may be null).
|
|
14
|
+
*/
|
|
15
|
+
export declare function getRum(): DatadogRum | null;
|
|
16
|
+
/**
|
|
17
|
+
* Track a VWR RUM action with proper naming convention.
|
|
18
|
+
* Actions are prefixed with "vwr:" for easy filtering in Datadog.
|
|
19
|
+
*/
|
|
20
|
+
export declare function trackAction(action: string, context?: Record<string, unknown>): void;
|
|
21
|
+
/**
|
|
22
|
+
* Track a VWR error in RUM.
|
|
23
|
+
*/
|
|
24
|
+
export declare function trackError(error: Error | string, context?: Record<string, unknown>): void;
|
|
25
|
+
/**
|
|
26
|
+
* Track a VWR performance timing metric.
|
|
27
|
+
*/
|
|
28
|
+
export declare function trackTiming(name: string, timestamp: number): void;
|
|
29
|
+
/**
|
|
30
|
+
* Record a timing mark at the current moment.
|
|
31
|
+
* Uses RUM's addTiming without a timestamp parameter, which records
|
|
32
|
+
* the time from RUM view start (essentially page load) to now.
|
|
33
|
+
*/
|
|
34
|
+
export declare function trackTimingMark(name: string): void;
|
|
35
|
+
//# sourceMappingURL=observability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../../../../vwr/src/observability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAK7C;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,IAAI,CASzE;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAOnC;AAED;;GAEG;AACH,wBAAgB,MAAM,IAAI,UAAU,GAAG,IAAI,CAE1C;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACvB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,IAAI,CAKN;AAED;;GAEG;AACH,wBAAgB,UAAU,CACtB,KAAK,EAAE,KAAK,GAAG,MAAM,EACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,IAAI,CAkBN;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAEjE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAElD"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
let vwrLogger = null;
|
|
2
|
+
let vwrRum = null;
|
|
3
|
+
/**
|
|
4
|
+
* Initialize VWR observability from config passed by vwr-loader.
|
|
5
|
+
*/
|
|
6
|
+
export function initObservability(logger, rum) {
|
|
7
|
+
vwrLogger = logger;
|
|
8
|
+
vwrRum = rum !== null && rum !== void 0 ? rum : null;
|
|
9
|
+
// Set VWR context in RUM if available
|
|
10
|
+
vwrRum === null || vwrRum === void 0 ? void 0 : vwrRum.setGlobalContextProperty("vwr", {
|
|
11
|
+
initialized: true,
|
|
12
|
+
timestamp: Date.now(),
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Get the VWR logger instance.
|
|
17
|
+
* Throws if called before initObservability.
|
|
18
|
+
*/
|
|
19
|
+
export function getLogger() {
|
|
20
|
+
if (!vwrLogger) {
|
|
21
|
+
throw new Error("[VWR] Logger not initialized. Call initObservability first.");
|
|
22
|
+
}
|
|
23
|
+
return vwrLogger;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Get the RUM client instance (may be null).
|
|
27
|
+
*/
|
|
28
|
+
export function getRum() {
|
|
29
|
+
return vwrRum;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Track a VWR RUM action with proper naming convention.
|
|
33
|
+
* Actions are prefixed with "vwr:" for easy filtering in Datadog.
|
|
34
|
+
*/
|
|
35
|
+
export function trackAction(action, context) {
|
|
36
|
+
vwrRum === null || vwrRum === void 0 ? void 0 : vwrRum.addAction(`vwr:${action}`, Object.assign(Object.assign({}, context), { service: "vwr" }));
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Track a VWR error in RUM.
|
|
40
|
+
*/
|
|
41
|
+
export function trackError(error, context) {
|
|
42
|
+
const errorObj = typeof error === "string" ? new Error(error) : error;
|
|
43
|
+
// Serialize context to ensure Error objects are converted to strings
|
|
44
|
+
const serializedContext = context ? Object.assign({}, context) : {};
|
|
45
|
+
if (serializedContext.cause instanceof Error) {
|
|
46
|
+
serializedContext.cause = serializedContext.cause.message;
|
|
47
|
+
}
|
|
48
|
+
vwrLogger === null || vwrLogger === void 0 ? void 0 : vwrLogger.error(Object.assign({ error: errorObj }, serializedContext), errorObj.message);
|
|
49
|
+
// vwrRum?.addError(errorObj, {
|
|
50
|
+
// ...serializedContext,
|
|
51
|
+
// service: "vwr",
|
|
52
|
+
// })
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Track a VWR performance timing metric.
|
|
56
|
+
*/
|
|
57
|
+
export function trackTiming(name, timestamp) {
|
|
58
|
+
vwrRum === null || vwrRum === void 0 ? void 0 : vwrRum.addTiming(name, timestamp);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Record a timing mark at the current moment.
|
|
62
|
+
* Uses RUM's addTiming without a timestamp parameter, which records
|
|
63
|
+
* the time from RUM view start (essentially page load) to now.
|
|
64
|
+
*/
|
|
65
|
+
export function trackTimingMark(name) {
|
|
66
|
+
vwrRum === null || vwrRum === void 0 ? void 0 : vwrRum.addTiming(name);
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=observability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observability.js","sourceRoot":"","sources":["../../../../vwr/src/observability.ts"],"names":[],"mappings":"AAGA,IAAI,SAAS,GAAmB,IAAI,CAAA;AACpC,IAAI,MAAM,GAAsB,IAAI,CAAA;AAEpC;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAe,EAAE,GAAgB;IAC/D,SAAS,GAAG,MAAM,CAAA;IAClB,MAAM,GAAG,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,IAAI,CAAA;IAEpB,sCAAsC;IACtC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,wBAAwB,CAAC,KAAK,EAAE;QACpC,WAAW,EAAE,IAAI;QACjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACxB,CAAC,CAAA;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS;IACrB,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACX,6DAA6D,CAChE,CAAA;IACL,CAAC;IACD,OAAO,SAAS,CAAA;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM;IAClB,OAAO,MAAM,CAAA;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CACvB,MAAc,EACd,OAAiC;IAEjC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAC,OAAO,MAAM,EAAE,kCAC1B,OAAO,KACV,OAAO,EAAE,KAAK,IAChB,CAAA;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CACtB,KAAqB,EACrB,OAAiC;IAEjC,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAErE,qEAAqE;IACrE,MAAM,iBAAiB,GAAG,OAAO,CAAC,CAAC,mBAAM,OAAO,EAAG,CAAC,CAAC,EAAE,CAAA;IACvD,IAAI,iBAAiB,CAAC,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3C,iBAAiB,CAAC,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAA;IAC7D,CAAC;IAED,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,iBACV,KAAK,EAAE,QAAQ,IAAK,iBAAiB,GACvC,QAAQ,CAAC,OAAO,CACnB,CAAA;IAED,+BAA+B;IAC/B,4BAA4B;IAC5B,sBAAsB;IACtB,KAAK;AACT,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,SAAiB;IACvD,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;AACtC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IACxC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAC,IAAI,CAAC,CAAA;AAC3B,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type SharedShellEnvironment = "dev" | "staging" | "prod";
|
|
2
|
+
export interface ShellEnvConfig {
|
|
3
|
+
hubUrl: string;
|
|
4
|
+
vwrUrl: string;
|
|
5
|
+
configUrl: string;
|
|
6
|
+
configFile: string;
|
|
7
|
+
platformApiUrl: string;
|
|
8
|
+
platformAuthApiUrl: string;
|
|
9
|
+
}
|
|
10
|
+
export declare const CONFIG_URL_DEFAULT = "https://vwr.volley.tv/config/";
|
|
11
|
+
export declare const CONFIG_FILE_DEFAULT = "vwrConfig.json";
|
|
12
|
+
export declare const VWR_DEFAULT_VERSION = "1.0.0";
|
|
13
|
+
export declare const VWR_URL_PATH_DEFAULT = "v1/1.0.0/vwr.js";
|
|
14
|
+
export declare function getShellEnvDefaults(env: SharedShellEnvironment): ShellEnvConfig;
|
|
15
|
+
//# sourceMappingURL=shellEnvDefaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shellEnvDefaults.d.ts","sourceRoot":"","sources":["../../../../vwr/src/shellEnvDefaults.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG,KAAK,GAAG,SAAS,GAAG,MAAM,CAAA;AAE/D,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,kBAAkB,EAAE,MAAM,CAAA;CAC7B;AAED,eAAO,MAAM,kBAAkB,kCAAkC,CAAA;AACjE,eAAO,MAAM,mBAAmB,mBAAmB,CAAA;AACnD,eAAO,MAAM,mBAAmB,UAAU,CAAA;AAC1C,eAAO,MAAM,oBAAoB,oBAAqC,CAAA;AA6BtE,wBAAgB,mBAAmB,CAC/B,GAAG,EAAE,sBAAsB,GAC5B,cAAc,CAEhB"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export const CONFIG_URL_DEFAULT = "https://vwr.volley.tv/config/";
|
|
2
|
+
export const CONFIG_FILE_DEFAULT = "vwrConfig.json";
|
|
3
|
+
export const VWR_DEFAULT_VERSION = "1.0.0";
|
|
4
|
+
export const VWR_URL_PATH_DEFAULT = `v1/${VWR_DEFAULT_VERSION}/vwr.js`;
|
|
5
|
+
const SHELL_ENV_DEFAULTS = {
|
|
6
|
+
dev: {
|
|
7
|
+
hubUrl: "https://game-clients-dev.volley.tv/hub",
|
|
8
|
+
vwrUrl: `https://vwr.volley.tv/${VWR_URL_PATH_DEFAULT}`,
|
|
9
|
+
configUrl: CONFIG_URL_DEFAULT,
|
|
10
|
+
configFile: CONFIG_FILE_DEFAULT,
|
|
11
|
+
platformApiUrl: "https://platform-dev.volley-services.net",
|
|
12
|
+
platformAuthApiUrl: "https://auth-dev.volley.tv",
|
|
13
|
+
},
|
|
14
|
+
staging: {
|
|
15
|
+
hubUrl: "https://game-clients-staging.volley.tv/hub",
|
|
16
|
+
vwrUrl: `https://vwr.volley.tv/${VWR_URL_PATH_DEFAULT}`,
|
|
17
|
+
configUrl: CONFIG_URL_DEFAULT,
|
|
18
|
+
configFile: CONFIG_FILE_DEFAULT,
|
|
19
|
+
platformApiUrl: "https://platform-staging.volley-services.net",
|
|
20
|
+
platformAuthApiUrl: "https://auth-staging.volley.tv",
|
|
21
|
+
},
|
|
22
|
+
prod: {
|
|
23
|
+
hubUrl: "https://game-clients.volley.tv/hub",
|
|
24
|
+
vwrUrl: `https://vwr.volley.tv/${VWR_URL_PATH_DEFAULT}`,
|
|
25
|
+
configUrl: CONFIG_URL_DEFAULT,
|
|
26
|
+
configFile: CONFIG_FILE_DEFAULT,
|
|
27
|
+
platformApiUrl: "https://platform.volley-services.net",
|
|
28
|
+
platformAuthApiUrl: "https://auth.volley.tv",
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
export function getShellEnvDefaults(env) {
|
|
32
|
+
return SHELL_ENV_DEFAULTS[env];
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=shellEnvDefaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shellEnvDefaults.js","sourceRoot":"","sources":["../../../../vwr/src/shellEnvDefaults.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,kBAAkB,GAAG,+BAA+B,CAAA;AACjE,MAAM,CAAC,MAAM,mBAAmB,GAAG,gBAAgB,CAAA;AACnD,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAA;AAC1C,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,mBAAmB,SAAS,CAAA;AAEtE,MAAM,kBAAkB,GAAmD;IACvE,GAAG,EAAE;QACD,MAAM,EAAE,wCAAwC;QAChD,MAAM,EAAE,yBAAyB,oBAAoB,EAAE;QACvD,SAAS,EAAE,kBAAkB;QAC7B,UAAU,EAAE,mBAAmB;QAC/B,cAAc,EAAE,0CAA0C;QAC1D,kBAAkB,EAAE,4BAA4B;KACnD;IACD,OAAO,EAAE;QACL,MAAM,EAAE,4CAA4C;QACpD,MAAM,EAAE,yBAAyB,oBAAoB,EAAE;QACvD,SAAS,EAAE,kBAAkB;QAC7B,UAAU,EAAE,mBAAmB;QAC/B,cAAc,EAAE,8CAA8C;QAC9D,kBAAkB,EAAE,gCAAgC;KACvD;IACD,IAAI,EAAE;QACF,MAAM,EAAE,oCAAoC;QAC5C,MAAM,EAAE,yBAAyB,oBAAoB,EAAE;QACvD,SAAS,EAAE,kBAAkB;QAC7B,UAAU,EAAE,mBAAmB;QAC/B,cAAc,EAAE,sCAAsC;QACtD,kBAAkB,EAAE,wBAAwB;KAC/C;CACJ,CAAA;AAED,MAAM,UAAU,mBAAmB,CAC/B,GAA2B;IAE3B,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAA;AAClC,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { EventMap } from "@volley/platform-sdk/lib";
|
|
2
|
+
export type VwrEventType = keyof EventMap;
|
|
3
|
+
export interface VwrMessage {
|
|
4
|
+
source: string;
|
|
5
|
+
type: VwrEventType;
|
|
6
|
+
args: unknown[];
|
|
7
|
+
}
|
|
8
|
+
export declare function isTrustedSource(source: string): boolean;
|
|
9
|
+
export declare function isVwrMessage(data: unknown): data is VwrMessage;
|
|
10
|
+
/**
|
|
11
|
+
* Shared type definitions for vwr-loader platform APIs
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Extended window interface for mobile app context.
|
|
15
|
+
* Matches the types from @volley/sdk ExtendedWindow.ts
|
|
16
|
+
*/
|
|
17
|
+
export interface MobileExtendedWindow extends Window {
|
|
18
|
+
iosAppContext?: {
|
|
19
|
+
appVersion: string;
|
|
20
|
+
environment?: string;
|
|
21
|
+
phoneDeviceId?: string;
|
|
22
|
+
};
|
|
23
|
+
androidAppContext?: {
|
|
24
|
+
appVersion: string;
|
|
25
|
+
environment?: string;
|
|
26
|
+
phoneDeviceId?: string;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Global type declarations for platform APIs
|
|
31
|
+
*/
|
|
32
|
+
declare global {
|
|
33
|
+
interface Window {
|
|
34
|
+
Capacitor?: any | {
|
|
35
|
+
Plugins?: {
|
|
36
|
+
DeviceInfo?: {
|
|
37
|
+
getDeviceInfo(): Promise<{
|
|
38
|
+
versionName?: string;
|
|
39
|
+
[key: string]: any;
|
|
40
|
+
}>;
|
|
41
|
+
getAndroidId(): Promise<{
|
|
42
|
+
androidId?: string;
|
|
43
|
+
[key: string]: any;
|
|
44
|
+
}>;
|
|
45
|
+
getNativeShellAppEnvironment(): Promise<{
|
|
46
|
+
environment?: string;
|
|
47
|
+
}>;
|
|
48
|
+
[key: string]: any;
|
|
49
|
+
};
|
|
50
|
+
[key: string]: any;
|
|
51
|
+
};
|
|
52
|
+
[key: string]: any;
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../vwr/src/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAExD,MAAM,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAA;AAEzC,MAAM,WAAW,UAAU;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,YAAY,CAAA;IAClB,IAAI,EAAE,OAAO,EAAE,CAAA;CAClB;AAcD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAOvD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,UAAU,CAW9D;AAED;;GAEG;AAEH;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,MAAM;IAChD,aAAa,CAAC,EAAE;QACZ,UAAU,EAAE,MAAM,CAAA;QAClB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,aAAa,CAAC,EAAE,MAAM,CAAA;KACzB,CAAA;IACD,iBAAiB,CAAC,EAAE;QAChB,UAAU,EAAE,MAAM,CAAA;QAClB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,aAAa,CAAC,EAAE,MAAM,CAAA;KACzB,CAAA;CACJ;AAED;;GAEG;AACH,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,SAAS,CAAC,EACJ,GAAG,GACH;YACI,OAAO,CAAC,EAAE;gBACN,UAAU,CAAC,EAAE;oBACT,aAAa,IAAI,OAAO,CAAC;wBACrB,WAAW,CAAC,EAAE,MAAM,CAAA;wBACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;qBACrB,CAAC,CAAA;oBACF,YAAY,IAAI,OAAO,CAAC;wBACpB,SAAS,CAAC,EAAE,MAAM,CAAA;wBAClB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;qBACrB,CAAC,CAAA;oBACF,4BAA4B,IAAI,OAAO,CAAC;wBACpC,WAAW,CAAC,EAAE,MAAM,CAAA;qBACvB,CAAC,CAAA;oBACF,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;iBACrB,CAAA;gBACD,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;aACrB,CAAA;YACD,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SACrB,CAAA;KACV;CACJ"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
const EVENT_SOURCE_PREFIX = "platform-sdk-iframe";
|
|
2
|
+
const HUB_EVENT_SOURCE = "hub";
|
|
3
|
+
const VWR_EVENT_SOURCE = "vwr";
|
|
4
|
+
const VALID_EVENT_TYPES = [
|
|
5
|
+
"vwr:launchGame",
|
|
6
|
+
"vwr:launchGameTimeout",
|
|
7
|
+
"vwr:initResult",
|
|
8
|
+
"ready",
|
|
9
|
+
"error",
|
|
10
|
+
"close",
|
|
11
|
+
];
|
|
12
|
+
export function isTrustedSource(source) {
|
|
13
|
+
return (source === HUB_EVENT_SOURCE ||
|
|
14
|
+
source === EVENT_SOURCE_PREFIX ||
|
|
15
|
+
source === VWR_EVENT_SOURCE ||
|
|
16
|
+
source.startsWith(`${EVENT_SOURCE_PREFIX}-`));
|
|
17
|
+
}
|
|
18
|
+
export function isVwrMessage(data) {
|
|
19
|
+
if (typeof data !== "object" || data === null)
|
|
20
|
+
return false;
|
|
21
|
+
const msg = data;
|
|
22
|
+
return (typeof msg.source === "string" &&
|
|
23
|
+
typeof msg.type === "string" &&
|
|
24
|
+
VALID_EVENT_TYPES.includes(msg.type) &&
|
|
25
|
+
Array.isArray(msg.args));
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../vwr/src/types.ts"],"names":[],"mappings":"AAWA,MAAM,mBAAmB,GAAG,qBAAqB,CAAA;AACjD,MAAM,gBAAgB,GAAG,KAAK,CAAA;AAC9B,MAAM,gBAAgB,GAAG,KAAK,CAAA;AAC9B,MAAM,iBAAiB,GAAmB;IACtC,gBAAgB;IAChB,uBAAuB;IACvB,gBAAgB;IAChB,OAAO;IACP,OAAO;IACP,OAAO;CACV,CAAA;AAED,MAAM,UAAU,eAAe,CAAC,MAAc;IAC1C,OAAO,CACH,MAAM,KAAK,gBAAgB;QAC3B,MAAM,KAAK,mBAAmB;QAC9B,MAAM,KAAK,gBAAgB;QAC3B,MAAM,CAAC,UAAU,CAAC,GAAG,mBAAmB,GAAG,CAAC,CAC/C,CAAA;AACL,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAa;IACtC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IAE3D,MAAM,GAAG,GAAG,IAA+B,CAAA;IAE3C,OAAO,CACH,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;QAC9B,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAC5B,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAoB,CAAC;QACpD,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAC1B,CAAA;AACL,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extract origin (protocol + hostname + port) from a URL string.
|
|
3
|
+
* Returns null if URL is invalid.
|
|
4
|
+
*/
|
|
5
|
+
export declare function getUrlOrigin(url: string): string | null;
|
|
6
|
+
/**
|
|
7
|
+
* Check if a URL's origin matches any trusted origin.
|
|
8
|
+
* Compares full origins (protocol + hostname + port) for security.
|
|
9
|
+
*/
|
|
10
|
+
export declare function isUrlTrusted(url: string, trustedOrigins: Set<string> | string[]): boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Append a query parameter to a URL, preserving existing params.
|
|
13
|
+
* Overwrites the param if it already exists.
|
|
14
|
+
* Returns the original URL if it cannot be parsed.
|
|
15
|
+
*/
|
|
16
|
+
export declare function appendQueryParam(url: string, key: string, value: string): string;
|
|
17
|
+
//# sourceMappingURL=urlUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"urlUtils.d.ts","sourceRoot":"","sources":["../../../../vwr/src/urlUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMvD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CACxB,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,GACvC,OAAO,CAQT;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC5B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACd,MAAM,CAQR"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extract origin (protocol + hostname + port) from a URL string.
|
|
3
|
+
* Returns null if URL is invalid.
|
|
4
|
+
*/
|
|
5
|
+
export function getUrlOrigin(url) {
|
|
6
|
+
try {
|
|
7
|
+
return new URL(url).origin;
|
|
8
|
+
}
|
|
9
|
+
catch (_a) {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Check if a URL's origin matches any trusted origin.
|
|
15
|
+
* Compares full origins (protocol + hostname + port) for security.
|
|
16
|
+
*/
|
|
17
|
+
export function isUrlTrusted(url, trustedOrigins) {
|
|
18
|
+
const origin = getUrlOrigin(url);
|
|
19
|
+
if (!origin)
|
|
20
|
+
return false;
|
|
21
|
+
for (const trusted of trustedOrigins) {
|
|
22
|
+
if (origin === trusted)
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Append a query parameter to a URL, preserving existing params.
|
|
29
|
+
* Overwrites the param if it already exists.
|
|
30
|
+
* Returns the original URL if it cannot be parsed.
|
|
31
|
+
*/
|
|
32
|
+
export function appendQueryParam(url, key, value) {
|
|
33
|
+
try {
|
|
34
|
+
const urlObj = new URL(url);
|
|
35
|
+
urlObj.searchParams.set(key, value);
|
|
36
|
+
return urlObj.toString();
|
|
37
|
+
}
|
|
38
|
+
catch (_a) {
|
|
39
|
+
return url;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=urlUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"urlUtils.js","sourceRoot":"","sources":["../../../../vwr/src/urlUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACpC,IAAI,CAAC;QACD,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAA;IAC9B,CAAC;IAAC,WAAM,CAAC;QACL,OAAO,IAAI,CAAA;IACf,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CACxB,GAAW,EACX,cAAsC;IAEtC,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;IAChC,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IAEzB,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACnC,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO,IAAI,CAAA;IACvC,CAAC;IACD,OAAO,KAAK,CAAA;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC5B,GAAW,EACX,GAAW,EACX,KAAa;IAEb,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3B,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACnC,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAA;IAC5B,CAAC;IAAC,WAAM,CAAC;QACL,OAAO,GAAG,CAAA;IACd,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Volley Web Runtime (VWR) Bootraping
|
|
3
|
+
*
|
|
4
|
+
* This module is responsible for bootstrapping the VWR
|
|
5
|
+
*
|
|
6
|
+
* NO trusted code should go here. This module should only contain
|
|
7
|
+
* code that is responsible for initializing the trusted environment.
|
|
8
|
+
*/
|
|
9
|
+
import type { DatadogRum } from "@datadog/browser-rum";
|
|
10
|
+
import type { ILogger } from "@volley/logger";
|
|
11
|
+
export interface VWRInitOptions {
|
|
12
|
+
hubUrl: string;
|
|
13
|
+
platform: string;
|
|
14
|
+
stage: string;
|
|
15
|
+
appVersion: string;
|
|
16
|
+
platformApiUrl: string;
|
|
17
|
+
platformAuthApiUrl: string;
|
|
18
|
+
nativeShellVersion?: string;
|
|
19
|
+
configSource?: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Clean up all VWR resources
|
|
23
|
+
*/
|
|
24
|
+
export declare function destroy(): void;
|
|
25
|
+
export declare function init(config: VWRInitOptions, logger: ILogger, rum?: DatadogRum): Promise<void>;
|
|
26
|
+
//# sourceMappingURL=vwrBootstrap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vwrBootstrap.d.ts","sourceRoot":"","sources":["../../../../vwr/src/vwrBootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAc7C,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;GAEG;AACH,wBAAgB,OAAO,IAAI,IAAI,CAiD9B;AA0CD,wBAAsB,IAAI,CACtB,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,OAAO,EACf,GAAG,CAAC,EAAE,UAAU,GACjB,OAAO,CAAC,IAAI,CAAC,CAmGf"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Volley Web Runtime (VWR) Bootraping
|
|
3
|
+
*
|
|
4
|
+
* This module is responsible for bootstrapping the VWR
|
|
5
|
+
*
|
|
6
|
+
* NO trusted code should go here. This module should only contain
|
|
7
|
+
* code that is responsible for initializing the trusted environment.
|
|
8
|
+
*/
|
|
9
|
+
import { BrowserIpcConnection } from "@volley/browser-ipc";
|
|
10
|
+
import { LGLunaService } from "./native/screensaver-prevention/LGLunaService";
|
|
11
|
+
import { Iframe } from "./iframe";
|
|
12
|
+
import { getNativeExitFn } from "./native/app-lifecycle/factory";
|
|
13
|
+
import { ExitAppRpcServer } from "./native/app-lifecycle/rpc";
|
|
14
|
+
import { CapacitorProxyRpcServer } from "./native/capacitor-bridge/rpc";
|
|
15
|
+
import { getNativeDeviceInfoCollector } from "./native/device-info/factory";
|
|
16
|
+
import { NativeBridgeProxyRpcServer } from "./native/native-bridge/rpc";
|
|
17
|
+
import { ScreensaverRpcServer } from "./native/screensaver-prevention/rpc";
|
|
18
|
+
import { DeviceInfoRpcServer } from "./native/device-info/rpc";
|
|
19
|
+
import { getLogger, initObservability, trackAction } from "./observability";
|
|
20
|
+
import { appendQueryParam } from "./urlUtils";
|
|
21
|
+
/**
|
|
22
|
+
* Clean up all VWR resources
|
|
23
|
+
*/
|
|
24
|
+
export function destroy() {
|
|
25
|
+
let logger;
|
|
26
|
+
try {
|
|
27
|
+
logger = getLogger();
|
|
28
|
+
}
|
|
29
|
+
catch (_a) {
|
|
30
|
+
// Logger not initialized — init() failed before initObservability()
|
|
31
|
+
}
|
|
32
|
+
trackAction("destroy");
|
|
33
|
+
logger === null || logger === void 0 ? void 0 : logger.debug("Destroying VWR iFrame");
|
|
34
|
+
if (vwrIFrame) {
|
|
35
|
+
vwrIFrame.destroy();
|
|
36
|
+
vwrIFrame = null;
|
|
37
|
+
}
|
|
38
|
+
if (deviceInfoServer) {
|
|
39
|
+
deviceInfoServer.destroy();
|
|
40
|
+
deviceInfoServer = null;
|
|
41
|
+
}
|
|
42
|
+
if (exitAppServer) {
|
|
43
|
+
exitAppServer.destroy();
|
|
44
|
+
exitAppServer = null;
|
|
45
|
+
}
|
|
46
|
+
if (capacitorProxyServer) {
|
|
47
|
+
capacitorProxyServer.destroy();
|
|
48
|
+
capacitorProxyServer = null;
|
|
49
|
+
}
|
|
50
|
+
if (nativeBridgeProxyServer) {
|
|
51
|
+
nativeBridgeProxyServer.destroy();
|
|
52
|
+
nativeBridgeProxyServer = null;
|
|
53
|
+
}
|
|
54
|
+
if (screensaverServer) {
|
|
55
|
+
screensaverServer.destroy();
|
|
56
|
+
screensaverServer = null;
|
|
57
|
+
}
|
|
58
|
+
if (nativeIpcConnection) {
|
|
59
|
+
nativeIpcConnection.destroy();
|
|
60
|
+
nativeIpcConnection = null;
|
|
61
|
+
}
|
|
62
|
+
initResponse = null;
|
|
63
|
+
logger === null || logger === void 0 ? void 0 : logger.debug("VWR iFrame destroyed");
|
|
64
|
+
}
|
|
65
|
+
function getModulePath() {
|
|
66
|
+
return import.meta.url;
|
|
67
|
+
}
|
|
68
|
+
function getVwrPath() {
|
|
69
|
+
const modulePath = getModulePath();
|
|
70
|
+
const splitPath = modulePath.split("/");
|
|
71
|
+
splitPath.pop();
|
|
72
|
+
splitPath.push("index.html");
|
|
73
|
+
const vwrPath = splitPath.join("/");
|
|
74
|
+
return vwrPath;
|
|
75
|
+
}
|
|
76
|
+
function appendVwrParams(url, config, deviceId) {
|
|
77
|
+
url = appendQueryParam(url, "platform", config.platform);
|
|
78
|
+
url = appendQueryParam(url, "stage", config.stage);
|
|
79
|
+
url = appendQueryParam(url, "appVersion", config.appVersion);
|
|
80
|
+
url = appendQueryParam(url, "nativeShellVersion", config.nativeShellVersion || "unknown");
|
|
81
|
+
if (deviceId) {
|
|
82
|
+
url = appendQueryParam(url, "deviceId", deviceId);
|
|
83
|
+
}
|
|
84
|
+
return url;
|
|
85
|
+
}
|
|
86
|
+
let nativeIpcConnection = null;
|
|
87
|
+
let deviceInfoServer = null;
|
|
88
|
+
let exitAppServer = null;
|
|
89
|
+
let capacitorProxyServer = null;
|
|
90
|
+
let nativeBridgeProxyServer = null;
|
|
91
|
+
let screensaverServer = null;
|
|
92
|
+
let vwrIFrame = null;
|
|
93
|
+
export async function init(config, logger, rum) {
|
|
94
|
+
initResponse = null;
|
|
95
|
+
initObservability(logger, rum);
|
|
96
|
+
const vwrPath = getVwrPath();
|
|
97
|
+
// Collect device info once from native APIs (if available for this platform)
|
|
98
|
+
const deviceInfoCollector = getNativeDeviceInfoCollector(config.platform, logger, config.nativeShellVersion || "unknown");
|
|
99
|
+
const collectedDeviceInfo = deviceInfoCollector
|
|
100
|
+
? await deviceInfoCollector()
|
|
101
|
+
: null;
|
|
102
|
+
logger.info({ deviceInfo: collectedDeviceInfo }, "Bootstrap collected device info");
|
|
103
|
+
// Append VWR params including device ID (needed before IPC for config resolution)
|
|
104
|
+
const iframeSrc = appendVwrParams(vwrPath, config, collectedDeviceInfo === null || collectedDeviceInfo === void 0 ? void 0 : collectedDeviceInfo.deviceId);
|
|
105
|
+
// Bootstrap only needs to trust the VWR iframe origin, not game/hub origins.
|
|
106
|
+
// Derive VWR origin from the iframe URL (based on import.meta.url).
|
|
107
|
+
const vwrOrigin = new URL(vwrPath).origin;
|
|
108
|
+
const bootstrapTrustedOrigins = new Set([vwrOrigin]);
|
|
109
|
+
// Create IPC connection (server side) before iframe so it's ready for handshake
|
|
110
|
+
nativeIpcConnection = new BrowserIpcConnection(window, bootstrapTrustedOrigins, logger);
|
|
111
|
+
// Register RPC server to serve pre-collected device info to VWR iframe
|
|
112
|
+
if (collectedDeviceInfo) {
|
|
113
|
+
deviceInfoServer = new DeviceInfoRpcServer(() => Promise.resolve(collectedDeviceInfo), nativeIpcConnection, logger);
|
|
114
|
+
}
|
|
115
|
+
const exitFn = getNativeExitFn(config.platform, logger);
|
|
116
|
+
if (exitFn) {
|
|
117
|
+
exitAppServer = new ExitAppRpcServer(exitFn, nativeIpcConnection, logger);
|
|
118
|
+
}
|
|
119
|
+
// Register Capacitor proxy for FireTV so VWR iframe can access native plugins
|
|
120
|
+
if (config.platform === "FIRE_TV") {
|
|
121
|
+
capacitorProxyServer = new CapacitorProxyRpcServer(nativeIpcConnection, logger);
|
|
122
|
+
}
|
|
123
|
+
// Register native bridge proxy for mobile so VWR iframe can access iOS/Android native bridge
|
|
124
|
+
if (config.platform === "IOS_MOBILE" ||
|
|
125
|
+
config.platform === "ANDROID_MOBILE") {
|
|
126
|
+
nativeBridgeProxyServer = new NativeBridgeProxyRpcServer(nativeIpcConnection, logger);
|
|
127
|
+
}
|
|
128
|
+
// Register screensaver RPC server for platforms that need native screensaver control via bootstrap
|
|
129
|
+
if (config.platform === "LG_TV") {
|
|
130
|
+
const screensaverService = new LGLunaService(logger);
|
|
131
|
+
screensaverServer = new ScreensaverRpcServer(screensaverService, nativeIpcConnection, logger);
|
|
132
|
+
}
|
|
133
|
+
vwrIFrame = new Iframe({
|
|
134
|
+
src: iframeSrc,
|
|
135
|
+
id: "platform-sdk-iframe",
|
|
136
|
+
allow: "camera *; microphone *; autoplay *",
|
|
137
|
+
container: document.body,
|
|
138
|
+
onMessage: vwrMessageHandler,
|
|
139
|
+
});
|
|
140
|
+
try {
|
|
141
|
+
await waitForIFrame();
|
|
142
|
+
}
|
|
143
|
+
catch (error) {
|
|
144
|
+
destroy();
|
|
145
|
+
throw error;
|
|
146
|
+
}
|
|
147
|
+
vwrIFrame.show();
|
|
148
|
+
vwrIFrame.focus();
|
|
149
|
+
logger.info("VWR Bootstrapped successfully");
|
|
150
|
+
}
|
|
151
|
+
let initResponse = null;
|
|
152
|
+
function waitForIFrame(startTime = Date.now()) {
|
|
153
|
+
const TIMEOUT_MS = 30000;
|
|
154
|
+
return new Promise((resolve, reject) => {
|
|
155
|
+
if (Date.now() - startTime > TIMEOUT_MS) {
|
|
156
|
+
reject(new Error("Timed out waiting for VWR iFrame to initialize"));
|
|
157
|
+
}
|
|
158
|
+
else if (initResponse !== null) {
|
|
159
|
+
if (initResponse[0]) {
|
|
160
|
+
resolve();
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
reject(initResponse[1] || new Error("Unknown initialization error"));
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
setTimeout(() => waitForIFrame(startTime).then(resolve).catch(reject), 100);
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
function vwrMessageHandler(message) {
|
|
172
|
+
if (message.type === "vwr:initResult") {
|
|
173
|
+
initResponse = [message.args[0], message.args[1]];
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=vwrBootstrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vwrBootstrap.js","sourceRoot":"","sources":["../../../../vwr/src/vwrBootstrap.ts"],"names":[],"mappings":"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"}
|