amir e237555222 fix: biometric retry + sync change detection race condition
Biometric:
- Handle onAuthenticationError with auto-retry (except user cancel)
- Show lock screen with proper UI and an Unlock button as fallback
- Add subtitle clarifying fingerprint/PIN options

Sync engine:
- Fix data race: async coroutines now return FileOutcome instead of
  mutating shared vars/list concurrently (was causing file states to
  not be saved, so every sync re-transferred all files)
- Fix remoteChanged: use || instead of && so either etag or
  modifiedAt change is enough to detect a remote modification

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-22 23:51:24 +00:00

SyncFlow

Native Android file sync app — sync any folder to WebDAV, SFTP, Nextcloud, ownCloud, Google Drive, Dropbox, or OneDrive.

Features

  • Multi-provider — WebDAV, SFTP, SFTPGo, Nextcloud, ownCloud, Google Drive, Dropbox, OneDrive
  • Flexible sync — one-way upload, one-way download, or two-way mirror
  • Auto-sync — schedule by interval or trigger on Wi-Fi connect / device charge
  • Conflict resolution — keep local, keep remote, keep newer, or keep both
  • Secure — credentials encrypted with Android Keystore; biometric app-lock option
  • No cloud dependency — runs fully on-device, no third-party relay

Install

  1. Download SyncFlow.apk from the latest release
  2. On your Android phone: Settings → Apps → Install unknown apps → allow your browser/file manager
  3. Open the downloaded APK and tap Install
  4. Open SyncFlow, go to Accounts tab → Add Account, pick your provider and sign in
  5. Tap + on the Syncs tab to create your first sync pair

Supported Providers

Provider Auth
WebDAV Username + password
SFTP Password or private key
SFTPGo Username + password
Nextcloud Username + password
ownCloud Username + password
Google Drive OAuth 2.0 (PKCE)
Dropbox OAuth 2.0 (PKCE)
OneDrive OAuth 2.0 (PKCE)

Requirements

  • Android 8.0+ (API 26)
  • Storage permission (or SAF picker) for local folder access
S
Description
No description provided
Readme 21 MiB
v1.0.76 Latest
2026-06-07 13:49:59 +00:00
Languages
Kotlin 100%