summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/client/init.ts5
-rw-r--r--src/client/pages/preferences/plugins.vue5
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({