Block a user
A config error that contains "): " loses its start, including which setting is wrong
Keep the whole startup error when it contains "): "
The index cleanup before each backup reports total rows as "remain"
sneak/vaultik#379 labels each bracketed figure in the cleanup summary as the total of its kind left in the local index, with a test that removes the only incomplete…
Label the index cleanup totals as totals
Check quak against a live Ente account
Test
quak backup end to end against a fake of the Ente HTTP API
ID arguments accept
0x10, 1e3, 1.5 and an empty string, and --file drops IDs it cannot read
A backup whose lock is lost dies with a stack trace
quak backup asks the server for changes every 3 seconds for its whole run
quak backup downloads one original at a time
One file or album quak cannot decrypt stops every refresh, so
quak backup stores nothing
Return the context's error when it ends during a fetch request (closes #221)
Reworked per sneak/mfer#222 (comment):
TestGetStopsWaitingWhenCancelednow gets its 503 at once from a transport, waits an hour before the retry, and…
Name each prefix once in restore, verify and purge errors
internal/vaultik/snapshot.go,shallowVerifyError: a failed shallow verify now returns a new error type built from a plain string, added (the PR says) because the linter refuses an error…
Free a cached blob once no file still to restore needs it
Rework:
restore_plan.go:blobNeededis renamedpendingFileUsesBlob, and its comment now says it counts a blob whether or not it is cached; the sweeper calls it by the new name.- Rebased…
Every restore by a non-root user warns that ownership was not preserved, even when it was
Fixed in sneak/vaultik#378: a restore by a normal user now prints the ownership warning only when some entry's recorded owner or group differs from the restoring…
Warn about restored ownership only when an owner differs