mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-09-23 05:16:23 -07:00
fix(dictionary): handle Hachidori extension load failures gracefully
- Catch errors from the Hachidori extension runtime and log them - Clear the extension and session state and return null instead of rejecting
This commit is contained in:
+11
-4
@@ -6620,10 +6620,17 @@ const configuredExternalYomitanProfilePath = yomitanProfilePolicy.externalProfil
|
|||||||
const yomitanExtensionRuntime = createYomitanExtensionRuntime({
|
const yomitanExtensionRuntime = createYomitanExtensionRuntime({
|
||||||
loadYomitanExtensionCore: async (deps) => {
|
loadYomitanExtensionCore: async (deps) => {
|
||||||
if (activeDictionaryBackend === 'yomitan') return loadYomitanExtensionCore(deps);
|
if (activeDictionaryBackend === 'yomitan') return loadYomitanExtensionCore(deps);
|
||||||
const extension = await hachidoriExtensionRuntime.ensureLoaded();
|
try {
|
||||||
deps.setYomitanExtension(extension);
|
const extension = await hachidoriExtensionRuntime.ensureLoaded();
|
||||||
deps.setYomitanSession(getHachidoriSession());
|
deps.setYomitanExtension(extension);
|
||||||
return extension;
|
deps.setYomitanSession(getHachidoriSession());
|
||||||
|
return extension;
|
||||||
|
} catch (error) {
|
||||||
|
logger.error('Failed to load Hachidori extension:', error);
|
||||||
|
deps.setYomitanExtension(null);
|
||||||
|
deps.setYomitanSession(null);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
userDataPath: USER_DATA_PATH,
|
userDataPath: USER_DATA_PATH,
|
||||||
externalProfilePath: configuredExternalYomitanProfilePath,
|
externalProfilePath: configuredExternalYomitanProfilePath,
|
||||||
|
|||||||
Reference in New Issue
Block a user