From 806ca9f213713496fa7af0b237b9e5d2ca3e00cf Mon Sep 17 00:00:00 2001 From: Vanessa Date: Wed, 3 Dec 2025 19:09:15 +0800 Subject: [PATCH] :art: https://github.com/siyuan-note/siyuan/issues/16485 --- app/src/plugin/index.ts | 5 ++++- app/src/plugin/loader.ts | 3 +++ app/src/plugin/uninstall.ts | 2 ++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/app/src/plugin/index.ts b/app/src/plugin/index.ts index 5511c75ca..d6ec0e268 100644 --- a/app/src/plugin/index.ts +++ b/app/src/plugin/index.ts @@ -4,7 +4,7 @@ import {fetchPost} from "../util/fetch"; import {isMobile, isWindow} from "../util/functions"; /// #if !MOBILE import {Custom} from "../layout/dock/Custom"; -import {getAllModels} from "../layout/getAll"; +import {getAllEditor, getAllModels} from "../layout/getAll"; import {Tab} from "../layout/Tab"; import {resizeTopBar, setPanelFocus} from "../layout/util"; import {getDockByType} from "../layout/tabUtil"; @@ -121,6 +121,9 @@ export class Plugin { uninstall(this.app, this.name, false); loadPlugins(this.app, [this.name], false).then(() => { afterLoadPlugin(this); + getAllEditor().forEach(editor => { + editor.protyle.toolbar.update(editor.protyle); + }); }); } diff --git a/app/src/plugin/loader.ts b/app/src/plugin/loader.ts index fcf296ec2..911a53201 100644 --- a/app/src/plugin/loader.ts +++ b/app/src/plugin/loader.ts @@ -238,6 +238,9 @@ export const reloadPlugin = async (app: App, data: { app.plugins.forEach(item => { if (upsertCodePlugins.includes(item.name)) { afterLoadPlugin(item); + getAllEditor().forEach(editor => { + editor.protyle.toolbar.update(editor.protyle); + }); } }); }); diff --git a/app/src/plugin/uninstall.ts b/app/src/plugin/uninstall.ts index a3a17fde7..5e4b6181e 100644 --- a/app/src/plugin/uninstall.ts +++ b/app/src/plugin/uninstall.ts @@ -51,6 +51,8 @@ export const uninstall = (app: App, name: string, isUninstall: boolean) => { // rm dock const docksKeys = Object.keys(plugin.docks); docksKeys.forEach(key => { + window.siyuan.storage[Constants.LOCAL_PLUGIN_DOCKS][plugin.name][key].show = + !!document.querySelector(`.dock__item[data-type="${key}"]`)?.classList.contains("dock__item--active"); if (Object.keys(window.siyuan.layout.leftDock.data).includes(key)) { window.siyuan.layout.leftDock.remove(key); } else if (Object.keys(window.siyuan.layout.rightDock.data).includes(key)) {