@lvce-editor/extension-management-worker 4.74.2 → 4.74.3

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.
@@ -4681,36 +4681,37 @@ const disposeViewOnlyExtensionWorker = async (extensionId, rpc) => {
4681
4681
  }
4682
4682
  await disposeIsolatedExtensionHostWorker(extensionId);
4683
4683
  };
4684
- const getExtensionForView = async (viewId, assetDir, platform) => {
4685
- const extensions = await getAllExtensions(assetDir, platform);
4684
+ const getExtensionForView = async (viewId, assetDir, platform, applicationId) => {
4685
+ const extensions = applicationId === undefined ? await getAllExtensions(assetDir, platform) : await getAllExtensionsWithState(get$7(applicationId), assetDir, platform);
4686
4686
  const extension = extensions.find(extension => isExtensionIsolated(extension) && hasView(extension, viewId));
4687
4687
  if (!extension) {
4688
4688
  throw new Error(`view ${viewId} not found`);
4689
4689
  }
4690
4690
  return extension;
4691
4691
  };
4692
- const getRpcForView = async (viewId, assetDir, platform) => {
4692
+ const getRpcForView = async (viewId, assetDir, platform, applicationId) => {
4693
4693
  const {
4694
4694
  assetDir: resolvedAssetDir,
4695
4695
  platform: resolvedPlatform
4696
4696
  } = await getRuntimeContext(assetDir, platform);
4697
- const extension = await getExtensionForView(viewId, resolvedAssetDir, resolvedPlatform);
4697
+ const extension = await getExtensionForView(viewId, resolvedAssetDir, resolvedPlatform, applicationId);
4698
4698
  const extensionId = getExtensionId$1(extension);
4699
- const existingRpc = get$3(extensionId);
4699
+ const existingRpc = get$3(extensionId, applicationId);
4700
+ // Application teardown and reload own application workers; global view-only disposal does not.
4700
4701
  if (existingRpc) {
4701
4702
  return {
4702
- disposeWorkerWhenLastViewCloses: hasOnlyViewAndCommandActivations(extension),
4703
+ disposeWorkerWhenLastViewCloses: applicationId === undefined && hasOnlyViewAndCommandActivations(extension),
4703
4704
  extensionId,
4704
4705
  rpc: existingRpc
4705
4706
  };
4706
4707
  }
4707
- const activationResult = await activateByEvent(`onView:${viewId}`, resolvedAssetDir, resolvedPlatform);
4708
+ const activationResult = await activateByEvent(`onView:${viewId}`, resolvedAssetDir, resolvedPlatform, get$7(applicationId));
4708
4709
  if (activationResult.error) {
4709
4710
  throw activationResult.error;
4710
4711
  }
4711
4712
  const rpc = await getRpc$1(extension, resolvedAssetDir, resolvedPlatform);
4712
4713
  return {
4713
- disposeWorkerWhenLastViewCloses: hasOnlyViewAndCommandActivations(extension),
4714
+ disposeWorkerWhenLastViewCloses: applicationId === undefined && hasOnlyViewAndCommandActivations(extension),
4714
4715
  extensionId,
4715
4716
  rpc
4716
4717
  };
@@ -4741,13 +4742,13 @@ const getViewMetadata = async (rpc, viewId) => {
4741
4742
  stateful: view?.stateful === true
4742
4743
  };
4743
4744
  };
4744
- const createViewInstance = async (viewId, uid, context, assetDir, platform) => {
4745
+ const createViewInstance = async (viewId, uid, context, assetDir, platform, applicationId) => {
4745
4746
  try {
4746
4747
  const {
4747
4748
  disposeWorkerWhenLastViewCloses,
4748
4749
  extensionId,
4749
4750
  rpc
4750
- } = await getRpcForView(viewId, assetDir, platform);
4751
+ } = await getRpcForView(viewId, assetDir, platform, applicationId);
4751
4752
  const {
4752
4753
  eventListeners,
4753
4754
  stateful
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/extension-management-worker",
3
- "version": "4.74.2",
3
+ "version": "4.74.3",
4
4
  "description": "Webworker for the Extension Management functionality in Lvce Editor.",
5
5
  "keywords": [
6
6
  "web-worker"