summaryrefslogtreecommitdiff
path: root/packages/frontend/src/plugin.ts
diff options
context:
space:
mode:
authormisskey-release-bot[bot] <157398866+misskey-release-bot[bot]@users.noreply.github.com>2025-07-18 00:28:01 +0000
committerGitHub <noreply@github.com>2025-07-18 00:28:01 +0000
commite86e9b46b3c30391296f04842529f9f8411dcbba (patch)
treebbe0f31106c393c1a742183aedd1c39ccdfa39a2 /packages/frontend/src/plugin.ts
parentMerge pull request #16197 from misskey-dev/develop (diff)
parentRelease: 2025.7.0 (diff)
downloadmisskey-e86e9b46b3c30391296f04842529f9f8411dcbba.tar.gz
misskey-e86e9b46b3c30391296f04842529f9f8411dcbba.tar.bz2
misskey-e86e9b46b3c30391296f04842529f9f8411dcbba.zip
Merge pull request #16244 from misskey-dev/develop
Release: 2025.7.0
Diffstat (limited to 'packages/frontend/src/plugin.ts')
-rw-r--r--packages/frontend/src/plugin.ts12
1 files changed, 10 insertions, 2 deletions
diff --git a/packages/frontend/src/plugin.ts b/packages/frontend/src/plugin.ts
index 68bc191924..d6007a27ed 100644
--- a/packages/frontend/src/plugin.ts
+++ b/packages/frontend/src/plugin.ts
@@ -14,12 +14,13 @@ import * as os from '@/os.js';
import { misskeyApi } from '@/utility/misskey-api.js';
import { i18n } from '@/i18n.js';
import { prefer } from '@/preferences.js';
+import type { FormWithDefault } from '@/utility/form.js';
export type Plugin = {
installId: string;
name: string;
active: boolean;
- config?: Record<string, { default: any }>;
+ config?: FormWithDefault;
configData: Record<string, any>;
src: string | null;
version: string;
@@ -155,6 +156,13 @@ export async function installPlugin(code: string, meta?: AiScriptPluginMeta) {
export async function uninstallPlugin(plugin: Plugin) {
abortPlugin(plugin);
prefer.commit('plugins', prefer.s.plugins.filter(x => x.installId !== plugin.installId));
+
+ Object.keys(window.localStorage).forEach(key => {
+ if (key.startsWith('aiscript:plugins:' + plugin.installId)) {
+ window.localStorage.removeItem(key);
+ }
+ });
+
if (Object.hasOwn(store.s.pluginTokens, plugin.installId)) {
await os.apiWithDialog('i/revoke-token', {
token: store.s.pluginTokens[plugin.installId],
@@ -233,7 +241,7 @@ async function launchPlugin(id: Plugin['installId']): Promise<void> {
pluginLogs.value.set(plugin.installId, []);
function systemLog(message: string, isError = false): void {
- pluginLogs.value.get(plugin.installId)?.push({
+ pluginLogs.value.get(plugin!.installId)?.push({
at: Date.now(),
isSystem: true,
message,