aboutsummaryrefslogtreecommitdiff
path: root/app/build.gradle
AgeCommit message (Collapse)AuthorFilesLines
7 daysapp: release 0.2.1HEAD0.2.1masterLena1-2/+2
Advance the version once from the released 0.2.0 base and publish the matching changelog. No transfer, protocol or storage behaviour changed, so the store description stands. The dashboard screenshot prints BuildConfig.VERSION_NAME, so it is the one store image a version bump invalidates. Recaptured on the same 1080x2400 profile with the same demo state.
7 daysdoc: correct drift and move the build notes to the rootLena1-3/+3
The Rsync comment about draining a hostile remote's pipe sat on the Tally type, where it means nothing; it describes boundedLines. Scheduler explained itself with what happened during development instead of the constraint that WorkManager persists unique names across upgrades, and MainActivity and SyncLog did the same. Keys pointed at a pin() that does not exist. The App header restated the class name and omitted half of what onCreate does. OUT_FORMAT had no caller outside its file. The README layout list omitted fastlane. The e2e test hardcodes a copy of the app's rsync vector with nothing saying so. useradd already writes a locked password field, so "skip passwd -l" does not leave a non-locked one and key auth is still refused; verified against sshd with UsePAM no. The CI file also runs verify-repro on a tag, and the NDK and build-tools are pinned by revision and verified against Google's manifest rather than a checksum this repository owns, which the reproducibility notes claimed for every input. metadata/ held one document and nothing else, and reads as a store metadata directory beside fastlane/metadata. Root, extensionless, beside THIRD_PARTY.
14 daysapp: release 0.2.00.2.0Lena1-2/+2
Document the multi-remote release, publish matching store metadata, and advance the version once from the released 0.1.3 base.
14 daysbuild: pin and verify release inputsLena1-3/+33
Support Alpine/musl and Debian/glibc hosts, lock downloaded and Gradle artifacts, and verify native and APK security properties.
2026-07-01app: release 0.1.30.1.3Lena1-2/+2
versionCode 4. Bound the SSH handshake so a stalled server cannot hang a sync. Persist config, key, and host pin atomically so an interrupted write cannot corrupt state. Replace the chained one-time jobs with periodic work that survives reboots; the schedule floor is now WorkManager's 15-minute minimum.
2026-07-13ci: pin toolchains and verify release artifactsLena1-0/+1
Checksum-pin every downloaded toolchain archive. Before publishing, verify the APK was built from HEAD, the tag matches versionName, apksigner passes, and the tree is clean; publish a sha256 sidecar and treat published assets as immutable. Compare full unsigned APKs in verify-repro and run the Android unit tests in CI.
2026-07-01app: release 0.1.20.1.2Lena1-2/+2
versionCode 3. Drop --mkpath so remotes with an rsync older than 3.2.3 (stock macOS included) can receive syncs; rsync still creates the final remote path component on its own. NDK host toolchain detection so the native build also runs on macOS hosts.
2026-07-01app: release 0.1.10.1.1Lena1-2/+2
versionCode 2. Empty-path and config-corruption fixes, rsync process cleanup on stopped syncs, keygen error reporting, and the store icon.
2026-01-01rsend: push phone folders to a home SSH host over rsyncLena1-0/+88
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.