aboutsummaryrefslogtreecommitdiff
path: root/app/src/test
AgeCommit message (Collapse)AuthorFilesLines
7 daysapp: rename RsyncRunner to RsyncLena1-25/+25
Runner names the architecture rather than the thing. The object is the rsync invocation.
7 daysapp: report config limits instead of crashingLena1-0/+57
The remote and folder counts and the serialized config size are enforced only inside save, which throws. Every other rule an editor can break is reported in the form, so a config that outgrew a limit crashed the activity instead of saying so. overLimit answers before the entry is added, and the editors report the answer. hostKeyAllowed reconstructs the known_hosts address that rsh writes with knownhosts.Normalize, and nothing recorded or tested that coupling. Normalize leaves the host bare on port 22 for IPv6 literals too, so bracketing them here looks right and would reject every IPv6 pin.
14 daysapp: harden backup executionLena4-84/+475
Validate persisted state and destination boundaries, make interruption and mirror deletion explicit, and keep scheduled work singular.
14 daysapp: support multiple named remotesLena2-9/+114
Let each folder select a named SSH endpoint and migrate the published 0.1.x configuration without discarding its folders or host pin.
2026-07-13app: harden sync execution and persisted stateLena1-0/+6
Persist config, key blob, and host pin via AtomicFile so an interrupted write cannot corrupt state. Validate the port, clear the host pin when the remote changes, cap imported key size, time out native helpers, and escalate rsync termination to destroyForcibly. Serialize manual and scheduled syncs behind a mutex. Replace the chained one-time jobs with plain periodic work: it survives reboots without a boot receiver and cannot silently die like a broken chain. Costs the sub-15-minute interval, which photo backup does not need. Document the floor and that syncs run on any unmetered network, not only WiFi.
2026-07-01app: drop --mkpath for compatibility with old remote rsyncsLena1-1/+1
rsync forwards --mkpath to the remote side when sending, so a remote rsync older than 3.2.3 (notably stock macOS, whose openrsync is "rsync 2.6.9 compatible") rejects every sync with "unrecognized option '--mkpath'". rsync creates the final component of the destination path on its own, so flat remote paths keep working everywhere, including the documented rrsync setup whose root is pre-created. Only a nested remote path with missing parents now needs a one-time mkdir -p on the server; the log shows rsync's error when it is missing. Reported-by: jsvk Link: https://codeberg.org/0xlena/rsend/pulls/1
2026-01-01rsend: push phone folders to a home SSH host over rsyncLena2-0/+75
A small Android app for one-way folder backup, a KISS alternative to Syncthing. It bundles rsync (built from pinned source via the NDK) and a pure-Go SSH transport, both shipped in the APK as lib*.so and run from the native library directory. rsend pins the host key, stores the ed25519 identity Keystore-encrypted, pushes each folder additively or as a mirror, and runs on demand or on a WiFi-only schedule. The build is self-contained and reproducible: make setup provisions the toolchain, make builds rsync, rsh, and the APK.