Replaced the fragile event-based sidebar refresh with direct function calls: - appState.init() now sets window.appState = this - _reloadAfterAction(), doCreate(), deleteWithUndo() call window.appState.refreshSidebarTree() directly (no DOM event) - Sidebar handlers (drop, deleteWorkspacePage, wsCtxAction, newFolder) call window._wsData._reloadAfterAction() directly (no DOM event) - Removed event listeners for flowdeck:workspace-changed and flowdeck:sidebar-refresh from local_workspace.html This is more reliable than CustomEvent which had timing/scope issues.