@lvce-editor/extension-management-worker 4.74.2 → 4.74.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.
|
@@ -2194,7 +2194,7 @@ const createWorker$1 = async (application, info, port, legacy = false, extension
|
|
|
2194
2194
|
throw error;
|
|
2195
2195
|
}
|
|
2196
2196
|
};
|
|
2197
|
-
const fileSystemMethods = new Set(['readFile', 'readDirWithFileTypes', 'stat', 'exists', 'writeFile', 'mkdir', 'remove', 'rename', 'copy', 'getBlob']);
|
|
2197
|
+
const fileSystemMethods = new Set(['readFile', 'readDirWithFileTypes', 'stat', 'exists', 'writeFile', 'mkdir', 'remove', 'rename', 'copy', 'getBlob', 'getFileHashes']);
|
|
2198
2198
|
const createFileSystemPort = async (application, port, extensionId) => {
|
|
2199
2199
|
const services = getServices(application);
|
|
2200
2200
|
const version = extensionId === undefined ? 0 : services.extensionVersions.get(extensionId) || 0;
|
|
@@ -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
|