Skip to content

Foresight v0.1.0

Choose a tag to compare

@superuser-miguel superuser-miguel released this 21 Jul 18:43
· 56 commits to main since this release
v0.1.0

The first release.

Foresight is a GNOME-native front-end for rsync built around one idea: every sync can be previewed as a grouped change list — created, updated, deleted, attributes-only — before a single byte moves.

It never reimplements rsync. It composes an argv vector, spawns the bundled rsync as a subprocess, and parses its output into structured events. No shell strings are ever built, and the engine version is pinned — the pin is the behaviour contract.

What's in it

  • Dry-run preview as a grouped change list, from a real rsync -a -n -i run
  • Multi-source jobs — files and folders from different locations, with per-item remove and drag and drop
  • Live transfer — progress bar, current-file label, a structured streaming log (one typed row per file and message), and cancel at any time
  • Mirror deletions asks you to confirm the exact list of files it will remove
  • Advanced options — move (--remove-source-files), unit-aware bandwidth limit, excludes, and a free-form extra-arguments field — saveable as presets
  • What Foresight Can Do — an in-app inventory of every rsync flag this build exposes, kept in lockstep with the code by a test, plus the bundled rsync --help

How it ships

Sandboxed, reaching your files only through XDG portals — no --filesystem=home, no blanket host access. rsync 3.4.4 is bundled and version-pinned. No telemetry.

Known limitations

  • Remote sync over SSH has no UI yet. The engine and sandbox are already verified to carry it — only the user@host:/path endpoint is missing.
  • Excludes are a single space-separated field, not a managed list.
  • Updates mean downloading a new bundle; a self-hosted repo for flatpak update is next.

Install

Download Foresight.flatpak and run:

flatpak install --user Foresight.flatpak
flatpak run io.github.superuser_miguel.Foresight

If you don't have the runtime yet: flatpak install flathub org.gnome.Platform//49

The tag v0.1.0 is GPG-signed (key D67DB8E03D50A8C0). The bundle is built offline from that tag against a vendored crate graph.