diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/client/init.ts | 5 | ||||
| -rw-r--r-- | src/client/pages/preferences/plugins.vue | 5 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/client/init.ts b/src/client/init.ts index 134285ca8e..b819a16e5a 100644 --- a/src/client/init.ts +++ b/src/client/init.ts @@ -9,6 +9,8 @@ import PortalVue from 'portal-vue'; import VAnimateCss from 'v-animate-css'; import VueI18n from 'vue-i18n'; import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'; +import { AiScript } from '@syuilo/aiscript'; +import { deserialize } from '@syuilo/aiscript/built/serializer'; import VueHotkey from './scripts/hotkey'; import App from './app.vue'; @@ -26,7 +28,6 @@ import createStore from './store'; import { clientDb, get, count } from './db'; import { setI18nContexts } from './scripts/set-i18n-contexts'; import { createPluginEnv } from './scripts/aiscript/api'; -import { AiScript } from '@syuilo/aiscript'; Vue.use(Vuex); Vue.use(VueHotkey); @@ -267,7 +268,7 @@ os.init(async () => { store.commit('initPlugin', { plugin, aiscript }); - aiscript.exec(plugin.ast); + aiscript.exec(deserialize(plugin.ast)); } if (store.getters.isSignedIn) { diff --git a/src/client/pages/preferences/plugins.vue b/src/client/pages/preferences/plugins.vue index ee0ac3652c..8bd522ddc6 100644 --- a/src/client/pages/preferences/plugins.vue +++ b/src/client/pages/preferences/plugins.vue @@ -42,12 +42,13 @@ <script lang="ts"> import Vue from 'vue'; +import { AiScript, parse } from '@syuilo/aiscript'; +import { serialize } from '@syuilo/aiscript/built/serializer'; import { faPlug, faSave, faTrashAlt, faFolderOpen, faDownload, faCog } from '@fortawesome/free-solid-svg-icons'; import MkButton from '../../components/ui/button.vue'; import MkTextarea from '../../components/ui/textarea.vue'; import MkSelect from '../../components/ui/select.vue'; import MkInfo from '../../components/ui/info.vue'; -import { AiScript, parse } from '@syuilo/aiscript'; export default Vue.extend({ components: { @@ -131,7 +132,7 @@ export default Vue.extend({ id, name, version, author, description, permissions, config }, token, - ast // TODO: astにはMapが含まれることがあり、MapはJSONとしてシリアライズできないのでバグる。どうにかする + ast: serialize(ast) }); this.$root.dialog({ |