Repository navigation
Two fixes from a month of daily use on 1.0, and a newer rsync.
New Job after a remote transfer left a dead window
After syncing to or from another machine, New Job left both remote buttons greyed out and the destination row still reading "Remote folder" — there was no way to start another job without restarting Foresight. The lock that protects the endpoints during a transfer was never lifted after it. Fixed, and the headless checks now hold a real transfer open to prove it stays fixed.
Exclude rules that silently match nothing
This one looked like data loss, and wasn't — but it deserves a plain explanation.
In an rsync filter rule, a leading / means the top of the transfer, not the top of your disk. So with a source folder Photos:
| You type | What happens |
|---|---|
private, private/, /Photos/private |
excluded — stays put |
/home/me/Pictures/Photos/private |
matches nothing |
/private |
matches nothing |
rsync accepts the last two without a word: no warning, exit 0. The folder you meant to keep back transfers like any other — and with Move on, it is then removed from the source. Every file arrives safely at the destination; it just isn't where you believed it was. (Turning on Copy contents swaps which of /Photos/private and /private works, with no change to the rule.)
Foresight now catches this two ways:
- Before anything runs. A rule that cannot match gets a warning on its row saying why, and — when it can tell what you meant — a Fix button with the corrected rule. The collapsed Filter rules row says so too.
- From the dry run. Dry Run now reports what each rule matched — matched 12 paths, or matched nothing — and names any that matched nothing. This also catches a perfectly valid rule that simply matches nothing in this folder.
And with Move on, Start checks first: if an exclude isn't holding anything back, Foresight stops and asks, the same way it already does before mirror deletions.
One limit: when the source is a remote machine, the far end does the filtering and reports nothing back, so only the first check applies there.
rsync 3.5.0
The bundled rsync moves from 3.4.4 to 3.5.0, which fixes 33 security issues — including one in the code path behind Move. Its output formats are unchanged, and because 3.5.0 reworked how rsync walks paths, it was tested inside the sandbox against real document-portal folders before shipping.
Also
- The preset format is untouched — the 1.0 promise holds.
- For contributors:
build-aux/run-dev.shruns a dev build without installing it, so it can't take over a published install.
Upgrading
If you installed from the repository:
flatpak updateOn a bundle install, switch over once and updates come automatically from then on:
flatpak uninstall --user io.github.superuser_miguel.Foresight
flatpak install --user https://superuser-miguel.github.io/foresight-repo/foresight.flatpakref