v0.23.0
filex v0.23.0
Self-hosted file manager — Go single binary + multi-framework frontend.
Download a binary below, or pull a Docker image:
docker pull ghcr.io/brf-tech/filex:slim-v0.23.0
docker pull ghcr.io/brf-tech/filex:full-v0.23.0What changed
Added
-
Availability at a glance. Every row in the desktop explorer carries the
glyph grammar every drive client already taught: ✓ kept on this computer,
◐ holding kept items somewhere below, ⟳ being synced right now, ☁
online-only — so a root listing answers "is anything in here on my disk?"
without drilling in. And while the engine works, a strip along the bottom
of the window names the folder and shows live progress — counts and a
percent bar — parsed by the shell from the same progress lines--quiet
emits, so the CLI output stays the single source of truth. -
Single FILES can be kept on this computer too. The sync engine grew
first-class file pairs (filex sync add --file): same planner, same rules,
same 30-day local trash — the snapshots just carry one entry. The desktop's
menu offers Keep on this computer on files as well; a kept file mirrors
to<root>/<storage>/<path>beside everything else, syncs both ways, and
Open local folder reveals it next to its neighbours instead of launching
it. -
Settings shows the mirror root, and can move it. The root was chosen at
the first keep and then lived nowhere the user could see. A card in
Settings now names it, opens it, and changes it: kept mirrors migrate
(rename + re-pair — the settling pass transfers nothing, and a file pair
stays a file pair), hand-picked pairs outside the root stay put, and only
effectively-empty leftovers are swept, neverrm -rf.
Fixed
-
Moving the filex folder to another drive no longer unpairs what it moves.
The migration removed each pair before relocating its mirror, andrename
cannot cross devices — which is the usual reason to move the root at all — so
a move to a second disk left every folder sitting where it was, no longer
synced, with only a dialog to say so. Cross-device moves are copied across
now, and any failure puts the pair back where its content actually is. A root
inside the current one (or containing it) is refused outright rather than
half-applied, and the sweep afterwards touches only the storage folders the
mirrors emptied — never the root the user chose, and never a folder that was
already there. -
"Keep online only" no longer leaves an empty folder skeleton behind.
The mirror's intermediate directories (created at keep time) are swept
after the local copy moves to the Trash — and a folder holding nothing but
OS litter (.DS_Store,Thumbs.db,desktop.ini) counts as empty, since
Finder plants.DS_Storein any folder the user merely looked at and the
plain-rmdir sweep stopped dead on it. Anything with real content still
stops the walk cold.