From d2ca3f1918b13b95899154828addc98d40947581 Mon Sep 17 00:00:00 2001 From: Amir Khodak Date: Sun, 7 Jun 2026 02:51:32 +0000 Subject: [PATCH] v1.0.73: auto-upgrade http:// to https:// for WebDAV MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Zahra's sync pair was configured with http://dav.khodak.me. Traefik has a global HTTP->HTTPS redirect, but PROPFIND/PUT/MOVE are not followed through redirects by OkHttp — so every WebDAV operation was getting redirected and silently failing. 1072 logins, 0 actual DAV operations. Silently rewrite http:// to https:// at the provider level so users never need to reconfigure. --- .../com/syncflow/data/providers/webdav/WebDavProvider.kt | 9 ++++++++- version.properties | 4 ++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/src/main/kotlin/com/syncflow/data/providers/webdav/WebDavProvider.kt b/app/src/main/kotlin/com/syncflow/data/providers/webdav/WebDavProvider.kt index 964528a..5d7012c 100644 --- a/app/src/main/kotlin/com/syncflow/data/providers/webdav/WebDavProvider.kt +++ b/app/src/main/kotlin/com/syncflow/data/providers/webdav/WebDavProvider.kt @@ -27,7 +27,14 @@ import java.util.concurrent.TimeUnit open class WebDavProvider(protected val account: CloudAccount) : CloudProvider { protected open val baseUrl: String - get() = account.serverUrl?.trimEnd('/') ?: "" + get() { + val raw = account.serverUrl?.trimEnd('/') ?: "" + // Silently upgrade http:// → https:// so that phone configs saved with + // http:// still work when the server only accepts HTTPS (e.g. behind Traefik + // with a global HTTP→HTTPS redirect). WebDAV methods (PROPFIND, MKCOL, MOVE) + // are not followed through redirects by OkHttp, so they would silently fail. + return if (raw.startsWith("http://")) "https://" + raw.removePrefix("http://") else raw + } protected val client: OkHttpClient by lazy { val creds = Json.parseToJsonElement(account.credentialJson).jsonObject diff --git a/version.properties b/version.properties index 0892f71..5f634f7 100644 --- a/version.properties +++ b/version.properties @@ -1,2 +1,2 @@ -VERSION_NAME=1.0.72 -VERSION_CODE=72 +VERSION_NAME=1.0.73 +VERSION_CODE=73