SIGN IN SIGN UP

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