fix(frontend): Misskeyプラグインをインストールする際のAiScriptバージョンのチェックが0.14.0以降に対応していない問題を修正 (#11729)

* fix: aiscript version check of plugin

* Update CHANGELOG.md

* docs(CHANGELOG): remove 11420 issue link

* fix(frontend): Possibility of exception in non-semver version format
This commit is contained in:
Sayamame-beans 2023-08-18 19:36:05 +09:00 committed by GitHub
parent dd1783f984
commit ba16abb9f3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 1 deletions

View file

@ -32,6 +32,7 @@
- Fix: iOSで画面を回転させるとテキストサイズが変わる問題を修正 - Fix: iOSで画面を回転させるとテキストサイズが変わる問題を修正
- Fix: word mute for sub note is not applied - Fix: word mute for sub note is not applied
- Fix: タイムラインを下にスクロールしてノート画面に移動して再び戻ったら以前のスクロール位置を失う問題を修正 - Fix: タイムラインを下にスクロールしてノート画面に移動して再び戻ったら以前のスクロール位置を失う問題を修正
- Fix: Misskeyプラグインをインストールする際のAiScriptバージョンのチェックが0.14.0以降に対応していない問題を修正
### Server ### Server
- cacheRemoteFilesの初期値はfalseになりました - cacheRemoteFilesの初期値はfalseになりました

View file

@ -19,6 +19,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<script lang="ts" setup> <script lang="ts" setup>
import { defineAsyncComponent, nextTick, ref } from 'vue'; import { defineAsyncComponent, nextTick, ref } from 'vue';
import { compareVersions } from 'compare-versions';
import { Interpreter, Parser, utils } from '@syuilo/aiscript'; import { Interpreter, Parser, utils } from '@syuilo/aiscript';
import { v4 as uuid } from 'uuid'; import { v4 as uuid } from 'uuid';
import MkTextarea from '@/components/MkTextarea.vue'; import MkTextarea from '@/components/MkTextarea.vue';
@ -44,6 +45,14 @@ function installPlugin({ id, meta, src, token }) {
})); }));
} }
function isSupportedAiScriptVersion(version: string): boolean {
try {
return (compareVersions(version, '0.12.0') >= 0);
} catch (err) {
return false;
}
}
async function install() { async function install() {
if (code.value == null) return; if (code.value == null) return;
@ -54,7 +63,7 @@ async function install() {
text: 'No language version annotation found :(', text: 'No language version annotation found :(',
}); });
return; return;
} else if (!(lv.startsWith('0.12.') || lv.startsWith('0.13.'))) { } else if (!isSupportedAiScriptVersion(lv)) {
os.alert({ os.alert({
type: 'error', type: 'error',
text: `aiscript version '${lv}' is not supported :(`, text: `aiscript version '${lv}' is not supported :(`,