@openfin/remote-adapter 40.82.10 → 40.82.12
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/out/remote-adapter.js +242 -53
- package/package.json +2 -2
package/out/remote-adapter.js
CHANGED
|
@@ -525,9 +525,32 @@ var utils$2 = {};
|
|
|
525
525
|
|
|
526
526
|
var PrivateChannelClient$1 = {};
|
|
527
527
|
|
|
528
|
+
var __createBinding = (commonjsGlobal && commonjsGlobal.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
529
|
+
if (k2 === undefined) k2 = k;
|
|
530
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
531
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
532
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
533
|
+
}
|
|
534
|
+
Object.defineProperty(o, k2, desc);
|
|
535
|
+
}) : (function(o, m, k, k2) {
|
|
536
|
+
if (k2 === undefined) k2 = k;
|
|
537
|
+
o[k2] = m[k];
|
|
538
|
+
}));
|
|
539
|
+
var __setModuleDefault = (commonjsGlobal && commonjsGlobal.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
540
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
541
|
+
}) : function(o, v) {
|
|
542
|
+
o["default"] = v;
|
|
543
|
+
});
|
|
544
|
+
var __importStar = (commonjsGlobal && commonjsGlobal.__importStar) || function (mod) {
|
|
545
|
+
if (mod && mod.__esModule) return mod;
|
|
546
|
+
var result = {};
|
|
547
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
548
|
+
__setModuleDefault(result, mod);
|
|
549
|
+
return result;
|
|
550
|
+
};
|
|
528
551
|
Object.defineProperty(PrivateChannelClient$1, "__esModule", { value: true });
|
|
529
552
|
PrivateChannelClient$1.PrivateChannelClient = void 0;
|
|
530
|
-
const utils$1 = utils$3;
|
|
553
|
+
const utils$1 = __importStar(utils$3);
|
|
531
554
|
class PrivateChannelClient {
|
|
532
555
|
constructor(client, id) {
|
|
533
556
|
this.id = id;
|
|
@@ -1678,11 +1701,14 @@ function requireInteropClient () {
|
|
|
1678
1701
|
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");
|
|
1679
1702
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
1680
1703
|
};
|
|
1704
|
+
var __importDefault = (commonjsGlobal && commonjsGlobal.__importDefault) || function (mod) {
|
|
1705
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
1706
|
+
};
|
|
1681
1707
|
var _InteropClient_clientPromise, _InteropClient_sessionContextGroups;
|
|
1682
1708
|
Object.defineProperty(InteropClient, "__esModule", { value: true });
|
|
1683
1709
|
InteropClient.InteropClient = void 0;
|
|
1684
1710
|
const base_1 = base;
|
|
1685
|
-
const SessionContextGroupClient_1 = SessionContextGroupClient$1;
|
|
1711
|
+
const SessionContextGroupClient_1 = __importDefault(SessionContextGroupClient$1);
|
|
1686
1712
|
const fdc3_1_2_1 = requireFdc31_2();
|
|
1687
1713
|
const fdc3_2_0_1 = requireFdc32_0();
|
|
1688
1714
|
const utils_1 = utils$3;
|
|
@@ -2905,11 +2931,14 @@ function requireInteropBroker () {
|
|
|
2905
2931
|
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");
|
|
2906
2932
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
2907
2933
|
};
|
|
2934
|
+
var __importDefault = (commonjsGlobal && commonjsGlobal.__importDefault) || function (mod) {
|
|
2935
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
2936
|
+
};
|
|
2908
2937
|
var _InteropBroker_fdc3Info, _InteropBroker_contextGroups, _InteropBroker_providerPromise;
|
|
2909
2938
|
Object.defineProperty(InteropBroker, "__esModule", { value: true });
|
|
2910
2939
|
InteropBroker.InteropBroker = void 0;
|
|
2911
2940
|
const base_1 = base;
|
|
2912
|
-
const SessionContextGroupBroker_1 = requireSessionContextGroupBroker();
|
|
2941
|
+
const SessionContextGroupBroker_1 = __importDefault(requireSessionContextGroupBroker());
|
|
2913
2942
|
const utils_1 = utils$3;
|
|
2914
2943
|
const lodash_1 = require$$3;
|
|
2915
2944
|
const PrivateChannelProvider_1 = requirePrivateChannelProvider();
|
|
@@ -4404,19 +4433,57 @@ transportErrors.NotImplementedError = NotImplementedError;
|
|
|
4404
4433
|
class NotSupportedError extends Error {
|
|
4405
4434
|
}
|
|
4406
4435
|
transportErrors.NotSupportedError = NotSupportedError;
|
|
4407
|
-
class
|
|
4436
|
+
class DeserializedError extends Error {
|
|
4408
4437
|
constructor(err) {
|
|
4409
4438
|
const { message, name, stack, ...rest } = err;
|
|
4410
4439
|
super(message);
|
|
4440
|
+
if ('cause' in err && err.cause) {
|
|
4441
|
+
this.cause = new DeserializedError(err.cause);
|
|
4442
|
+
}
|
|
4411
4443
|
this.name = name || 'Error';
|
|
4412
4444
|
this.stack = stack ?? this.toString();
|
|
4413
|
-
Object.keys(rest)
|
|
4445
|
+
Object.keys(rest)
|
|
4446
|
+
.filter((k) => k !== 'cause')
|
|
4447
|
+
.forEach((key) => {
|
|
4414
4448
|
this[key] = rest[key];
|
|
4415
4449
|
});
|
|
4416
4450
|
}
|
|
4417
4451
|
}
|
|
4418
4452
|
// For documentation of the error methods being used see here: https://v8.dev/docs/stack-trace-api
|
|
4419
4453
|
class RuntimeError extends Error {
|
|
4454
|
+
static trimEndCallSites(err, takeUntilRegex) {
|
|
4455
|
+
// save original props
|
|
4456
|
+
const length = Error.stackTraceLimit;
|
|
4457
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
4458
|
+
const _prepareStackTrace = Error.prepareStackTrace;
|
|
4459
|
+
// This will be called when we access the `stack` property
|
|
4460
|
+
Error.prepareStackTrace = (_, stack) => stack;
|
|
4461
|
+
// in channel errors, the error was already serialized so we need to handle both string and CallSite[]
|
|
4462
|
+
const isString = typeof err.stack === 'string';
|
|
4463
|
+
const stack = (isString ? err.stack?.split('\n') : err.stack) ?? [];
|
|
4464
|
+
// restore original props
|
|
4465
|
+
Error.prepareStackTrace = _prepareStackTrace;
|
|
4466
|
+
Error.stackTraceLimit = length;
|
|
4467
|
+
// stack is optional in non chromium contexts
|
|
4468
|
+
if (stack.length) {
|
|
4469
|
+
const newStack = [];
|
|
4470
|
+
// remove this call ONLY if it's not a string
|
|
4471
|
+
for (const line of isString ? stack : stack.slice(1)) {
|
|
4472
|
+
// inclusive take until
|
|
4473
|
+
newStack.push(line);
|
|
4474
|
+
if (takeUntilRegex.test(line.toString())) {
|
|
4475
|
+
break;
|
|
4476
|
+
}
|
|
4477
|
+
}
|
|
4478
|
+
if (isString) {
|
|
4479
|
+
// maintain it as a string
|
|
4480
|
+
err.stack = newStack.join('\n');
|
|
4481
|
+
}
|
|
4482
|
+
else {
|
|
4483
|
+
err.stack = RuntimeError.prepareStackTrace(err, newStack);
|
|
4484
|
+
}
|
|
4485
|
+
}
|
|
4486
|
+
}
|
|
4420
4487
|
static getCallSite(callsToRemove = 0) {
|
|
4421
4488
|
const length = Error.stackTraceLimit;
|
|
4422
4489
|
const realCallsToRemove = callsToRemove + 1; // remove this call;
|
|
@@ -4435,21 +4502,82 @@ class RuntimeError extends Error {
|
|
|
4435
4502
|
if (typeof Error.prepareStackTrace === 'function') {
|
|
4436
4503
|
return Error.prepareStackTrace(err, callSites);
|
|
4437
4504
|
}
|
|
4438
|
-
|
|
4439
|
-
|
|
4440
|
-
|
|
4441
|
-
|
|
4442
|
-
|
|
4443
|
-
|
|
4444
|
-
|
|
4445
|
-
|
|
4446
|
-
|
|
4505
|
+
// TODO: this is just a first iteration, we can make this "nicer" at some point
|
|
4506
|
+
// const EXCLUSIONS = ['IpcRenderer', 'Object.onMessage', 'Transport.onmessage', 'MessageReceiver.onmessage'];
|
|
4507
|
+
let stackTrace = `${err.name || 'Error'}: ${err.message || ''}\n`;
|
|
4508
|
+
stackTrace += callSites
|
|
4509
|
+
.map((line) => ` at ${line}`)
|
|
4510
|
+
// .filter((line) => !EXCLUSIONS.some((l) => line.includes(l)))
|
|
4511
|
+
.join('\n');
|
|
4512
|
+
return stackTrace;
|
|
4513
|
+
}
|
|
4514
|
+
/*
|
|
4515
|
+
|
|
4516
|
+
NON filtered stack trace example from MTP page channel-errors.tsx:
|
|
4517
|
+
|
|
4518
|
+
Caused by: ChannelError: Error from ch0
|
|
4519
|
+
at ChannelClient.dispatch (<anonymous>:3:119560)
|
|
4520
|
+
at eval (test-channel-errors.tsx:73:26)
|
|
4521
|
+
at ChannelProvider.processAction (<anonymous>:3:116748)
|
|
4522
|
+
at ChannelProvider.processAction (<anonymous>:3:149121)
|
|
4523
|
+
at MessageReceiver.processChannelMessage (<anonymous>:3:131909)
|
|
4524
|
+
at MessageReceiver.onmessage (<anonymous>:3:131232)
|
|
4525
|
+
at Transport.onmessage (<anonymous>:3:282049)
|
|
4526
|
+
at IpcRenderer.<anonymous> (<anonymous>:3:275150)
|
|
4527
|
+
at IpcRenderer.emit (node:electron/js2c/sandbox_bundle:2:34834)
|
|
4528
|
+
at Object.onMessage (node:electron/js2c/sandbox_bundle:2:51566)
|
|
4529
|
+
Caused by: ChannelError: Error from ch0
|
|
4530
|
+
at ChannelClient.dispatch (<anonymous>:3:119560)
|
|
4531
|
+
at eval (test-channel-errors.tsx:73:26)
|
|
4532
|
+
at ChannelProvider.processAction (<anonymous>:3:116748)
|
|
4533
|
+
at ChannelProvider.processAction (<anonymous>:3:149121)
|
|
4534
|
+
at MessageReceiver.processChannelMessage (<anonymous>:3:131909)
|
|
4535
|
+
at MessageReceiver.onmessage (<anonymous>:3:131232)
|
|
4536
|
+
at Transport.onmessage (<anonymous>:3:282049)
|
|
4537
|
+
at IpcRenderer.<anonymous> (<anonymous>:3:275150)
|
|
4538
|
+
at IpcRenderer.emit (node:electron/js2c/sandbox_bundle:2:34834)
|
|
4539
|
+
at Object.onMessage (node:electron/js2c/sandbox_bundle:2:51566)
|
|
4540
|
+
Caused by: ChannelError: Error from ch0
|
|
4541
|
+
at ChannelClient.dispatch (<anonymous>:3:119560)
|
|
4542
|
+
at eval (test-channel-errors.tsx:73:26)
|
|
4543
|
+
at ChannelProvider.processAction (<anonymous>:3:116748)
|
|
4544
|
+
at ChannelProvider.processAction (<anonymous>:3:149121)
|
|
4545
|
+
at MessageReceiver.processChannelMessage (<anonymous>:3:131909)
|
|
4546
|
+
at MessageReceiver.onmessage (<anonymous>:3:131232)
|
|
4547
|
+
at Transport.onmessage (<anonymous>:3:282049)
|
|
4548
|
+
at IpcRenderer.<anonymous> (<anonymous>:3:275150)
|
|
4549
|
+
at IpcRenderer.emit (node:electron/js2c/sandbox_bundle:2:34834)
|
|
4550
|
+
at Object.onMessage (node:electron/js2c/sandbox_bundle:2:51566)
|
|
4551
|
+
Caused by: ChannelError: Error from ch0
|
|
4552
|
+
at ChannelClient.dispatch (<anonymous>:3:119560)
|
|
4553
|
+
at eval (test-channel-errors.tsx:50:23)
|
|
4554
|
+
at ChannelProvider.processAction (<anonymous>:3:116748)
|
|
4555
|
+
at ChannelProvider.processAction (<anonymous>:3:149121)
|
|
4556
|
+
at MessageReceiver.processChannelMessage (<anonymous>:3:131909)
|
|
4557
|
+
at MessageReceiver.onmessage (<anonymous>:3:131232)
|
|
4558
|
+
at Transport.onmessage (<anonymous>:3:282049)
|
|
4559
|
+
at IpcRenderer.<anonymous> (<anonymous>:3:275150)
|
|
4560
|
+
at IpcRenderer.emit (node:electron/js2c/sandbox_bundle:2:34834)
|
|
4561
|
+
at Object.onMessage (node:electron/js2c/sandbox_bundle:2:51566)
|
|
4562
|
+
Caused by: Error: Error from ch0
|
|
4563
|
+
at eval (test-channel-errors.tsx:54:19)
|
|
4564
|
+
at ChannelProvider.processAction (<anonymous>:3:116748)
|
|
4565
|
+
at ChannelProvider.processAction (<anonymous>:3:149121)
|
|
4566
|
+
at MessageReceiver.processChannelMessage (<anonymous>:3:131909)
|
|
4567
|
+
at MessageReceiver.onmessage (<anonymous>:3:131232)
|
|
4568
|
+
at Transport.onmessage (<anonymous>:3:282049)
|
|
4569
|
+
at IpcRenderer.<anonymous> (<anonymous>:3:275150)
|
|
4570
|
+
at IpcRenderer.emit (node:electron/js2c/sandbox_bundle:2:34834)
|
|
4571
|
+
at Object.onMessage (node:electron/js2c/sandbox_bundle:2:51566)
|
|
4572
|
+
|
|
4573
|
+
|
|
4574
|
+
*/
|
|
4447
4575
|
constructor(payload, callSites) {
|
|
4448
4576
|
const { reason, error } = payload;
|
|
4449
4577
|
super(reason);
|
|
4450
|
-
this.name =
|
|
4578
|
+
this.name = this.constructor.name;
|
|
4451
4579
|
if (error?.stack) {
|
|
4452
|
-
this.cause = new
|
|
4580
|
+
this.cause = new DeserializedError(error);
|
|
4453
4581
|
}
|
|
4454
4582
|
if (callSites) {
|
|
4455
4583
|
this.stack = RuntimeError.prepareStackTrace(this, callSites);
|
|
@@ -4641,7 +4769,9 @@ function requireFactory$2 () {
|
|
|
4641
4769
|
* @experimental
|
|
4642
4770
|
*/
|
|
4643
4771
|
async wrap(identity) {
|
|
4644
|
-
this.wire.sendAction('view-wrap')
|
|
4772
|
+
this.wire.sendAction('view-wrap').catch((e) => {
|
|
4773
|
+
// we do not want to expose this error, just continue if this analytics-only call fails
|
|
4774
|
+
});
|
|
4645
4775
|
const errorMsg = (0, validate_1.validateIdentity)(identity);
|
|
4646
4776
|
if (errorMsg) {
|
|
4647
4777
|
throw new Error(errorMsg);
|
|
@@ -9435,9 +9565,14 @@ function requireInstance () {
|
|
|
9435
9565
|
// don't expose
|
|
9436
9566
|
});
|
|
9437
9567
|
const layoutWindow = await this.getCurrentWindow();
|
|
9568
|
+
let layoutWindowIdentity = layoutWindow.identity;
|
|
9569
|
+
// TODO: CORE-1857 - when we tearout active layout or drag a view out of a window, the above identity includes the whole window info.
|
|
9570
|
+
if (layoutWindowIdentity.identity) {
|
|
9571
|
+
layoutWindowIdentity = layoutWindowIdentity.identity;
|
|
9572
|
+
}
|
|
9438
9573
|
try {
|
|
9439
9574
|
const providerChannelClient = await __classPrivateFieldGet(this, _View_providerChannelClient, "f").getValue();
|
|
9440
|
-
const client = await layout_entities_1.LayoutNode.newLayoutEntitiesClient(providerChannelClient, layout_constants_1.LAYOUT_CONTROLLER_ID,
|
|
9575
|
+
const client = await layout_entities_1.LayoutNode.newLayoutEntitiesClient(providerChannelClient, layout_constants_1.LAYOUT_CONTROLLER_ID, layoutWindowIdentity);
|
|
9441
9576
|
const layoutIdentity = await client.getLayoutIdentityForViewOrThrow(this.identity);
|
|
9442
9577
|
return this.fin.Platform.Layout.wrap(layoutIdentity);
|
|
9443
9578
|
}
|
|
@@ -9450,7 +9585,7 @@ function requireInstance () {
|
|
|
9450
9585
|
throw e;
|
|
9451
9586
|
}
|
|
9452
9587
|
// fallback logic for missing endpoint
|
|
9453
|
-
return this.fin.Platform.Layout.wrap(
|
|
9588
|
+
return this.fin.Platform.Layout.wrap(layoutWindowIdentity);
|
|
9454
9589
|
}
|
|
9455
9590
|
};
|
|
9456
9591
|
/**
|
|
@@ -10167,13 +10302,17 @@ var errors = {};
|
|
|
10167
10302
|
Object.defineProperty(errors, "__esModule", { value: true });
|
|
10168
10303
|
errors.errorToPOJO = void 0;
|
|
10169
10304
|
function errorToPOJO(error) {
|
|
10170
|
-
|
|
10305
|
+
const errorObj = {
|
|
10171
10306
|
stack: error.stack,
|
|
10172
10307
|
name: error.name,
|
|
10173
10308
|
message: error.message,
|
|
10174
10309
|
// support the case where stack is empty or missing
|
|
10175
10310
|
toString: () => error.stack || error.toString()
|
|
10176
10311
|
};
|
|
10312
|
+
if ('cause' in error) {
|
|
10313
|
+
errorObj.cause = errorToPOJO(error.cause);
|
|
10314
|
+
}
|
|
10315
|
+
return errorObj;
|
|
10177
10316
|
}
|
|
10178
10317
|
errors.errorToPOJO = errorToPOJO;
|
|
10179
10318
|
|
|
@@ -10188,15 +10327,18 @@ var __classPrivateFieldGet$b = (commonjsGlobal && commonjsGlobal.__classPrivateF
|
|
|
10188
10327
|
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");
|
|
10189
10328
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
10190
10329
|
};
|
|
10330
|
+
var __importDefault$2 = (commonjsGlobal && commonjsGlobal.__importDefault) || function (mod) {
|
|
10331
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10332
|
+
};
|
|
10191
10333
|
var _Transport_wire, _Transport_fin;
|
|
10192
10334
|
Object.defineProperty(transport, "__esModule", { value: true });
|
|
10193
10335
|
var Transport_1 = transport.Transport = void 0;
|
|
10194
10336
|
const events_1$5 = require$$0;
|
|
10195
10337
|
const wire_1 = wire;
|
|
10196
|
-
const transport_errors_1$
|
|
10197
|
-
const eventAggregator_1 = eventAggregator;
|
|
10338
|
+
const transport_errors_1$6 = transportErrors;
|
|
10339
|
+
const eventAggregator_1 = __importDefault$2(eventAggregator);
|
|
10198
10340
|
const me_1$1 = me;
|
|
10199
|
-
const errors_1$
|
|
10341
|
+
const errors_1$2 = errors;
|
|
10200
10342
|
class Transport extends events_1$5.EventEmitter {
|
|
10201
10343
|
constructor(WireType, environment, config) {
|
|
10202
10344
|
super();
|
|
@@ -10278,7 +10420,7 @@ class Transport extends events_1$5.EventEmitter {
|
|
|
10278
10420
|
type: 'file-token'
|
|
10279
10421
|
}, true);
|
|
10280
10422
|
if (requestExtAuthRet.action !== 'external-authorization-response') {
|
|
10281
|
-
throw new transport_errors_1$
|
|
10423
|
+
throw new transport_errors_1$6.UnexpectedActionError(requestExtAuthRet.action);
|
|
10282
10424
|
}
|
|
10283
10425
|
await this.environment.writeToken(requestExtAuthRet.payload.file, requestExtAuthRet.payload.token);
|
|
10284
10426
|
return this.authorize(reqAuthPayload);
|
|
@@ -10286,10 +10428,10 @@ class Transport extends events_1$5.EventEmitter {
|
|
|
10286
10428
|
async authorize(reqAuthPayload) {
|
|
10287
10429
|
const requestAuthRet = await this.sendAction('request-authorization', reqAuthPayload, true);
|
|
10288
10430
|
if (requestAuthRet.action !== 'authorization-response') {
|
|
10289
|
-
throw new transport_errors_1$
|
|
10431
|
+
throw new transport_errors_1$6.UnexpectedActionError(requestAuthRet.action);
|
|
10290
10432
|
}
|
|
10291
10433
|
else if (requestAuthRet.payload.success !== true) {
|
|
10292
|
-
throw new transport_errors_1$
|
|
10434
|
+
throw new transport_errors_1$6.RuntimeError(requestAuthRet.payload);
|
|
10293
10435
|
}
|
|
10294
10436
|
}
|
|
10295
10437
|
sendAction(action, payload = {}, uncorrelated = false
|
|
@@ -10298,7 +10440,7 @@ class Transport extends events_1$5.EventEmitter {
|
|
|
10298
10440
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
10299
10441
|
let cancel = () => { };
|
|
10300
10442
|
// We want the callsite from the caller of this function, not from here.
|
|
10301
|
-
const callSites = transport_errors_1$
|
|
10443
|
+
const callSites = transport_errors_1$6.RuntimeError.getCallSite(1);
|
|
10302
10444
|
const messageId = this.environment.getNextMessageId();
|
|
10303
10445
|
const prom = new Promise((resolve, reject) => {
|
|
10304
10446
|
cancel = reject;
|
|
@@ -10319,7 +10461,7 @@ class Transport extends events_1$5.EventEmitter {
|
|
|
10319
10461
|
reject(payloadOrMessage);
|
|
10320
10462
|
}
|
|
10321
10463
|
else {
|
|
10322
|
-
reject(new transport_errors_1$
|
|
10464
|
+
reject(new transport_errors_1$6.RuntimeError(payloadOrMessage, callSites));
|
|
10323
10465
|
}
|
|
10324
10466
|
}
|
|
10325
10467
|
ferryAction(origData) {
|
|
@@ -10346,7 +10488,7 @@ class Transport extends events_1$5.EventEmitter {
|
|
|
10346
10488
|
else if (this.wireListeners.has(id)) {
|
|
10347
10489
|
handleNack({
|
|
10348
10490
|
reason: 'Duplicate handler id',
|
|
10349
|
-
error: (0, errors_1$
|
|
10491
|
+
error: (0, errors_1$2.errorToPOJO)(new transport_errors_1$6.DuplicateCorrelationError(String(id)))
|
|
10350
10492
|
});
|
|
10351
10493
|
}
|
|
10352
10494
|
else {
|
|
@@ -10378,7 +10520,7 @@ class Transport extends events_1$5.EventEmitter {
|
|
|
10378
10520
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
10379
10521
|
const { resolve, handleNack } = this.wireListeners.get(id);
|
|
10380
10522
|
if (data.action !== 'ack') {
|
|
10381
|
-
handleNack({ reason: 'Did not receive ack action', error: (0, errors_1$
|
|
10523
|
+
handleNack({ reason: 'Did not receive ack action', error: (0, errors_1$2.errorToPOJO)(new transport_errors_1$6.NoAckError(data.action)) });
|
|
10382
10524
|
}
|
|
10383
10525
|
else if (!('payload' in data)) {
|
|
10384
10526
|
// I'm not sure when this code would actually run, but passing in something that doeesn't have a reason to the runtimeerror constructor will not end well.
|
|
@@ -10388,7 +10530,10 @@ class Transport extends events_1$5.EventEmitter {
|
|
|
10388
10530
|
}
|
|
10389
10531
|
else {
|
|
10390
10532
|
console.warn('Received invalid response from core', data);
|
|
10391
|
-
handleNack({
|
|
10533
|
+
handleNack({
|
|
10534
|
+
reason: 'invalid response shape',
|
|
10535
|
+
error: (0, errors_1$2.errorToPOJO)(new Error('Invalid response shape'))
|
|
10536
|
+
});
|
|
10392
10537
|
}
|
|
10393
10538
|
}
|
|
10394
10539
|
else if (!data.payload.success) {
|
|
@@ -10409,7 +10554,7 @@ var websocket = {};
|
|
|
10409
10554
|
|
|
10410
10555
|
Object.defineProperty(websocket, "__esModule", { value: true });
|
|
10411
10556
|
const events_1$4 = require$$0;
|
|
10412
|
-
const transport_errors_1$
|
|
10557
|
+
const transport_errors_1$5 = transportErrors;
|
|
10413
10558
|
const messageReceiver_1 = bridge.messageReceiver;
|
|
10414
10559
|
/* `READY_STATE` is an instance var set by `constructor` to reference the `WebTransportSocket.READY_STATE` enum.
|
|
10415
10560
|
* This is syntactic sugar that makes the enum accessible through the `wire` property of the various `fin` singletons.
|
|
@@ -10443,14 +10588,14 @@ class WebSocketTransport extends events_1$4.EventEmitter {
|
|
|
10443
10588
|
});
|
|
10444
10589
|
};
|
|
10445
10590
|
this.connectSync = () => {
|
|
10446
|
-
throw new transport_errors_1$
|
|
10591
|
+
throw new transport_errors_1$5.NotImplementedError('Not Implemented');
|
|
10447
10592
|
};
|
|
10448
10593
|
this.onmessage = onmessage;
|
|
10449
10594
|
}
|
|
10450
10595
|
send(data, flags) {
|
|
10451
10596
|
return new Promise((resolve, reject) => {
|
|
10452
10597
|
if (!(0, messageReceiver_1.isOpen)(this.wire)) {
|
|
10453
|
-
reject(new transport_errors_1$
|
|
10598
|
+
reject(new transport_errors_1$5.DisconnectedError(READY_STATE[this.wire.readyState]));
|
|
10454
10599
|
}
|
|
10455
10600
|
else {
|
|
10456
10601
|
// @ts-expect-error
|
|
@@ -10483,7 +10628,7 @@ var system = {};
|
|
|
10483
10628
|
Object.defineProperty(system, "__esModule", { value: true });
|
|
10484
10629
|
system.System = void 0;
|
|
10485
10630
|
const base_1$d = base;
|
|
10486
|
-
const transport_errors_1 = transportErrors;
|
|
10631
|
+
const transport_errors_1$4 = transportErrors;
|
|
10487
10632
|
const window_1 = requireWindow();
|
|
10488
10633
|
const events_1$3 = require$$0;
|
|
10489
10634
|
/**
|
|
@@ -11573,9 +11718,9 @@ class System extends base_1$d.EmitterBase {
|
|
|
11573
11718
|
});
|
|
11574
11719
|
// node.js environment not supported
|
|
11575
11720
|
if (this.wire.environment.type !== 'openfin') {
|
|
11576
|
-
throw new transport_errors_1.NotSupportedError('downloadAsset only supported in an OpenFin Render process');
|
|
11721
|
+
throw new transport_errors_1$4.NotSupportedError('downloadAsset only supported in an OpenFin Render process');
|
|
11577
11722
|
}
|
|
11578
|
-
const callSite = transport_errors_1.RuntimeError.getCallSite();
|
|
11723
|
+
const callSite = transport_errors_1$4.RuntimeError.getCallSite();
|
|
11579
11724
|
const downloadId = this.wire.environment.getNextMessageId().toString();
|
|
11580
11725
|
const dlProgressKey = `asset-download-progress-${downloadId}`;
|
|
11581
11726
|
const dlErrorKey = `asset-download-error-${downloadId}`;
|
|
@@ -11595,7 +11740,7 @@ class System extends base_1$d.EmitterBase {
|
|
|
11595
11740
|
const dlError = (payload) => {
|
|
11596
11741
|
cleanListeners();
|
|
11597
11742
|
const { reason, err: error } = payload;
|
|
11598
|
-
reject(new transport_errors_1.RuntimeError({ reason, error }, callSite));
|
|
11743
|
+
reject(new transport_errors_1$4.RuntimeError({ reason, error }, callSite));
|
|
11599
11744
|
};
|
|
11600
11745
|
const dlComplete = () => {
|
|
11601
11746
|
cleanListeners();
|
|
@@ -11646,11 +11791,11 @@ class System extends base_1$d.EmitterBase {
|
|
|
11646
11791
|
* ```
|
|
11647
11792
|
*/
|
|
11648
11793
|
downloadRuntime(options, progressListener) {
|
|
11649
|
-
const callsites = transport_errors_1.RuntimeError.getCallSite();
|
|
11794
|
+
const callsites = transport_errors_1$4.RuntimeError.getCallSite();
|
|
11650
11795
|
return new Promise((resolve, reject) => {
|
|
11651
11796
|
// node.js environment not supported
|
|
11652
11797
|
if (this.wire.environment.type !== 'openfin') {
|
|
11653
|
-
reject(new transport_errors_1.NotSupportedError('downloadRuntime only supported in an OpenFin Render process'));
|
|
11798
|
+
reject(new transport_errors_1$4.NotSupportedError('downloadRuntime only supported in an OpenFin Render process'));
|
|
11654
11799
|
return;
|
|
11655
11800
|
}
|
|
11656
11801
|
const downloadId = this.wire.environment.getNextMessageId().toString();
|
|
@@ -11672,7 +11817,7 @@ class System extends base_1$d.EmitterBase {
|
|
|
11672
11817
|
const dlError = (payload) => {
|
|
11673
11818
|
cleanListeners();
|
|
11674
11819
|
const { reason, err: error } = payload;
|
|
11675
|
-
reject(new transport_errors_1.RuntimeError({ reason, error }, callsites));
|
|
11820
|
+
reject(new transport_errors_1$4.RuntimeError({ reason, error }, callsites));
|
|
11676
11821
|
};
|
|
11677
11822
|
const dlComplete = () => {
|
|
11678
11823
|
cleanListeners();
|
|
@@ -12407,6 +12552,7 @@ var channel = {};
|
|
|
12407
12552
|
|
|
12408
12553
|
Object.defineProperty(channel, "__esModule", { value: true });
|
|
12409
12554
|
channel.ChannelBase = channel.ProtectedItems = void 0;
|
|
12555
|
+
const transport_errors_1$3 = transportErrors;
|
|
12410
12556
|
const resultOrPayload = (func) => async (topic, payload, senderIdentity) => {
|
|
12411
12557
|
const res = await func(topic, payload, senderIdentity);
|
|
12412
12558
|
return res === undefined ? payload : res;
|
|
@@ -12439,6 +12585,7 @@ class ChannelBase {
|
|
|
12439
12585
|
return this.postAction ? await this.postAction(topic, actionProcessed, senderIdentity) : actionProcessed;
|
|
12440
12586
|
}
|
|
12441
12587
|
catch (e) {
|
|
12588
|
+
transport_errors_1$3.RuntimeError.trimEndCallSites(e, /Channel.*processAction/);
|
|
12442
12589
|
if (this.errorMiddleware) {
|
|
12443
12590
|
return this.errorMiddleware(topic, e, senderIdentity);
|
|
12444
12591
|
}
|
|
@@ -12740,6 +12887,25 @@ class ChannelBase {
|
|
|
12740
12887
|
}
|
|
12741
12888
|
channel.ChannelBase = ChannelBase;
|
|
12742
12889
|
|
|
12890
|
+
var channelError = {};
|
|
12891
|
+
|
|
12892
|
+
Object.defineProperty(channelError, "__esModule", { value: true });
|
|
12893
|
+
channelError.ChannelError = void 0;
|
|
12894
|
+
const transport_errors_1$2 = transportErrors;
|
|
12895
|
+
class ChannelError extends Error {
|
|
12896
|
+
constructor(originalError, action, dispatchPayload, callsites) {
|
|
12897
|
+
super(originalError.message);
|
|
12898
|
+
this.action = action;
|
|
12899
|
+
this.dispatchPayload = dispatchPayload;
|
|
12900
|
+
this.name = this.constructor.name;
|
|
12901
|
+
if ('cause' in originalError && originalError.cause instanceof Error) {
|
|
12902
|
+
this.cause = originalError.cause;
|
|
12903
|
+
}
|
|
12904
|
+
this.stack = transport_errors_1$2.RuntimeError.prepareStackTrace(this, callsites);
|
|
12905
|
+
}
|
|
12906
|
+
}
|
|
12907
|
+
channelError.ChannelError = ChannelError;
|
|
12908
|
+
|
|
12743
12909
|
var __classPrivateFieldGet$a = (commonjsGlobal && commonjsGlobal.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
12744
12910
|
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
12745
12911
|
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");
|
|
@@ -12754,7 +12920,9 @@ var __classPrivateFieldSet$8 = (commonjsGlobal && commonjsGlobal.__classPrivateF
|
|
|
12754
12920
|
var _ChannelClient_protectedObj, _ChannelClient_strategy, _ChannelClient_close;
|
|
12755
12921
|
Object.defineProperty(client, "__esModule", { value: true });
|
|
12756
12922
|
client.ChannelClient = void 0;
|
|
12923
|
+
const transport_errors_1$1 = transportErrors;
|
|
12757
12924
|
const channel_1$1 = channel;
|
|
12925
|
+
const channel_error_1$1 = channelError;
|
|
12758
12926
|
const channelClientsByEndpointId = new Map();
|
|
12759
12927
|
/**
|
|
12760
12928
|
* Instance created to enable use of a channel as a client. Allows for communication with the
|
|
@@ -12856,7 +13024,10 @@ class ChannelClient extends channel_1$1.ChannelBase {
|
|
|
12856
13024
|
*/
|
|
12857
13025
|
async dispatch(action, payload) {
|
|
12858
13026
|
if (__classPrivateFieldGet$a(this, _ChannelClient_strategy, "f").isEndpointConnected(this.providerIdentity.channelId)) {
|
|
12859
|
-
|
|
13027
|
+
const callSites = transport_errors_1$1.RuntimeError.getCallSite();
|
|
13028
|
+
return __classPrivateFieldGet$a(this, _ChannelClient_strategy, "f").send(this.providerIdentity.channelId, action, payload).catch((e) => {
|
|
13029
|
+
throw new channel_error_1$1.ChannelError(e, action, payload, callSites);
|
|
13030
|
+
});
|
|
12860
13031
|
}
|
|
12861
13032
|
throw new Error('The client you are trying to dispatch from is disconnected from the target provider.');
|
|
12862
13033
|
}
|
|
@@ -12971,7 +13142,7 @@ class ClassicStrategy {
|
|
|
12971
13142
|
_ClassicStrategy_endpointIdentityMap.set(this, new Map());
|
|
12972
13143
|
// Store a set of cancellable promises to be able to reject them when client
|
|
12973
13144
|
// connection problems occur
|
|
12974
|
-
_ClassicStrategy_pendingMessagesByEndpointId.set(this, new Map);
|
|
13145
|
+
_ClassicStrategy_pendingMessagesByEndpointId.set(this, new Map());
|
|
12975
13146
|
this.send = async (endpointId, action, payload) => {
|
|
12976
13147
|
const to = __classPrivateFieldGet$9(this, _ClassicStrategy_endpointIdentityMap, "f").get(endpointId);
|
|
12977
13148
|
if (!to) {
|
|
@@ -12985,17 +13156,21 @@ class ClassicStrategy {
|
|
|
12985
13156
|
}
|
|
12986
13157
|
delete cleanId.isLocalEndpointId;
|
|
12987
13158
|
// grab the promise before awaiting it to save in our pending messages map
|
|
12988
|
-
const p = __classPrivateFieldGet$9(this, _ClassicStrategy_wire, "f")
|
|
12989
|
-
.sendAction('send-channel-message', {
|
|
13159
|
+
const p = __classPrivateFieldGet$9(this, _ClassicStrategy_wire, "f").sendAction('send-channel-message', {
|
|
12990
13160
|
...cleanId,
|
|
12991
13161
|
providerIdentity: this.providerIdentity,
|
|
12992
13162
|
action,
|
|
12993
13163
|
payload
|
|
12994
13164
|
});
|
|
12995
13165
|
__classPrivateFieldGet$9(this, _ClassicStrategy_pendingMessagesByEndpointId, "f").get(endpointId)?.add(p);
|
|
12996
|
-
const raw = await p
|
|
13166
|
+
const raw = await p
|
|
13167
|
+
.catch((error) => {
|
|
13168
|
+
if ('cause' in error) {
|
|
13169
|
+
throw error;
|
|
13170
|
+
}
|
|
12997
13171
|
throw new Error(error.message);
|
|
12998
|
-
})
|
|
13172
|
+
})
|
|
13173
|
+
.finally(() => {
|
|
12999
13174
|
// clean up the pending promise
|
|
13000
13175
|
__classPrivateFieldGet$9(this, _ClassicStrategy_pendingMessagesByEndpointId, "f").get(endpointId)?.delete(p);
|
|
13001
13176
|
});
|
|
@@ -13059,7 +13234,7 @@ var _RTCEndpoint_processAction, _RTCEndpoint_disconnectListener;
|
|
|
13059
13234
|
Object.defineProperty(endpoint, "__esModule", { value: true });
|
|
13060
13235
|
endpoint.RTCEndpoint = void 0;
|
|
13061
13236
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
13062
|
-
const errors_1 = errors;
|
|
13237
|
+
const errors_1$1 = errors;
|
|
13063
13238
|
/*
|
|
13064
13239
|
This handles sending RTC messages between RTC connections over the request and response data channels.
|
|
13065
13240
|
*/
|
|
@@ -13148,7 +13323,7 @@ class RTCEndpoint {
|
|
|
13148
13323
|
if (this.rtc.channels.response.readyState === 'open') {
|
|
13149
13324
|
this.rtc.channels.response.send(JSON.stringify({
|
|
13150
13325
|
messageId,
|
|
13151
|
-
error: (0, errors_1.errorToPOJO)(error),
|
|
13326
|
+
error: (0, errors_1$1.errorToPOJO)(error),
|
|
13152
13327
|
success: false
|
|
13153
13328
|
}));
|
|
13154
13329
|
}
|
|
@@ -13464,8 +13639,10 @@ var __classPrivateFieldSet$4 = (commonjsGlobal && commonjsGlobal.__classPrivateF
|
|
|
13464
13639
|
var _ChannelProvider_connections, _ChannelProvider_protectedObj, _ChannelProvider_strategy, _ChannelProvider_removeEndpoint, _ChannelProvider_close;
|
|
13465
13640
|
Object.defineProperty(provider, "__esModule", { value: true });
|
|
13466
13641
|
provider.ChannelProvider = void 0;
|
|
13467
|
-
const
|
|
13642
|
+
const transport_errors_1 = transportErrors;
|
|
13468
13643
|
const runtimeVersioning_1 = runtimeVersioning;
|
|
13644
|
+
const channel_1 = channel;
|
|
13645
|
+
const channel_error_1 = channelError;
|
|
13469
13646
|
/**
|
|
13470
13647
|
* Instance created to enable use of a channel as a provider. Allows for communication with the {@link ChannelClient ChannelClients} by invoking an action on
|
|
13471
13648
|
* a single client via {@link ChannelProvider#dispatch dispatch} or all clients via {@link ChannelProvider#publish publish}
|
|
@@ -13582,7 +13759,10 @@ class ChannelProvider extends channel_1.ChannelBase {
|
|
|
13582
13759
|
dispatch(to, action, payload) {
|
|
13583
13760
|
const endpointId = to.endpointId ?? this.getEndpointIdForOpenFinId(to, action);
|
|
13584
13761
|
if (endpointId && __classPrivateFieldGet$6(this, _ChannelProvider_strategy, "f").isEndpointConnected(endpointId)) {
|
|
13585
|
-
|
|
13762
|
+
const callSites = transport_errors_1.RuntimeError.getCallSite();
|
|
13763
|
+
return __classPrivateFieldGet$6(this, _ChannelProvider_strategy, "f").send(endpointId, action, payload).catch((e) => {
|
|
13764
|
+
throw new channel_error_1.ChannelError(e, action, payload, callSites);
|
|
13765
|
+
});
|
|
13586
13766
|
}
|
|
13587
13767
|
return Promise.reject(new Error(`Client connection with identity uuid: ${to.uuid} / name: ${to.name} / endpointId: ${endpointId} no longer connected.`));
|
|
13588
13768
|
}
|
|
@@ -13795,6 +13975,7 @@ Object.defineProperty(messageReceiver, "__esModule", { value: true });
|
|
|
13795
13975
|
messageReceiver.MessageReceiver = void 0;
|
|
13796
13976
|
const client_1$1 = client;
|
|
13797
13977
|
const base_1$b = base;
|
|
13978
|
+
const errors_1 = errors;
|
|
13798
13979
|
/*
|
|
13799
13980
|
This is a singleton (per fin object) tasked with routing messages coming off the ipc to the correct endpoint.
|
|
13800
13981
|
It needs to be a singleton because there can only be one per wire. It tracks both clients and providers' processAction passed in via the strategy.
|
|
@@ -13823,6 +14004,7 @@ class MessageReceiver extends base_1$b.Base {
|
|
|
13823
14004
|
if (!handler) {
|
|
13824
14005
|
ackToSender.payload.success = false;
|
|
13825
14006
|
ackToSender.payload.reason = `Client connection with identity uuid: ${this.wire.me.uuid} / name: ${this.wire.me.name} / endpointId: ${key} no longer connected.`;
|
|
14007
|
+
ackToSender.payload.error = (0, errors_1.errorToPOJO)(new Error(ackToSender.payload.reason));
|
|
13826
14008
|
return this.wire.sendRaw(ackToSender);
|
|
13827
14009
|
}
|
|
13828
14010
|
try {
|
|
@@ -13834,6 +14016,7 @@ class MessageReceiver extends base_1$b.Base {
|
|
|
13834
14016
|
catch (e) {
|
|
13835
14017
|
ackToSender.payload.success = false;
|
|
13836
14018
|
ackToSender.payload.reason = e.message;
|
|
14019
|
+
ackToSender.payload.error = (0, errors_1.errorToPOJO)(e);
|
|
13837
14020
|
return this.wire.sendRaw(ackToSender);
|
|
13838
14021
|
}
|
|
13839
14022
|
}
|
|
@@ -13978,6 +14161,9 @@ var __classPrivateFieldGet$5 = (commonjsGlobal && commonjsGlobal.__classPrivateF
|
|
|
13978
14161
|
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");
|
|
13979
14162
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
13980
14163
|
};
|
|
14164
|
+
var __importDefault$1 = (commonjsGlobal && commonjsGlobal.__importDefault) || function (mod) {
|
|
14165
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
14166
|
+
};
|
|
13981
14167
|
var _ConnectionManager_messageReceiver, _ConnectionManager_rtcConnectionManager;
|
|
13982
14168
|
Object.defineProperty(connectionManager, "__esModule", { value: true });
|
|
13983
14169
|
connectionManager.ConnectionManager = void 0;
|
|
@@ -13989,7 +14175,7 @@ const ice_manager_1 = iceManager;
|
|
|
13989
14175
|
const provider_1$1 = provider;
|
|
13990
14176
|
const message_receiver_1 = messageReceiver;
|
|
13991
14177
|
const protocol_manager_1 = protocolManager;
|
|
13992
|
-
const strategy_3 = strategy;
|
|
14178
|
+
const strategy_3 = __importDefault$1(strategy);
|
|
13993
14179
|
class ConnectionManager extends base_1$a.Base {
|
|
13994
14180
|
static getProtocolOptionsFromStrings(protocols) {
|
|
13995
14181
|
return protocols.map((protocol) => {
|
|
@@ -17179,12 +17365,15 @@ Fin_1 = fin$1.Fin = Fin;
|
|
|
17179
17365
|
|
|
17180
17366
|
var browser = {};
|
|
17181
17367
|
|
|
17368
|
+
var __importDefault = (commonjsGlobal && commonjsGlobal.__importDefault) || function (mod) {
|
|
17369
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
17370
|
+
};
|
|
17182
17371
|
Object.defineProperty(browser, "__esModule", { value: true });
|
|
17183
17372
|
browser.remoteConnectInterop = browser.remoteConnect = getRemoteConnectionPayload_1 = browser.getRemoteConnectionPayload = void 0;
|
|
17184
17373
|
const fin_1 = fin$1;
|
|
17185
17374
|
const browser_1 = browser$1;
|
|
17186
17375
|
const transport_1 = transport;
|
|
17187
|
-
const websocket_1 = websocket;
|
|
17376
|
+
const websocket_1 = __importDefault(websocket);
|
|
17188
17377
|
async function getRemoteConnectionPayload(fin, uuid = `browser-connection-${Math.random().toString().slice(2)}`, interopProviderId = fin.me.uuid) {
|
|
17189
17378
|
const { token } = await fin.System.registerExternalConnection(uuid);
|
|
17190
17379
|
const { port } = await fin.System.getRuntimeInfo();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openfin/remote-adapter",
|
|
3
|
-
"version": "40.82.
|
|
3
|
+
"version": "40.82.12",
|
|
4
4
|
"description": "Establish intermachine runtime connections using webRTC.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"private": false,
|
|
@@ -19,6 +19,6 @@
|
|
|
19
19
|
"author": "OpenFin",
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"lodash": "^4.17.21",
|
|
22
|
-
"@openfin/core": "40.82.
|
|
22
|
+
"@openfin/core": "40.82.12"
|
|
23
23
|
}
|
|
24
24
|
}
|