feat(files): open transcript file links in a side panel when the workspace is covered
A file badge, markdown link or "view diff" clicked in a transcript opened a workspace file tab. On a full-page workbench route — the task board, the infinite canvas — that column is off screen entirely, so the click did nothing the user could see. Route those clicks to a read-only file viewer beside the transcript instead. For a file it is a VIEW of the same workspace file tab (still opened through openFilePreview, sharing its cache, watcher and markdown/source toggle), so "Open in workspace" is one route switch away from the very tab on show, and markdown links between documents stay in the panel with a back button. A diff carries its own patch text and renders through the file column's own UnifiedDiffPreview. - openFilePreview now resolves with the absolute path it routed to — the tab's identity, which a mirroring surface cannot otherwise reproduce. - The markdown document pipeline moves out of file-workspace-panel into its own module, with the UNC gate derived internally so both surfaces share it. - The panel is hosted by SessionViewerHost, so it stacks on the drawer the transcript itself is in rather than covering it as a sibling. - It stays armed until its tab is in hand: opening it activates the files pane, which is what arms ⌘W, so the tab could be closed out from under it. - It renders whatever the tab holds rather than guessing whether saveState means a failed load or a failed save, and declines files past 512KB / 5000 lines, having no virtualization of its own.
X
xintaofei committed
34966d8a8bd93a86338f6750cafdbfeb1e482a51
Parent: 72f1b59