Move the file explorer into an independent right sidebar - #340
Conversation
|
updating tests |
wingleeio
left a comment
There was a problem hiding this comment.
Reviewed d797a04735bad2650a2dc7df429a38c5fa02c4fe. One low-priority regression is noted inline: activating an empty directory from search leaves the search view open instead of revealing the directory.
Validation: cargo test --locked -p zeron-ui --lib -- --test-threads=1 passed 908/908 on Linux. The real workspace/RPC fixture also passed under X11, covering separate columns, narrow and expanded layouts, file tabs, inactive-chat navigation rejection, external updates with Files hidden, rename/delete handling, and explorer cleanup. A separate test-only probe confirmed the directory-search regression. macOS and Windows runtime behavior was not tested locally.
Screenshots are real application captures, uploaded as GitHub user attachments. The first three use the unmodified PR fixture; the last two extend that fixture with an empty directory and search activation, without changing production behavior.
wingleeio
left a comment
There was a problem hiding this comment.
Re-reviewed f53a33be9188bcf32019ac95116d419f8ab2ec97. No new findings; the previous P3 is fixed.
Repeated the original empty-directory reproduction against the real workspace/RPC: activation now clears search, selects the directory in the visible tree, and opens no editor. Passive editor-tab synchronization still preserves the search query in the regression tests.
Validation: all 909 UI tests passed with cargo test --locked -p zeron-ui --lib -- --test-threads=1. The X11 workspace fixture also passed, including normal/narrow/expanded layouts, chat ownership, external file updates, renames, deletions, and explorer cleanup. macOS and Windows runtime behavior was not tested locally.
Fresh captures from this commit, using a test-only extension of the workspace fixture to reproduce the directory case; production code was unchanged. Images are hosted as GitHub user attachments.
| Scenario | Screenshot |
|---|---|
| Before activating the directory search result | ![]() |
| After activation: search cleared, directory revealed | ![]() |
| Editor and independent explorer — 1400px | ![]() |
| Narrow layout — 1000px | ![]() |
|
The failing macOS CI job needs to be rerun. The preview fixture exited before exercising the UI with |









The workspace explorer now lives in its own right sidebar. Opening a file creates or focuses an editor tab while the tree remains available beside files, diffs, terminals, browser tabs, and subagent transcripts.
The central panel's empty-state selector and
+menu offer only surfaces that open there: Browser, Terminal, Diffs, and History (git entries are shown where available). Files is removed from both menus because the explorer has its own folder button in the topbar. Selecting a file in the tree still opens its editor tab in the central panel.Each chat retains its explorer state, including search, expanded folders, and selection. Switching file tabs reveals the active file without clearing an ongoing search. Editors no longer load hidden trees, and open documents continue receiving filesystem updates when the explorer is closed.
Files and the surface panel always occupy separate columns. The explorer yields preferred width before reducing the chat and editor minima; narrower windows share the available space without overlapping panels. Preferred widths are restored when space returns. Tab headers, resize handles, expanded mode, and animations use the same width allocation, and Files follows the sidebar's theme and frost treatment.
Validation:
cargo test --release --locked -p zeron-ui --lib -- --test-threads=1, 908 passed.cargo check --release --locked -p zeron: passed on Linux, including the final menu cleanup.Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.