diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2023-09-19 17:06:58 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2023-09-19 17:06:58 +0900 |
| commit | 09c00d0a1b49e2194ee4e1227496f603e151845b (patch) | |
| tree | 2d0461582a1e46836c7d570db6cd3d817adb1d79 /packages/frontend/src | |
| parent | cjs (diff) | |
| parent | Scratchpadに非同期のエラーを処理する機能を追加 (#11850) (diff) | |
| download | misskey-09c00d0a1b49e2194ee4e1227496f603e151845b.tar.gz misskey-09c00d0a1b49e2194ee4e1227496f603e151845b.tar.bz2 misskey-09c00d0a1b49e2194ee4e1227496f603e151845b.zip | |
Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop
Diffstat (limited to 'packages/frontend/src')
| -rw-r--r-- | packages/frontend/src/pages/scratchpad.vue | 18 | ||||
| -rw-r--r-- | packages/frontend/src/scripts/aiscript/ui.ts | 26 |
2 files changed, 27 insertions, 17 deletions
diff --git a/packages/frontend/src/pages/scratchpad.vue b/packages/frontend/src/pages/scratchpad.vue index 8d5a29d394..3dfd2d661f 100644 --- a/packages/frontend/src/pages/scratchpad.vue +++ b/packages/frontend/src/pages/scratchpad.vue @@ -109,6 +109,13 @@ async function run() { print: true, }); }, + err: (err) => { + os.alert({ + type: 'error', + title: 'AiScript Error', + text: err.toString(), + }); + }, log: (type, params) => { switch (type) { case 'end': logs.value.push({ @@ -124,20 +131,23 @@ async function run() { let ast; try { ast = parser.parse(code.value); - } catch (error) { + } catch (err: any) { os.alert({ type: 'error', - text: 'Syntax error :(', + title: 'Syntax Error', + text: err.toString(), }); return; } try { await aiscript.exec(ast); } catch (err: any) { + // AiScript runtime errors should be processed by error callback function + // so errors caught here are AiScript's internal errors. os.alert({ type: 'error', - title: 'AiScript Error', - text: err.message, + title: 'Internal Error', + text: err.toString(), }); } } diff --git a/packages/frontend/src/scripts/aiscript/ui.ts b/packages/frontend/src/scripts/aiscript/ui.ts index 7e17563ec8..d326b956e8 100644 --- a/packages/frontend/src/scripts/aiscript/ui.ts +++ b/packages/frontend/src/scripts/aiscript/ui.ts @@ -551,55 +551,55 @@ export function registerAsUiLib(components: Ref<AsUiComponent>[], done: (root: R }), 'Ui:C:container': values.FN_NATIVE(([def, id], opts) => { - return createComponentInstance('container', def, id, getContainerOptions, opts.call); + return createComponentInstance('container', def, id, getContainerOptions, opts.topCall); }), 'Ui:C:text': values.FN_NATIVE(([def, id], opts) => { - return createComponentInstance('text', def, id, getTextOptions, opts.call); + return createComponentInstance('text', def, id, getTextOptions, opts.topCall); }), 'Ui:C:mfm': values.FN_NATIVE(([def, id], opts) => { - return createComponentInstance('mfm', def, id, getMfmOptions, opts.call); + return createComponentInstance('mfm', def, id, getMfmOptions, opts.topCall); }), 'Ui:C:textarea': values.FN_NATIVE(([def, id], opts) => { - return createComponentInstance('textarea', def, id, getTextareaOptions, opts.call); + return createComponentInstance('textarea', def, id, getTextareaOptions, opts.topCall); }), 'Ui:C:textInput': values.FN_NATIVE(([def, id], opts) => { - return createComponentInstance('textInput', def, id, getTextInputOptions, opts.call); + return createComponentInstance('textInput', def, id, getTextInputOptions, opts.topCall); }), 'Ui:C:numberInput': values.FN_NATIVE(([def, id], opts) => { - return createComponentInstance('numberInput', def, id, getNumberInputOptions, opts.call); + return createComponentInstance('numberInput', def, id, getNumberInputOptions, opts.topCall); }), 'Ui:C:button': values.FN_NATIVE(([def, id], opts) => { - return createComponentInstance('button', def, id, getButtonOptions, opts.call); + return createComponentInstance('button', def, id, getButtonOptions, opts.topCall); }), 'Ui:C:buttons': values.FN_NATIVE(([def, id], opts) => { - return createComponentInstance('buttons', def, id, getButtonsOptions, opts.call); + return createComponentInstance('buttons', def, id, getButtonsOptions, opts.topCall); }), 'Ui:C:switch': values.FN_NATIVE(([def, id], opts) => { - return createComponentInstance('switch', def, id, getSwitchOptions, opts.call); + return createComponentInstance('switch', def, id, getSwitchOptions, opts.topCall); }), 'Ui:C:select': values.FN_NATIVE(([def, id], opts) => { - return createComponentInstance('select', def, id, getSelectOptions, opts.call); + return createComponentInstance('select', def, id, getSelectOptions, opts.topCall); }), 'Ui:C:folder': values.FN_NATIVE(([def, id], opts) => { - return createComponentInstance('folder', def, id, getFolderOptions, opts.call); + return createComponentInstance('folder', def, id, getFolderOptions, opts.topCall); }), 'Ui:C:postFormButton': values.FN_NATIVE(([def, id], opts) => { - return createComponentInstance('postFormButton', def, id, getPostFormButtonOptions, opts.call); + return createComponentInstance('postFormButton', def, id, getPostFormButtonOptions, opts.topCall); }), 'Ui:C:postForm': values.FN_NATIVE(([def, id], opts) => { - return createComponentInstance('postForm', def, id, getPostFormOptions, opts.call); + return createComponentInstance('postForm', def, id, getPostFormOptions, opts.topCall); }), }; } |