Skip to content

Zilla-RS 0.2.1

Choose a tag to compare

@zagg zagg released this 23 Oct 08:40
· 12 commits to master since this release

Zilla-RS 0.2.1 — a bug-fix release. Nothing new goes in, the tree navigation in the panes comes back.

What's fixed

  • You can enter a folder by double-clicking it again. The listing endpoint was sending the entry kind as "Dir" while the interface tested e.kind === "dir" — so every folder looked like a file, and a double-click went off to transfer or view instead of walking into the directory. EntryKind now serializes in lowercase (dir, file, symlink, other), with aliases for the old spelling so settings and caches written by earlier versions still load.
  • Folders read as folders again: folder icon, "Directory" in the Type column, empty size, folders first sorting, and a status bar that counts them as folders instead of files.
  • The double-click can no longer miss. Rows were being rebuilt on every plain click, on every websocket hello, and on the 12-second status poll — the second click of a double-click could land on a row that had already been replaced by the time the event fired. Selection now repaints in place, applySettings() re-renders only when something visible actually moved, and rows are resolved by name instead of by row number, with a hit-test fallback.
  • Symlinks are links: the client compared against "link" where the server sends "symlink".
  • Show hidden files (local) reloads the local pane the moment it is saved, instead of waiting for you to navigate.

New in the test suite

tests/kinds.rs pins the wire format (kinds in lowercase, old spelling still readable) so this class of bug cannot come back unnoticed. The manual round-trip — boot the UI, double-click a folder, drill down, come back up, press Enter on a selection — is exercised against a real server in a browser sandbox as well.

Building from source

cargo build --release
target/release/zilla serve

The asset below is a prebuilt x86_64-linux binary (zilla-rs 0.2.1, built with Rust 1.85+): extract and run ./zilla serve.