diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2023-11-17 18:32:42 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-17 18:32:42 +0900 |
| commit | 9784d10c62e294b32cf62b7374bed7ce57a42b9d (patch) | |
| tree | 02a917ca83373cfeb9dc516c07810fdf8f8e5b30 /packages/frontend/src/plugin.ts | |
| parent | Merge pull request #12177 from misskey-dev/develop (diff) | |
| parent | Revert "chore(frontend): tweak rt style for safari" (diff) | |
| download | misskey-9784d10c62e294b32cf62b7374bed7ce57a42b9d.tar.gz misskey-9784d10c62e294b32cf62b7374bed7ce57a42b9d.tar.bz2 misskey-9784d10c62e294b32cf62b7374bed7ce57a42b9d.zip | |
Merge pull request #12330 from misskey-dev/develop
Release: 2023.11.1
Diffstat (limited to 'packages/frontend/src/plugin.ts')
| -rw-r--r-- | packages/frontend/src/plugin.ts | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/packages/frontend/src/plugin.ts b/packages/frontend/src/plugin.ts index 3bc91f6ac4..e24f646a35 100644 --- a/packages/frontend/src/plugin.ts +++ b/packages/frontend/src/plugin.ts @@ -11,10 +11,9 @@ import { Plugin, noteActions, notePostInterruptors, noteViewInterruptors, postFo const parser = new Parser(); const pluginContexts = new Map<string, Interpreter>(); -export function install(plugin: Plugin): void { +export async function install(plugin: Plugin): Promise<void> { // 後方互換性のため if (plugin.src == null) return; - console.info('Plugin installed:', plugin.name, 'v' + plugin.version); const aiscript = new Interpreter(createPluginEnv({ plugin: plugin, @@ -42,7 +41,14 @@ export function install(plugin: Plugin): void { initPlugin({ plugin, aiscript }); - aiscript.exec(parser.parse(plugin.src)); + try { + await aiscript.exec(parser.parse(plugin.src)); + } catch (err) { + console.error('Plugin install failed:', plugin.name, 'v' + plugin.version); + return; + } + + console.info('Plugin installed:', plugin.name, 'v' + plugin.version); } function createPluginEnv(opts: { plugin: Plugin; storageKey: string }): Record<string, values.Value> { |