diff options
| author | syuilo <4439005+syuilo@users.noreply.github.com> | 2025-08-20 15:57:20 +0900 |
|---|---|---|
| committer | syuilo <4439005+syuilo@users.noreply.github.com> | 2025-08-20 15:57:20 +0900 |
| commit | bdfe70931995e7ec79c2ec399b2a00c095692b21 (patch) | |
| tree | ce51416611ce926a0d171b3a7ffdafcbd7d54f91 /packages/frontend/src/plugin.ts | |
| parent | Bump version to 2025.8.0-beta.1 (diff) | |
| download | misskey-bdfe70931995e7ec79c2ec399b2a00c095692b21.tar.gz misskey-bdfe70931995e7ec79c2ec399b2a00c095692b21.tar.bz2 misskey-bdfe70931995e7ec79c2ec399b2a00c095692b21.zip | |
fix(frontend): 読み込み直後にプラグインによるノートの書き換えが行われない問題を修正
ブート時にプラグインがロードされるまで待機
Fix #16428
Diffstat (limited to 'packages/frontend/src/plugin.ts')
| -rw-r--r-- | packages/frontend/src/plugin.ts | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/packages/frontend/src/plugin.ts b/packages/frontend/src/plugin.ts index 632c913ad7..346e275575 100644 --- a/packages/frontend/src/plugin.ts +++ b/packages/frontend/src/plugin.ts @@ -233,11 +233,13 @@ function addPluginHandler<K extends keyof HandlerDef>(installId: Plugin['install } export function launchPlugins() { - for (const plugin of prefer.s.plugins) { + return Promise.all(prefer.s.plugins.map(plugin => { if (plugin.active) { - launchPlugin(plugin.installId); + return launchPlugin(plugin.installId); + } else { + return Promise.resolve(); } - } + })); } async function launchPlugin(id: Plugin['installId']): Promise<void> { @@ -292,7 +294,7 @@ async function launchPlugin(id: Plugin['installId']): Promise<void> { pluginContexts.set(plugin.installId, aiscript); const parser = await getParser(); - aiscript.exec(parser.parse(plugin.src)).then( + await aiscript.exec(parser.parse(plugin.src)).then( () => { console.info('Plugin installed:', plugin.name, 'v' + plugin.version); systemLog('Plugin started'); |