From f0dd0b8993a904716fcbc37ff02d81865fa444b1 Mon Sep 17 00:00:00 2001 From: dakkar Date: Sat, 3 Aug 2024 18:04:06 +0100 Subject: [PATCH] revert AiScript hack for plugins aiscript 0.19 should have fixed the problem, and no longer `abort` when an error gets handled (or, in this case, logged) --- packages/frontend/src/plugin.ts | 29 ++++------------------------- 1 file changed, 4 insertions(+), 25 deletions(-) diff --git a/packages/frontend/src/plugin.ts b/packages/frontend/src/plugin.ts index a0a624ace7..81233a5a5e 100644 --- a/packages/frontend/src/plugin.ts +++ b/packages/frontend/src/plugin.ts @@ -28,31 +28,10 @@ export async function install(plugin: Plugin): Promise { }, log: (): void => { }, - /* dakkar 2024-06-20 - - passing an `err` triggers an unwanted side-effect inside the - AiScript Interpreter: - - - the plugin code throws an exception of any kind (in the - specific case that made us look, it was `note.text.split(...)` - on a note with no text) - - - the Interpreter's `handleError` calls `this.abort()` before - calling our `err` - - - from that point on, every evaluation of that Interpreter object - returns null - - - which, at least inside a noteViewInterruptor, causes all notes - to be replaced with a null - - I'm reporting this problem upstream, in the meantime we'll have - to do without error logs - */ - // err: (err): void => { - // pluginLogs.value.get(plugin.id).push(`${err}`); - // throw err; // install時のtry-catchに反応させる - // }, + err: (err): void => { + pluginLogs.value.get(plugin.id).push(`${err}`); + throw err; // install時のtry-catchに反応させる + }, }); initPlugin({ plugin, aiscript });