@lvce-editor/renderer-process 30.64.2 → 30.64.4

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.
@@ -1463,32 +1463,47 @@ const createClient = url => {
1463
1463
 
1464
1464
  const commandMapRef = {};
1465
1465
 
1466
- const workers$1 = new Set();
1466
+ const workers$1 = new Map();
1467
1467
  const state$m = {
1468
- generation: 0
1468
+ generation: 0,
1469
+ nextId: 0
1469
1470
  };
1470
1471
  const getGeneration = () => state$m.generation;
1471
- const track = (worker, startedIn = state$m.generation) => {
1472
+ const createRuntimeName = name => {
1473
+ state$m.nextId++;
1474
+ const id = `worker-${state$m.nextId}`;
1475
+ return {
1476
+ id,
1477
+ name,
1478
+ runtimeName: `${name} [${id}]`
1479
+ };
1480
+ };
1481
+ const track = (worker, startedIn = state$m.generation, trackedWorker) => {
1472
1482
  if (startedIn !== state$m.generation) {
1473
1483
  worker.terminate();
1474
1484
  throw new Error('Worker launch canceled by application restart');
1475
1485
  }
1476
- workers$1.add(worker);
1486
+ if (workers$1.has(worker)) {
1487
+ return;
1488
+ }
1489
+ const metadata = trackedWorker || createRuntimeName(worker.name || 'Worker');
1490
+ workers$1.set(worker, metadata);
1477
1491
  };
1478
1492
  const remove$5 = worker => {
1479
1493
  workers$1.delete(worker);
1480
1494
  };
1495
+ const getWorkers$1 = () => workers$1.values().toArray();
1481
1496
  const terminateAll = () => {
1482
1497
  state$m.generation++;
1483
- const retiring = [...workers$1];
1498
+ const retiring = workers$1.keys().toArray();
1484
1499
  workers$1.clear();
1485
1500
  for (const worker of retiring) {
1486
1501
  worker.terminate();
1487
1502
  }
1488
1503
  };
1489
- const trackRpc = (rpc, generation) => {
1504
+ const trackRpc = (rpc, generation, trackedWorker) => {
1490
1505
  const worker = rpc.ipc?._rawIpc;
1491
- if (worker) track(worker, generation);
1506
+ if (worker) track(worker, generation, trackedWorker);
1492
1507
  };
1493
1508
 
1494
1509
  const success = value => {
@@ -1512,13 +1527,14 @@ const launchWorker = async ({
1512
1527
  url
1513
1528
  }) => {
1514
1529
  const generation = getGeneration();
1530
+ const trackedWorker = createRuntimeName(name);
1515
1531
  try {
1516
1532
  const rpc = await create$D({
1517
1533
  commandMap: commandMapRef,
1518
- name,
1534
+ name: trackedWorker.runtimeName,
1519
1535
  url
1520
1536
  });
1521
- trackRpc(rpc, generation);
1537
+ trackRpc(rpc, generation, trackedWorker);
1522
1538
  return success(rpc);
1523
1539
  } catch (error) {
1524
1540
  return error$1(error);
@@ -1930,6 +1946,7 @@ const dragAndDropWorkerUrl = getConfiguredDragAndDropWorkerUrl() || `${assetDir}
1930
1946
 
1931
1947
  const launchDragAndDropWorker = async () => {
1932
1948
  const generation = getGeneration();
1949
+ const trackedWorker = createRuntimeName('Drag And Drop Worker');
1933
1950
  try {
1934
1951
  const {
1935
1952
  port1,
@@ -1937,11 +1954,11 @@ const launchDragAndDropWorker = async () => {
1937
1954
  } = new MessageChannel();
1938
1955
  const workerRpc = await create$C({
1939
1956
  commandMap: {},
1940
- name: 'Drag And Drop Worker',
1957
+ name: trackedWorker.runtimeName,
1941
1958
  port: port1,
1942
1959
  url: dragAndDropWorkerUrl
1943
1960
  });
1944
- trackRpc(workerRpc, generation);
1961
+ trackRpc(workerRpc, generation, trackedWorker);
1945
1962
  const rpc = await create$E({
1946
1963
  commandMap: commandMapRef,
1947
1964
  messagePort: port2
@@ -4227,28 +4244,37 @@ const create$z = async ({
4227
4244
  name,
4228
4245
  url
4229
4246
  }) => {
4247
+ const trackedWorker = createRuntimeName(getWorkerDisplayName(name));
4230
4248
  const worker = new Worker(url, {
4231
- name,
4249
+ name: trackedWorker.runtimeName,
4232
4250
  type: Module
4233
4251
  });
4234
- track(worker);
4235
- // @ts-expect-error
4236
- const {
4237
- event,
4238
- type
4239
- } = await getFirstWorkerEvent(worker);
4240
- switch (type) {
4241
- case Message:
4242
- if (event.data !== 'ready') {
4243
- throw new IpcError('unexpected first message from worker');
4244
- }
4245
- break;
4246
- case Error$3:
4247
- if (isErrorEvent(event)) {
4248
- throw new WorkerError(event);
4249
- }
4250
- const displayName = getWorkerDisplayName(name);
4251
- throw new IpcError(`Failed to start ${displayName}`);
4252
+ track(worker, undefined, trackedWorker);
4253
+ try {
4254
+ // @ts-expect-error
4255
+ const {
4256
+ event,
4257
+ type
4258
+ } = await getFirstWorkerEvent(worker);
4259
+ switch (type) {
4260
+ case Message:
4261
+ if (event.data !== 'ready') {
4262
+ throw new IpcError('unexpected first message from worker');
4263
+ }
4264
+ break;
4265
+ case Error$3:
4266
+ if (isErrorEvent(event)) {
4267
+ throw new WorkerError(event);
4268
+ }
4269
+ const displayName = getWorkerDisplayName(name);
4270
+ throw new IpcError(`Failed to start ${displayName}`);
4271
+ default:
4272
+ break;
4273
+ }
4274
+ } catch (error) {
4275
+ remove$5(worker);
4276
+ worker.terminate();
4277
+ throw error;
4252
4278
  }
4253
4279
  return worker;
4254
4280
  };
@@ -4368,14 +4394,15 @@ const create$w = async ({
4368
4394
  url
4369
4395
  }, createTransferredRpc = create$C, createNativeRpc = create$D) => {
4370
4396
  const generation = getGeneration();
4397
+ const trackedWorker = createRuntimeName(name || 'Worker');
4371
4398
  const rpc = await (rpcId === undefined ? createTransferredRpc({
4372
4399
  commandMap: {},
4373
- name,
4400
+ name: trackedWorker.runtimeName,
4374
4401
  port,
4375
4402
  url
4376
4403
  }) : createNativeRpc({
4377
4404
  commandMap: {},
4378
- name,
4405
+ name: trackedWorker.runtimeName,
4379
4406
  url
4380
4407
  }));
4381
4408
  if (rpcId !== undefined) {
@@ -4384,7 +4411,7 @@ const create$w = async ({
4384
4411
  }
4385
4412
  const worker = rpc.ipc?._rawIpc;
4386
4413
  if (worker) {
4387
- track(worker, generation);
4414
+ track(worker, generation, trackedWorker);
4388
4415
  }
4389
4416
  if (typeof id === 'number' && raw && worker) {
4390
4417
  set$7(id, worker);
@@ -11419,6 +11446,13 @@ const handleMessagePort = async (port, rpcId) => {
11419
11446
  }
11420
11447
  };
11421
11448
 
11449
+ const openUri = uri => {
11450
+ return invoke$1('Main.openUri', uri);
11451
+ };
11452
+ const setUri = uri => {
11453
+ return invoke$1('Workspace.setUri', uri);
11454
+ };
11455
+
11422
11456
  const set = ($Iframe, permissionPolicy) => {
11423
11457
  if (!permissionPolicy) {
11424
11458
  return;
@@ -11730,6 +11764,8 @@ const readMicLevels = options => {
11730
11764
  };
11731
11765
  };
11732
11766
 
11767
+ const getWorkers = getWorkers$1;
11768
+
11733
11769
  const commandMap = {
11734
11770
  'ApplicationHost.fileSaved': fileSaved,
11735
11771
  'Audio.play': play,
@@ -11771,6 +11807,7 @@ const commandMap = {
11771
11807
  'Location.hydrate': hydrate,
11772
11808
  'Location.setPathName': setPathName,
11773
11809
  'Location.setWorkspaceUri': setWorkspaceUri,
11810
+ 'Main.openUri': openUri,
11774
11811
  'MeasureTextBlockHeight.measureTextBlockHeight': measureTextBlockHeight,
11775
11812
  'MeasureTextHeight.measureTextHeight': measureTextHeight,
11776
11813
  'Menu.focusIndex': focusIndex,
@@ -11868,7 +11905,9 @@ const commandMap = {
11868
11905
  'Window.toggleFullScreen': toggleFullScreen,
11869
11906
  'Window.unmaximize': unmaximize,
11870
11907
  'WindowTitle.set': set$1,
11871
- 'Workbench.setModernUi': setModernUi
11908
+ 'Workbench.setModernUi': setModernUi,
11909
+ 'Workers.getWorkers': getWorkers,
11910
+ 'Workspace.setUri': setUri
11872
11911
  };
11873
11912
 
11874
11913
  const RE_AT = /^\s+at/;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/renderer-process",
3
- "version": "30.64.2",
3
+ "version": "30.64.4",
4
4
  "keywords": [
5
5
  "lvce-editor",
6
6
  "renderer-process"