Skip to content

v0.23.0

Choose a tag to compare

@github-actions github-actions released this 20 Aug 18:39
· 317 commits to main since this release

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.0

What 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, never rm -rf.

Fixed

  • Moving the filex folder to another drive no longer unpairs what it moves.
    The migration removed each pair before relocating its mirror, and rename
    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_Store in 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.

Full changelog entry