Repository navigation
v3.15.0
fastf 3.15.0: a quality pass
Nothing about an existing project changes. Every PROJECT_INFO.md,
config.toml and template works untouched, and no command, flag or file format
was removed. --help, the man pages and the shell completions are byte for
byte those of 3.14.0.
This release is a careful read of the whole source by somebody who did not
write it. Most of it changes how the code reads and nothing you can see. What
you can see is below: defects that reading turned up, each fixed with a test
that failed first.
What looks different
Two screens and the reconcile report's wording changed. Everything else looks
as it did.
- Making a template from a folder: the preview now shows its summary line
(2 folders, 1 text file 1 bundled (24.0 KB)), which sat below the fold of
the dialog before, even in a window with rows to spare. - The reconcile report, in the app and from
fastf reconcile, counts in
plain words:1 move finished,1 project was never finished, where it
used to say1 move(s)and1 project(s) were. - What reconcile put right is listed as put right. Files a cloud mount had
left behind, which reconcile moved into their place, used to be reported
under what needs a look, with a⚠verdict and a count in the summary. They
are now listed underrepaired, and a reconcile whose only findings are
repairs ends with✓. The exit status is unchanged. If a script reads
reconcile's output, check it against these words. fastf registeron a folder that already is a project used to print
✓ Project registeredwhen nothing was written. It now saysAlready a project — nothing was written, and names--renameor--applywhen they
were asked for and not carried out. The exit code is unchanged.
Fixed in the app
- A dialog acts on the projects it was opened about. Delete named its
folders as it opened and read the marks again at Enter, so a library reload
landing in between could send the delete to the row under the cursor: a
folder the question never named. Unregister, move, copy, the tag pickers,
the quick note and the todo prompts had the same shape. Each now keeps the
folders it was opened about, and refuses when none of them is left. - A tag or a value made shorter in the pane no longer shows the end of the old
one after it (client/Xcmeforclient/X) until it is saved. - A slow read of one project's details can no longer land in the dialog of a
copy of it with the same ID. - The copy and counter prompts check what you typed before they close, so a
refusal no longer loses the text. - The palette brings a project into view whatever filter hid it; a long folder
is listed in order rather than an arbitrary 200 entries; the picker's
columns line up under double-width names; one mark reads1 mark cleared.
Fixed on the command line
template from-folder's preview and--dry-runcome from the same scan the
run makes, depth limit and refusals included.register --rename's preview reads the counter the way the run does,
register --recursive's preview names the ID the run writes, and options
that rule each other out are refused before anything waits on the lock.config showsays where the editor came from and prints the limit actually
in force.- A value written into
config.tomlby hand is read whatever its case:
on_name_collision = "Error"now means error, where it used to fall back to
suffix. Arecent_limitof zero reads as the default, twenty, rather than
one. fastf applymentions{id}only where the template uses it.- On Windows, paths are shown without the
\\?\prefix everywhere, including
the path a create prints for a shell tocdinto.
Fixed in moves and removals
- What a move copied is written to disk, folder by folder, before the
original is touched. - A base that stopped answering holds no other command up.
- A mount that drops is no longer asked again a thousand times a second, which
filled the log and rotated it away. On a dropped mount the log is now a few
kilobytes where it was megabytes. - Removing a move's record waits for an upload once, about twenty seconds,
where it could take four minutes. - Smaller ones: a case check that cannot be undone stops a copy before it
starts, a removal whose claim could not be written stays under the lock, the
search for a staging name always ends, and a removal's last pause is followed
by one last try. - On Windows the cursor is restored after Ctrl-C by the console's own call.
How it was checked
Every scenario of the 3.14.0 test runs on real mounts (a local disk, sshfs, an
rclone mount of an S3 bucket, and mounts that stall and drop mid-move) was run
again on this release and on 3.14.0 side by side. Twenty-four scenarios, and
the two agree on every outcome, on what is left behind, and on content, modes
and file times. Moves take the same time.
What's Changed
- packaging: bump both AUR packages to 3.14.0-1, and retire PLAN.md by @cristocola in #110
- A quality pass: smaller files, comments that earn their place, and the defects that reading it found by @cristocola in #111
- fastf 3.15.0: a quality pass by @cristocola in #112
Full Changelog: v3.14.0...v3.15.0