Skip to content

keeper v0.7.0

Choose a tag to compare

@github-actions github-actions released this 05 Sep 13:37
· 21 commits to main since this release

an installed keeper updates itself to this. what keeper depends on did not change, so the update is the 0.40 mb payload rather than a whole download. press the version in the corner, or turn updates on in settings under ?.

a fresh install is below. on a mac:

curl -L -o ~/Downloads/keeper.tar.gz https://github.com/gntrs/keeper/releases/latest/download/keeper-macos-arm64.tar.gz
tar -xzf ~/Downloads/keeper.tar.gz -C /Applications
0.6.3 0.7.0
views shelf, bench shelf, bench, downloads
things that can reach the internet 1, the update check 2, and both ask first
what keeper fetches that is not keeper nothing yt-dlp and spotDL, once, on a yes
update payload 0.36 mb 0.40 mb
dependencies sharp sharp
doctor checks 9 9
runs with the wifi off everything everything except the new tab

what we did not have, and now do

audio off a youtube or spotify link, as an mp3, into a folder you pick. a third tab next to shelf and bench. paste a link, press one button, watch the program's own progress rather than a spinner, and get a reveal button on the file at the end.

a second consent card, written like the first one. the tab does nothing until it is answered. it shows the two addresses it would fetch from rather than a sentence promising they are harmless, the same way the update card shows its own request. say never and it is off and does not ask again. the switch to turn it back on is in settings under ?.

two helper programs, fetched once and kept outside keeper. yt-dlp and spotDL go into bin beside the seat file, not into the install, so a keeper update never throws them away and never has to fetch them again. yt-dlp's bytes are checked against the sha256 its project publishes. spotDL publishes no checksum, so it is verified by running it, and the difference is reported rather than glossed: a claim about a checksum nobody computed is worth less than no claim at all.

spotDL matches, yt-dlp downloads. spotdl download does not work: spotDL 4.5.2 carries a frozen copy of yt-dlp, youtube refuses that copy, and every track fails while still exiting zero. so spotify links are resolved by spotDL to the track they stand for and fetched by keeper's own yt-dlp, which is the half that has to stay current. one downloader, and it is the one keeper keeps up to date.

ffmpeg is found by looking, not by hoping. a mac app launched from its icon gets PATH=/usr/bin:/bin:/usr/sbin:/sbin, which does not have homebrew on it, so the ffmpeg somebody definitely installed was invisible: yt-dlp pulled a whole stream down and then failed to convert it, leaving a webm where an mp3 was asked for. keeper now finds ffmpeg by absolute path, hands the location to yt-dlp, and says so on the form before a link is pasted if it cannot find one anywhere.

what got more expensive

the update payload went from 0.36 mb to 0.40 mb, which is the two new modules and nothing else. no new dependency, so an installed keeper can still swap source files instead of downloading a runtime it already has.

the readme's oldest promise needed rewording. it said one thing here can reach the internet. it now says two, and says which. the wifi test it invites you to run still passes for the shelf, the bench, the tags, the crops and the exports.

a spotify link takes about a minute, most of it spotDL working out which track you mean. a youtube link is about twenty seconds. both measured on a link to a ten minute video.

what we still do not have

none of this has run on windows. not the new tab, not the binary fetch, not the paths. the code names yt-dlp.exe and spotdl.exe and looks in the winget, scoop, chocolatey and program files folders for ffmpeg, and that is reasoning rather than a test. the same caveat has been on every keeper release so far and it is still true.

there is no way to stop a download once it starts. close the tab and it carries on until it finishes.

one track a link. an album or a playlist link is turned down with a note saying so, rather than quietly downloading the first track of eighteen.

ffmpeg still has to be on the machine already. keeper fetches the two downloaders and will not fetch a third thing that large. without it the tab says so and does nothing.

a track spotDL cannot find on youtube cannot be downloaded, because youtube is the only place the audio is actually coming from.