diff options
| author | misskey-release-bot[bot] <157398866+misskey-release-bot[bot]@users.noreply.github.com> | 2025-07-18 00:28:01 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-18 00:28:01 +0000 |
| commit | e86e9b46b3c30391296f04842529f9f8411dcbba (patch) | |
| tree | bbe0f31106c393c1a742183aedd1c39ccdfa39a2 /packages/frontend/src/plugin.ts | |
| parent | Merge pull request #16197 from misskey-dev/develop (diff) | |
| parent | Release: 2025.7.0 (diff) | |
| download | misskey-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.ts | 12 |
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, |