Skip to content

feat(ui): side pane Files tab with workspace file browser - #34

Merged
tylinux merged 1 commit into
mainfrom
feat/side-pane-file-browser
Oct 15, 2026
Merged

tylinux merged 1 commit into
mainfrom
feat/side-pane-file-browser

Conversation

@tylinux

@tylinux tylinux commented Oct 15, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds a Files entry to the side pane ("Open tab" launcher and the "+" menu) on desktop and web. It opens a singleton files tab that renders the existing WorkspaceFileTree for the current workspace (lazy expansion, search, changed-only filter, git status, context menu).
  • Clicking a file opens it in a code-viewer tab next to the Files tab, so preview supports whatever the code viewer already does: text/code, markdown, images, audio/video, PDF, PPTX. No new preview implementation, service, protocol or persistence.
  • WorkspaceFileTree.onClose is now optional; when absent the "Back to tasks" button is not rendered (it only makes sense in the sidebar overlay).
  • files is a workspace-global tab type (like git / developer-tools): one tab per workspace, visible from every conversation in it; reopening activates the existing tab.

Spec: docs/specs/side-pane-file-browser.md

Test plan

  • pnpm typecheck passes
  • pnpm lint: 0 errors (80 pre-existing warnings)
  • pnpm architecture:check --changed: 0 violations
  • New unit tests (packages/ui/test/sidePaneFilesTab.test.ts, 4 pass): launcher order incl. web without embedded browser, single-tab activation, visibility across conversations. Run with pnpm exec tsx --tsconfig packages/ui/tsconfig.json --test packages/ui/test/sidePaneFilesTab.test.ts
  • Manual web E2E (headless Chrome) against an isolated local server and against https://nex.tylinux.cn: launcher shows Files, tree lists the workspace, no "Back to tasks", clicking a .md opens a rendered code-viewer tab, Files tab stays
  • Desktop (Electron) not exercised
  • No automated E2E scenario added yet (the above was a one-off script)

Note: pnpm fmt:check already fails on 139 files on main; none of the lines changed here are newly flagged.

Add a singleton `files` side-pane tab (launcher + "+" menu) that renders the
existing WorkspaceFileTree for the current workspace on desktop and web.
Clicking a file opens it in a code-viewer tab, so previews cover everything
the code viewer already supports (text/code, markdown, images, media, PDF,
PPTX).

WorkspaceFileTree.onClose is now optional; without it the "Back to tasks"
button is not rendered, since an embedded tab has nothing to go back to.

Spec: docs/specs/side-pane-file-browser.md
@tylinux
tylinux merged commit 6631622 into main Oct 15, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant