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