@arcware-cloud/pixelstreaming-websdk 1.3.13 → 1.3.16
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/README.md +5 -0
- package/index.cjs.js +176 -64
- package/index.esm.js +222 -108
- package/index.umd.js +176 -64
- package/package.json +1 -1
- package/types/lib/ArcwareConfig.d.ts +14 -1
- package/types/lib/domain/ArcwareSettingsSchema.d.ts +2 -1
- package/types/{shared/lib/Types → lib/features}/ZWhiteLabel.d.ts +1 -0
- package/types/lib/features/whiteLabelling.d.ts +1 -1
- package/types/shared/lib/index.d.ts +0 -1
package/index.umd.js
CHANGED
|
@@ -23363,11 +23363,14 @@ exports.ArcwareApplication = ArcwareApplication;
|
|
|
23363
23363
|
|
|
23364
23364
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
23365
23365
|
exports.ArcwareConfig = exports.DefaultUrl = void 0;
|
|
23366
|
+
const tslib_1 = __webpack_require__(655);
|
|
23366
23367
|
const zod_1 = __webpack_require__(8754);
|
|
23367
23368
|
const lib_pixelstreamingfrontend_ue5_5_1 = __webpack_require__(693);
|
|
23368
23369
|
const Session_1 = __webpack_require__(2469);
|
|
23369
23370
|
const ArcwareSettingsSchema_1 = __webpack_require__(5602);
|
|
23370
23371
|
const whiteLabelling_1 = __webpack_require__(3545);
|
|
23372
|
+
const ZWhiteLabel_1 = __webpack_require__(467);
|
|
23373
|
+
const EventHandler_1 = __webpack_require__(3379);
|
|
23371
23374
|
/** Default arcware signalling endpoint. */
|
|
23372
23375
|
exports.DefaultUrl = `wss://signalling-client.ragnarok.arcware.cloud`;
|
|
23373
23376
|
// The below Logger overrides can likely be removed as PSInfra 5.5 logger supports setting log verbosity
|
|
@@ -23383,6 +23386,14 @@ Logger.Error = (message: string) => {
|
|
|
23383
23386
|
console.error(message);
|
|
23384
23387
|
};*/
|
|
23385
23388
|
lib_pixelstreamingfrontend_ue5_5_1.Logger.InitLogging(2, false);
|
|
23389
|
+
function deepEqual(a, b) {
|
|
23390
|
+
try {
|
|
23391
|
+
return JSON.stringify(a) === JSON.stringify(b);
|
|
23392
|
+
}
|
|
23393
|
+
catch (_a) {
|
|
23394
|
+
return false;
|
|
23395
|
+
}
|
|
23396
|
+
}
|
|
23386
23397
|
class ArcwareConfig extends lib_pixelstreamingfrontend_ue5_5_1.Config {
|
|
23387
23398
|
/**
|
|
23388
23399
|
* Can be used to fetch projectId and shareId from the current url.
|
|
@@ -23431,7 +23442,13 @@ class ArcwareConfig extends lib_pixelstreamingfrontend_ue5_5_1.Config {
|
|
|
23431
23442
|
if (!config.initialSettings.ss)
|
|
23432
23443
|
config.initialSettings.ss = exports.DefaultUrl;
|
|
23433
23444
|
super(config);
|
|
23434
|
-
this.VERSION = "1.3.
|
|
23445
|
+
this.VERSION = "1.3.16";
|
|
23446
|
+
this.whiteLabellingChanged = new EventHandler_1.EventHandler();
|
|
23447
|
+
this.signallingWlURL = "https://signalling-client.arcware.cloud/whiteLabel/";
|
|
23448
|
+
console.log(config);
|
|
23449
|
+
if (config.envName) {
|
|
23450
|
+
this.signallingWlURL = `https://signalling-client.${config.envName}.arcware.cloud/whiteLabel/`;
|
|
23451
|
+
}
|
|
23435
23452
|
this.settings = settings;
|
|
23436
23453
|
this.session = new Session_1.Session();
|
|
23437
23454
|
this._initialSettings = config.initialSettings;
|
|
@@ -23443,14 +23460,66 @@ class ArcwareConfig extends lib_pixelstreamingfrontend_ue5_5_1.Config {
|
|
|
23443
23460
|
if (this.useUrlParams) {
|
|
23444
23461
|
// Get the query string from URL
|
|
23445
23462
|
const qs = new URLSearchParams(window.location.search);
|
|
23446
|
-
|
|
23447
|
-
|
|
23448
|
-
|
|
23449
|
-
|
|
23463
|
+
if (qs.has("wl") && qs.get("wl") !== "") {
|
|
23464
|
+
// Retrieve image loading from there
|
|
23465
|
+
const wlParsed = this.useUrlParams ? (0, whiteLabelling_1.readWhiteLabelFromQuery)(qs) : undefined; // respect useUrlParams
|
|
23466
|
+
if (wlParsed) {
|
|
23467
|
+
this.settings.whiteLabelling = Object.assign(Object.assign({}, ((_c = this.settings.whiteLabelling) !== null && _c !== void 0 ? _c : {})), wlParsed);
|
|
23468
|
+
}
|
|
23450
23469
|
}
|
|
23451
23470
|
this.settings.infoButton = qs.has("i") || qs.has("info");
|
|
23452
23471
|
}
|
|
23453
23472
|
}
|
|
23473
|
+
getWhiteLabelling(ShareId) {
|
|
23474
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
23475
|
+
const qs = new URLSearchParams(window.location.search);
|
|
23476
|
+
// Only fetch when wl param is present and empty (as before)
|
|
23477
|
+
if (!(qs.has("wl") && qs.get("wl") === ""))
|
|
23478
|
+
return undefined;
|
|
23479
|
+
// Build final URL safely (trim trailing slashes, encode ShareId)
|
|
23480
|
+
const base = this.signallingWlURL.replace(/\/+$/, "");
|
|
23481
|
+
const requestUrl = `${base}/${encodeURIComponent(ShareId)}`;
|
|
23482
|
+
const controller = new AbortController();
|
|
23483
|
+
const timeoutId = setTimeout(() => controller.abort(), 1000);
|
|
23484
|
+
try {
|
|
23485
|
+
const res = yield fetch(requestUrl, {
|
|
23486
|
+
method: "GET",
|
|
23487
|
+
signal: controller.signal,
|
|
23488
|
+
headers: { Accept: "application/json, text/plain" },
|
|
23489
|
+
credentials: "omit"
|
|
23490
|
+
});
|
|
23491
|
+
if (!res.ok)
|
|
23492
|
+
return undefined;
|
|
23493
|
+
const text = yield res.text();
|
|
23494
|
+
if (!text || text.trim() === "")
|
|
23495
|
+
return undefined;
|
|
23496
|
+
let json;
|
|
23497
|
+
try {
|
|
23498
|
+
json = JSON.parse(text);
|
|
23499
|
+
}
|
|
23500
|
+
catch (_a) {
|
|
23501
|
+
return undefined;
|
|
23502
|
+
}
|
|
23503
|
+
const parsed = ZWhiteLabel_1.ZWhiteLabel.safeParse(json);
|
|
23504
|
+
if (!parsed.success)
|
|
23505
|
+
return undefined;
|
|
23506
|
+
// Only apply & emit if it actually changed
|
|
23507
|
+
const prev = this.settings.whiteLabelling;
|
|
23508
|
+
const next = parsed.data;
|
|
23509
|
+
if (!deepEqual(prev, next)) {
|
|
23510
|
+
this.settings.whiteLabelling = next;
|
|
23511
|
+
EventHandler_1.EventHandler.Emit(this.whiteLabellingChanged, next);
|
|
23512
|
+
}
|
|
23513
|
+
return parsed.data;
|
|
23514
|
+
}
|
|
23515
|
+
catch (_b) {
|
|
23516
|
+
return undefined;
|
|
23517
|
+
}
|
|
23518
|
+
finally {
|
|
23519
|
+
clearTimeout(timeoutId);
|
|
23520
|
+
}
|
|
23521
|
+
});
|
|
23522
|
+
}
|
|
23454
23523
|
/** Setup connection string. */
|
|
23455
23524
|
get urlFlags() {
|
|
23456
23525
|
var _a;
|
|
@@ -23525,6 +23594,7 @@ let globalApplication = null;
|
|
|
23525
23594
|
let previousShareId = null;
|
|
23526
23595
|
let previousProjectId = null;
|
|
23527
23596
|
function ArcwareInit({ shareId, projectId }, configuration, forceRefresh = false) {
|
|
23597
|
+
var _a;
|
|
23528
23598
|
if (shareId && !shareId.startsWith("share-"))
|
|
23529
23599
|
throw new Error(`Unexpected shareId-format: '${shareId}'.`);
|
|
23530
23600
|
if (shareId && previousShareId !== shareId) {
|
|
@@ -23564,7 +23634,8 @@ function ArcwareInit({ shareId, projectId }, configuration, forceRefresh = false
|
|
|
23564
23634
|
splashScreenMode: undefined,
|
|
23565
23635
|
splashScreenPosition: undefined,
|
|
23566
23636
|
splashScreenBgColor: undefined
|
|
23567
|
-
} }, configuration === null || configuration === void 0 ? void 0 : configuration.settings)
|
|
23637
|
+
} }, configuration === null || configuration === void 0 ? void 0 : configuration.settings),
|
|
23638
|
+
envName: (_a = configuration === null || configuration === void 0 ? void 0 : configuration.envName) !== null && _a !== void 0 ? _a : undefined
|
|
23568
23639
|
});
|
|
23569
23640
|
const PixelStreaming = new ArcwarePixelStreaming_1.ArcwarePixelStreaming(Config);
|
|
23570
23641
|
const Application = new ArcwareApplication_1.ArcwareApplication({ stream: PixelStreaming });
|
|
@@ -23732,6 +23803,32 @@ class ArcwarePixelStreaming extends lib_pixelstreamingfrontend_ue5_5_1.PixelStre
|
|
|
23732
23803
|
});
|
|
23733
23804
|
// Set override config.
|
|
23734
23805
|
this.config = config;
|
|
23806
|
+
// Re-apply branding whenever config's WL changes
|
|
23807
|
+
this.config.whiteLabellingChanged.add(() => {
|
|
23808
|
+
try {
|
|
23809
|
+
this.applyBrandingFromSettings();
|
|
23810
|
+
}
|
|
23811
|
+
catch (_a) { }
|
|
23812
|
+
});
|
|
23813
|
+
// Kick off WL fetch once (if we have a shareId); on success it will emit and re-apply
|
|
23814
|
+
(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
23815
|
+
try {
|
|
23816
|
+
const sid = this.config.settings.shareId;
|
|
23817
|
+
if (sid) {
|
|
23818
|
+
yield this.config.getWhiteLabelling(sid); // will emit if it changes
|
|
23819
|
+
}
|
|
23820
|
+
}
|
|
23821
|
+
catch (_d) {
|
|
23822
|
+
// ignore
|
|
23823
|
+
}
|
|
23824
|
+
finally {
|
|
23825
|
+
// Make sure we paint with whatever we have initially
|
|
23826
|
+
try {
|
|
23827
|
+
this.applyBrandingFromSettings();
|
|
23828
|
+
}
|
|
23829
|
+
catch (_e) { }
|
|
23830
|
+
}
|
|
23831
|
+
}))();
|
|
23735
23832
|
this.loveLettersList = [];
|
|
23736
23833
|
this.microphoneOverlay = new MicrophoneOverlay_1.MicrophoneOverlay(this);
|
|
23737
23834
|
this.diagnosticsCollector = new DiagnosticsCollector_1.DiagnosticsCollector({
|
|
@@ -23913,7 +24010,7 @@ class ArcwarePixelStreaming extends lib_pixelstreamingfrontend_ue5_5_1.PixelStre
|
|
|
23913
24010
|
});
|
|
23914
24011
|
}
|
|
23915
24012
|
}
|
|
23916
|
-
this.applyBrandingFromSettings();
|
|
24013
|
+
//this.applyBrandingFromSettings();
|
|
23917
24014
|
this.handleMouseLock();
|
|
23918
24015
|
this.injectCustomUI();
|
|
23919
24016
|
}
|
|
@@ -24255,8 +24352,6 @@ class ArcwarePixelStreaming extends lib_pixelstreamingfrontend_ue5_5_1.PixelStre
|
|
|
24255
24352
|
(_a = logoLoader.setHostElement) === null || _a === void 0 ? void 0 : _a.call(logoLoader, loaderRoot);
|
|
24256
24353
|
loveLettersContainer.appendChild(lettersBlock);
|
|
24257
24354
|
lettersBlock.appendChild(lettersWrapper);
|
|
24258
|
-
// apply current (local) settings immediately
|
|
24259
|
-
this.applyBrandingFromSettings();
|
|
24260
24355
|
}
|
|
24261
24356
|
}
|
|
24262
24357
|
pushLetter(letter) {
|
|
@@ -24371,7 +24466,7 @@ class ArcwarePixelStreaming extends lib_pixelstreamingfrontend_ue5_5_1.PixelStre
|
|
|
24371
24466
|
});
|
|
24372
24467
|
}
|
|
24373
24468
|
applyBrandingFromSettings() {
|
|
24374
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
24469
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
24375
24470
|
const cfg = ((_b = (_a = this === null || this === void 0 ? void 0 : this.config) === null || _a === void 0 ? void 0 : _a.settings.whiteLabelling) !== null && _b !== void 0 ? _b : {});
|
|
24376
24471
|
// Loader image + fade
|
|
24377
24472
|
try {
|
|
@@ -24380,25 +24475,36 @@ class ArcwarePixelStreaming extends lib_pixelstreamingfrontend_ue5_5_1.PixelStre
|
|
|
24380
24475
|
(_f = (_e = this.logoLoader).setFade) === null || _f === void 0 ? void 0 : _f.call(_e, cfg.loadingIconFadeMs);
|
|
24381
24476
|
}
|
|
24382
24477
|
}
|
|
24383
|
-
catch (
|
|
24384
|
-
//
|
|
24478
|
+
catch (_q) { }
|
|
24479
|
+
// Pick splash host: loveLettersContainer (preferred) or player parent
|
|
24385
24480
|
try {
|
|
24386
24481
|
const el = (_m = (_g = this.loveLettersContainer) !== null && _g !== void 0 ? _g : (_l = (_k = (_j = (_h = this.webRtcController) === null || _h === void 0 ? void 0 : _h.videoPlayer) === null || _j === void 0 ? void 0 : _j.getVideoParentElement) === null || _k === void 0 ? void 0 : _k.call(_j)) === null || _l === void 0 ? void 0 : _l.parentElement) !== null && _m !== void 0 ? _m : null;
|
|
24387
24482
|
if (!el)
|
|
24388
24483
|
return;
|
|
24389
|
-
// Clear previous inline choices
|
|
24390
24484
|
const s = el.style;
|
|
24485
|
+
// Nuke previous inline styles (longhands only; never touch 'background' shorthand here)
|
|
24391
24486
|
s.removeProperty("background-image");
|
|
24392
24487
|
s.removeProperty("background-size");
|
|
24393
24488
|
s.removeProperty("background-repeat");
|
|
24394
24489
|
s.removeProperty("background-position");
|
|
24395
24490
|
s.removeProperty("background-color");
|
|
24491
|
+
// Also clear any earlier 'background' inline shorthand that might have been set elsewhere
|
|
24492
|
+
// (we set to 'initial' first, then re-apply longhands)
|
|
24493
|
+
s.setProperty("background", "initial");
|
|
24396
24494
|
el.classList.remove("aw-splash");
|
|
24397
|
-
|
|
24398
|
-
|
|
24399
|
-
|
|
24400
|
-
|
|
24401
|
-
|
|
24495
|
+
// If neither color nor image is provided, nothing to do
|
|
24496
|
+
const haveColor = !!cfg.splashScreenBgColor;
|
|
24497
|
+
const haveImage = !!cfg.splashScreenUrl;
|
|
24498
|
+
if (!haveColor && !haveImage)
|
|
24499
|
+
return;
|
|
24500
|
+
// Always ensure our class is present when we brand
|
|
24501
|
+
el.classList.add("aw-splash");
|
|
24502
|
+
// Apply color with !important so external 'background: ... !important' can't wipe it
|
|
24503
|
+
const bgColor = (_o = cfg.splashScreenBgColor) !== null && _o !== void 0 ? _o : "var(--color0)";
|
|
24504
|
+
s.setProperty("background-color", bgColor, "important");
|
|
24505
|
+
if (haveImage) {
|
|
24506
|
+
// Mode → size/repeat mapping
|
|
24507
|
+
const mode = ((_p = cfg.splashScreenMode) !== null && _p !== void 0 ? _p : "contain");
|
|
24402
24508
|
switch (mode) {
|
|
24403
24509
|
case "contain":
|
|
24404
24510
|
s.backgroundSize = "contain";
|
|
@@ -24413,17 +24519,25 @@ class ArcwarePixelStreaming extends lib_pixelstreamingfrontend_ue5_5_1.PixelStre
|
|
|
24413
24519
|
s.backgroundRepeat = "no-repeat";
|
|
24414
24520
|
break;
|
|
24415
24521
|
case "repeat":
|
|
24416
|
-
s.backgroundSize = "auto"; //
|
|
24522
|
+
s.backgroundSize = "auto"; // intrinsic
|
|
24417
24523
|
s.backgroundRepeat = "repeat";
|
|
24418
24524
|
break;
|
|
24419
24525
|
}
|
|
24420
|
-
// Position
|
|
24526
|
+
// Position
|
|
24421
24527
|
s.backgroundPosition = cfg.splashScreenPosition || "center center";
|
|
24422
|
-
|
|
24528
|
+
// Image last (longhand so it won't reset color)
|
|
24529
|
+
// Use quotes to be safe with URLs containing parentheses/spaces
|
|
24423
24530
|
s.backgroundImage = `url("${cfg.splashScreenUrl}")`;
|
|
24424
24531
|
}
|
|
24532
|
+
else {
|
|
24533
|
+
// No image → ensure any previous image is cleared
|
|
24534
|
+
s.backgroundImage = "none";
|
|
24535
|
+
s.backgroundRepeat = "no-repeat";
|
|
24536
|
+
s.backgroundPosition = "center center";
|
|
24537
|
+
s.backgroundSize = "auto";
|
|
24538
|
+
}
|
|
24425
24539
|
}
|
|
24426
|
-
catch (
|
|
24540
|
+
catch (_r) { }
|
|
24427
24541
|
}
|
|
24428
24542
|
}
|
|
24429
24543
|
exports.ArcwarePixelStreaming = ArcwarePixelStreaming;
|
|
@@ -24439,6 +24553,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
|
24439
24553
|
exports.ArcwareSettingsSchema = void 0;
|
|
24440
24554
|
const zod_1 = __webpack_require__(8754);
|
|
24441
24555
|
const shared_pixelstreaming_websdk_1 = __webpack_require__(7910);
|
|
24556
|
+
const ZWhiteLabel_1 = __webpack_require__(467);
|
|
24442
24557
|
/** Arcware Settings. */
|
|
24443
24558
|
exports.ArcwareSettingsSchema = zod_1.z.object({
|
|
24444
24559
|
/** Overwrites the Session-Tool and uses the provided session instead. */
|
|
@@ -24497,7 +24612,7 @@ exports.ArcwareSettingsSchema = zod_1.z.object({
|
|
|
24497
24612
|
.strict()
|
|
24498
24613
|
.optional(),
|
|
24499
24614
|
/** Loader customization */
|
|
24500
|
-
whiteLabelling:
|
|
24615
|
+
whiteLabelling: ZWhiteLabel_1.ZWhiteLabel.optional()
|
|
24501
24616
|
});
|
|
24502
24617
|
|
|
24503
24618
|
|
|
@@ -25288,6 +25403,40 @@ class DiagnosticsCollector {
|
|
|
25288
25403
|
exports.DiagnosticsCollector = DiagnosticsCollector;
|
|
25289
25404
|
|
|
25290
25405
|
|
|
25406
|
+
/***/ }),
|
|
25407
|
+
|
|
25408
|
+
/***/ 467:
|
|
25409
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
25410
|
+
|
|
25411
|
+
|
|
25412
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
25413
|
+
exports.ZWhiteLabel = void 0;
|
|
25414
|
+
const zod_1 = __webpack_require__(8754);
|
|
25415
|
+
/** Absolute HTTPS URL (no http) */
|
|
25416
|
+
const AbsoluteHttpsUrl = zod_1.z
|
|
25417
|
+
.string()
|
|
25418
|
+
.url()
|
|
25419
|
+
.refine((u) => u.startsWith("https://"), { message: "URL must use https://" });
|
|
25420
|
+
/** Relative path (no scheme like http:, data:, javascript:, etc.) */
|
|
25421
|
+
const RelativePath = zod_1.z
|
|
25422
|
+
.string()
|
|
25423
|
+
.min(1)
|
|
25424
|
+
.refine((s) => !/^[a-zA-Z][a-zA-Z0-9+.-]*:/.test(s), { message: "Expected a relative path without a URL scheme" });
|
|
25425
|
+
/** Image URL can be absolute (https) or relative (e.g. /assets/logo.png, ./img.png) */
|
|
25426
|
+
const ImageUrl = zod_1.z.union([AbsoluteHttpsUrl, RelativePath]);
|
|
25427
|
+
/** Strict allowlist for white-label brand fields coming from the URL */
|
|
25428
|
+
exports.ZWhiteLabel = zod_1.z
|
|
25429
|
+
.object({
|
|
25430
|
+
loadingIconUrl: ImageUrl.optional(),
|
|
25431
|
+
loadingIconFadeMs: zod_1.z.number().int().positive().optional(),
|
|
25432
|
+
splashScreenUrl: ImageUrl.optional(),
|
|
25433
|
+
splashScreenMode: zod_1.z.enum(["contain", "cover", "stretch", "repeat"]).optional(),
|
|
25434
|
+
splashScreenPosition: zod_1.z.string().optional(),
|
|
25435
|
+
splashScreenBgColor: zod_1.z.string().optional()
|
|
25436
|
+
})
|
|
25437
|
+
.strict();
|
|
25438
|
+
|
|
25439
|
+
|
|
25291
25440
|
/***/ }),
|
|
25292
25441
|
|
|
25293
25442
|
/***/ 2483:
|
|
@@ -25424,7 +25573,7 @@ exports.waitForElement = waitForElement;
|
|
|
25424
25573
|
|
|
25425
25574
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
25426
25575
|
exports.readWhiteLabelFromQuery = void 0;
|
|
25427
|
-
const
|
|
25576
|
+
const ZWhiteLabel_1 = __webpack_require__(467);
|
|
25428
25577
|
function decodeBase64OrBase64Url(raw) {
|
|
25429
25578
|
const normalized = raw.replace(/-/g, "+").replace(/_/g, "/");
|
|
25430
25579
|
const padded = normalized + "===".slice((normalized.length + 3) % 4);
|
|
@@ -25435,14 +25584,13 @@ function decodeBase64OrBase64Url(raw) {
|
|
|
25435
25584
|
}
|
|
25436
25585
|
/** Parse ?wl=... (or ?whitelabel=...) → validated partial settings */
|
|
25437
25586
|
function readWhiteLabelFromQuery(qs) {
|
|
25438
|
-
var _a;
|
|
25439
25587
|
try {
|
|
25440
|
-
const raw =
|
|
25588
|
+
const raw = qs.get("wl");
|
|
25441
25589
|
if (!raw)
|
|
25442
25590
|
return undefined;
|
|
25443
25591
|
const jsonStr = decodeBase64OrBase64Url(raw);
|
|
25444
25592
|
const obj = JSON.parse(jsonStr);
|
|
25445
|
-
const parsed =
|
|
25593
|
+
const parsed = ZWhiteLabel_1.ZWhiteLabel.safeParse(obj);
|
|
25446
25594
|
if (!parsed.success) {
|
|
25447
25595
|
//console.warn("[ArcwareConfig] Invalid wl payload:", parsed.error?.flatten?.());
|
|
25448
25596
|
return undefined;
|
|
@@ -27156,40 +27304,6 @@ exports.Send = {
|
|
|
27156
27304
|
};
|
|
27157
27305
|
|
|
27158
27306
|
|
|
27159
|
-
/***/ }),
|
|
27160
|
-
|
|
27161
|
-
/***/ 6750:
|
|
27162
|
-
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
27163
|
-
|
|
27164
|
-
|
|
27165
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
27166
|
-
exports.ZWhiteLabel = void 0;
|
|
27167
|
-
const zod_1 = __webpack_require__(8754);
|
|
27168
|
-
/** Absolute HTTPS URL (no http) */
|
|
27169
|
-
const AbsoluteHttpsUrl = zod_1.z
|
|
27170
|
-
.string()
|
|
27171
|
-
.url()
|
|
27172
|
-
.refine((u) => u.startsWith("https://"), { message: "URL must use https://" });
|
|
27173
|
-
/** Relative path (no scheme like http:, data:, javascript:, etc.) */
|
|
27174
|
-
const RelativePath = zod_1.z
|
|
27175
|
-
.string()
|
|
27176
|
-
.min(1)
|
|
27177
|
-
.refine((s) => !/^[a-zA-Z][a-zA-Z0-9+.-]*:/.test(s), { message: "Expected a relative path without a URL scheme" });
|
|
27178
|
-
/** Image URL can be absolute (https) or relative (e.g. /assets/logo.png, ./img.png) */
|
|
27179
|
-
const ImageUrl = zod_1.z.union([AbsoluteHttpsUrl, RelativePath]);
|
|
27180
|
-
/** Strict allowlist for white-label brand fields coming from the URL */
|
|
27181
|
-
exports.ZWhiteLabel = zod_1.z
|
|
27182
|
-
.object({
|
|
27183
|
-
loadingIconUrl: ImageUrl.optional(),
|
|
27184
|
-
loadingIconFadeMs: zod_1.z.number().int().positive().optional(),
|
|
27185
|
-
splashScreenUrl: ImageUrl.optional(),
|
|
27186
|
-
splashScreenMode: zod_1.z.enum(["contain", "cover", "stretch", "repeat"]).optional(),
|
|
27187
|
-
splashScreenPosition: zod_1.z.string().optional(),
|
|
27188
|
-
splashScreenBgColor: zod_1.z.string().optional()
|
|
27189
|
-
})
|
|
27190
|
-
.strict();
|
|
27191
|
-
|
|
27192
|
-
|
|
27193
27307
|
/***/ }),
|
|
27194
27308
|
|
|
27195
27309
|
/***/ 318:
|
|
@@ -27197,10 +27311,8 @@ exports.ZWhiteLabel = zod_1.z
|
|
|
27197
27311
|
|
|
27198
27312
|
|
|
27199
27313
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
27200
|
-
exports.
|
|
27314
|
+
exports.Messages = void 0;
|
|
27201
27315
|
exports.Messages = __webpack_require__(5387);
|
|
27202
|
-
var ZWhiteLabel_1 = __webpack_require__(6750);
|
|
27203
|
-
Object.defineProperty(exports, "ZWhiteLabel", ({ enumerable: true, get: function () { return ZWhiteLabel_1.ZWhiteLabel; } }));
|
|
27204
27316
|
|
|
27205
27317
|
|
|
27206
27318
|
/***/ }),
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arcware-cloud/pixelstreaming-websdk",
|
|
3
3
|
"description": "WebSDK for easy implementation of pixel streaming with Arcware Cloud Services. Heavily based on the '@epicgames-ps' library.",
|
|
4
|
-
"version": "1.3.
|
|
4
|
+
"version": "1.3.16",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"main": "./index.umd.js",
|
|
7
7
|
"module": "./index.umd.js",
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { Config, ConfigParams } from "@epicgames-ps/lib-pixelstreamingfrontend-ue5.5";
|
|
2
2
|
import { Session } from "./domain/Session";
|
|
3
3
|
import { Settings } from "./domain/ArcwareSettingsSchema";
|
|
4
|
+
import { WhiteLabel } from "./features/ZWhiteLabel";
|
|
5
|
+
import { EventHandler } from "./domain/EventHandler";
|
|
4
6
|
/** Default arcware signalling endpoint. */
|
|
5
7
|
export declare const DefaultUrl: "wss://signalling-client.ragnarok.arcware.cloud";
|
|
6
8
|
export interface ArcwareConfigParams extends ConfigParams {
|
|
7
9
|
settings: Settings;
|
|
10
|
+
envName?: string;
|
|
8
11
|
}
|
|
9
12
|
export declare class ArcwareConfig extends Config {
|
|
10
13
|
/**
|
|
@@ -26,8 +29,18 @@ export declare class ArcwareConfig extends Config {
|
|
|
26
29
|
readonly session: Session;
|
|
27
30
|
readonly settings: Settings;
|
|
28
31
|
private _initialSettings;
|
|
29
|
-
readonly VERSION = "1.3.
|
|
32
|
+
readonly VERSION = "1.3.16";
|
|
33
|
+
readonly whiteLabellingChanged: EventHandler<{
|
|
34
|
+
loadingIconUrl?: string;
|
|
35
|
+
loadingIconFadeMs?: number;
|
|
36
|
+
splashScreenUrl?: string;
|
|
37
|
+
splashScreenMode?: "repeat" | "contain" | "cover" | "stretch";
|
|
38
|
+
splashScreenPosition?: string;
|
|
39
|
+
splashScreenBgColor?: string;
|
|
40
|
+
}>;
|
|
41
|
+
private signallingWlURL;
|
|
30
42
|
constructor(config: ArcwareConfigParams);
|
|
43
|
+
getWhiteLabelling(ShareId: string): Promise<WhiteLabel | undefined>;
|
|
31
44
|
/** Setup connection string. */
|
|
32
45
|
get urlFlags(): string;
|
|
33
46
|
get initialSettings(): any;
|
|
@@ -35,7 +35,8 @@ export declare const ArcwareSettingsSchema: z.ZodObject<{
|
|
|
35
35
|
waited: z.ZodOptional<z.ZodNumber>;
|
|
36
36
|
estimatedWaitTime: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
37
37
|
averageWaitTime: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
38
|
-
valueType: z.ZodEnum<["milliseconds", "seconds", "minutes", "hours", "days"]>;
|
|
38
|
+
valueType: z.ZodEnum<["milliseconds", "seconds", "minutes", "hours", "days"]>; /** Handler for love letters.
|
|
39
|
+
* "LoveLetters" are send from backend to the SDK to state what phase the connection currently is in. */
|
|
39
40
|
}, "strip", z.ZodTypeAny, {
|
|
40
41
|
index?: number;
|
|
41
42
|
queueLength?: number;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ZWhiteLabel } from "
|
|
1
|
+
import { ZWhiteLabel } from "./ZWhiteLabel";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
/** Parse ?wl=... (or ?whitelabel=...) → validated partial settings */
|
|
4
4
|
export declare function readWhiteLabelFromQuery(qs: URLSearchParams): Partial<z.infer<typeof ZWhiteLabel>> | undefined;
|