amir 1d6a80e43d fix: SAF delete crash, getFileMetadata drop-first, MKCOL before upload
- LocalAccessor.Saf.delete() now uses docIdCache (same as openInputStream)
  and catches IllegalStateException from DocumentsContract.deleteDocument
  instead of propagating it through awaitAll() and crashing the whole sync
- WebDavProvider.getFileMetadata() passes dropFirst=false to parsePropfind
  since Depth:0 returns exactly 1 result (the file); drop(1) was discarding it
- SyncEngine.performSync() calls ensureRemoteDirs() before each upload so
  MKCOL is issued for any missing parent directories (405=exists is success)
- Bump version to 1.0.11 (code 12)

Verified against live Nextcloud: baseline ↑0 ↓0 ✗0, upload detection ↑1 ↓0 ✗0,
download detection ↑0 ↓1 ✗0.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24 01:07:54 +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%