refactor(surface): drop the deprecated main-tab aliases and dead diagram surface

MainTab/activeMainTab/setActiveMainTab/setMainTabGuard were deprecated
mirrors of the surface names — every call site now uses
activeSurface/setActiveSurface/setSurfaceGuard directly and the aliases
are gone, including the persisted mirror field.

The 'diagram' surface had no way to open it (navigateToDiagram had no
callers except a .drawio attachment click that navigated to a surface
nothing rendered); the surface, DiagramView, and its store plumbing are
removed, and a .drawio attachment now opens in the file panel.

?tab= deep links map to the matching context-panel surface instead of
setting a main-area surface nothing renders, and a persisted non-chat
surface can no longer rehydrate into a blank main area.
This commit is contained in:
Bohdan Triapitsyn
2026-08-24 16:21:05 +03:00
parent 8b7d7803de
commit 4da7604d7d
28 changed files with 151 additions and 285 deletions
+6 -6
View File
@@ -102,7 +102,7 @@ export const useMenuActions = (
const toggleHelpDialog = useUIStore((s) => s.toggleHelpDialog);
const toggleSidebar = useUIStore((s) => s.toggleSidebar);
const setSessionSwitcherOpen = useUIStore((s) => s.setSessionSwitcherOpen);
const setActiveMainTab = useUIStore((s) => s.setActiveMainTab);
const setActiveSurface = useUIStore((s) => s.setActiveSurface);
const setSettingsDialogOpen = useUIStore((s) => s.setSettingsDialogOpen);
const setAboutDialogOpen = useUIStore((s) => s.setAboutDialogOpen);
const checkForUpdates = useUpdateStore((state) => state.checkForUpdates);
@@ -151,10 +151,10 @@ export const useMenuActions = (
const nextSession = sessions[nextIndex];
if (!nextSession) return;
setActiveMainTab('chat');
setActiveSurface('chat');
setSessionSwitcherOpen(false);
useSessionUIStore.getState().setCurrentSession(nextSession.id);
}, [setActiveMainTab, setSessionSwitcherOpen]);
}, [setActiveSurface, setSessionSwitcherOpen]);
const navigateProject = React.useCallback((direction: -1 | 1) => {
const { activeProjectId, projects, setActiveProject } = useProjectsStore.getState();
@@ -191,7 +191,7 @@ export const useMenuActions = (
break;
case 'new-session':
setActiveMainTab('chat');
setActiveSurface('chat');
setSessionSwitcherOpen(false);
{
const sessionState = useSessionUIStore.getState();
@@ -203,7 +203,7 @@ export const useMenuActions = (
break;
case 'new-worktree-session':
setActiveMainTab('chat');
setActiveSurface('chat');
setSessionSwitcherOpen(false);
createWorktreeSession();
break;
@@ -341,7 +341,7 @@ export const useMenuActions = (
onToggleMemoryDebug,
openNewSessionDraft,
setAboutDialogOpen,
setActiveMainTab,
setActiveSurface,
setSessionSwitcherOpen,
setCommandPaletteOpen,
setSettingsDialogOpen,