Android WebDAV sync fails: mutation fence response exceeds 4096 byte download limit
If this is mainly a sync/data integrity problem, please use the Sync / Data Issue template for faster triage.
💻 Platform
🧭 Affected Area
ℹ️ Environment
- App Version: v1.2.5 (Desktop and Android)
- Install Channel: Android: Play Store
- OS Version: Android 16; Desktop: Arch Linux
- Device: Android phone
- Sync Backend: WebDAV
- WebDAV Provider: mailbox.org (Open-Xchange WebDAV)
🚨 Impact
📝 Description
WebDAV sync works correctly with Mindwtr Desktop v1.2.5, but fails on Android v1.2.5 when using the same WebDAV server and remote data.json.
The WebDAV connection test on Android succeeds, but attempting an actual sync fails immediately. The Android app continues to show "Never synced".
Debug logging reports:
Remote sync mutation fence acquisition failed: Response exceeds the 4096 byte download limit
The remote data.json is currently 20,860 bytes.
The WebDAV server itself appears to behave correctly. A normal GET returns the complete file with HTTP 200, and a manually tested 4096-byte HTTP Range request returns exactly 4096 bytes with HTTP 206.
🔄 Steps to Reproduce (REQUIRED)
- Configure a mailbox.org WebDAV directory as the sync backend in Mindwtr Desktop v1.2.5.
- Sync successfully from Desktop, creating/updating
data.json on the WebDAV server.
- Configure the same WebDAV directory and credentials in Mindwtr Android v1.2.5.
- Test the WebDAV connection on Android. The connection test succeeds.
- Start Sync on Android.
- Sync fails and the app remains at "Never synced".
- Enable debug logging and repeat the sync.
- The log reports:
Remote sync mutation fence acquisition failed: Response exceeds the 4096 byte download limit
The same problem also occurs when using a dedicated WebDAV subdirectory containing only the Mindwtr sync data.
🎯 Expected Behavior
Mindwtr Android should successfully synchronize the same WebDAV data.json that Mindwtr Desktop v1.2.5 can synchronize.
A remote data.json larger than 4096 bytes should not cause mutation fence acquisition to fail.
🧪 Regression?
📸 Screenshots / Logs
Relevant Android debug log:
{"ts":"2026-09-01T06:39:45.125Z","level":"info","scope":"sync","message":"Sync start","context":{"backend":"webdav"}}
{"ts":"2026-09-01T06:39:45.125Z","level":"info","scope":"sync","message":"Sync diagnostic start","context":{"backend":"webdav"}}
{"ts":"2026-09-01T06:39:45.126Z","level":"info","scope":"sync","message":"Sync step","context":{"step":"flush","sinceLastStepMs":"0"}}
{"ts":"2026-09-01T06:39:45.126Z","level":"info","scope":"sync","message":"Sync step","context":{"step":"setup","sinceLastStepMs":"0"}}
{"ts":"2026-09-01T06:39:45.131Z","level":"info","scope":"sync","message":"Sync step","context":{"step":"read-local","sinceLastStepMs":"5"}}
{"ts":"2026-09-01T06:39:45.149Z","level":"info","scope":"sync","message":"Sync local reconcile","context":{"reconcile":"aligned-skip","durationMs":"1","tasks":"9"}}
{"ts":"2026-09-01T06:39:45.152Z","level":"info","scope":"sync","message":"Sync step","context":{"step":"read-remote","sinceLastStepMs":"21"}}
{"ts":"2026-09-01T06:39:45.296Z","level":"warn","scope":"sync","message":"Sync failed","context":{"error":"Remote sync mutation fence acquisition failed: Response exceeds the 4096 byte download limit"}}
WebDAV GET test
A normal GET of the remote data.json returns:
HTTP/2 200
x-powered-by: Open-Xchange
content-disposition: attachment
etag: "9965763-46-2-1788242672016"
accept-ranges: bytes
content-type: application/json
content-length: 20860
Downloaded file size:
HTTP Range test
I also tested a 4096-byte Range request against the same resource:
The WebDAV server responds:
HTTP/2 206
etag: "9965763-46-2-1788242672016"
accept-ranges: bytes
content-type: application/json
content-length: 4096
The resulting response body is exactly 4096 bytes:
A WebDAV PROPFIND also succeeds with HTTP 207 Multi-Status, reports the correct data.json size and provides an ETag.
Mindwtr Desktop v1.2.5 successfully syncs against this same WebDAV endpoint.
This suggests that the Android WebDAV mutation-fence code may be applying the 4096-byte response limit to the remote data resource, or otherwise attempting to read more than the allowed mutation-fence response size.
- Toggle Debug logging to ON.
- Reproduce the issue.
- Tap Share log to export the file and attach it here.
Note: Logs are local-only and redact common credentials.
📋 Additional Context
Add any other context about the problem here.
Android WebDAV sync fails: mutation fence response exceeds 4096 byte download limit
💻 Platform
🧭 Affected Area
ℹ️ Environment
🚨 Impact
📝 Description
WebDAV sync works correctly with Mindwtr Desktop v1.2.5, but fails on Android v1.2.5 when using the same WebDAV server and remote
data.json.The WebDAV connection test on Android succeeds, but attempting an actual sync fails immediately. The Android app continues to show "Never synced".
Debug logging reports:
The remote
data.jsonis currently 20,860 bytes.The WebDAV server itself appears to behave correctly. A normal GET returns the complete file with HTTP 200, and a manually tested 4096-byte HTTP Range request returns exactly 4096 bytes with HTTP 206.
🔄 Steps to Reproduce (REQUIRED)
data.jsonon the WebDAV server.The same problem also occurs when using a dedicated WebDAV subdirectory containing only the Mindwtr sync data.
🎯 Expected Behavior
Mindwtr Android should successfully synchronize the same WebDAV
data.jsonthat Mindwtr Desktop v1.2.5 can synchronize.A remote
data.jsonlarger than 4096 bytes should not cause mutation fence acquisition to fail.🧪 Regression?
📸 Screenshots / Logs
Relevant Android debug log:
WebDAV GET test
A normal GET of the remote
data.jsonreturns:Downloaded file size:
HTTP Range test
I also tested a 4096-byte Range request against the same resource:
The WebDAV server responds:
The resulting response body is exactly 4096 bytes:
A WebDAV
PROPFINDalso succeeds with HTTP207 Multi-Status, reports the correctdata.jsonsize and provides an ETag.Mindwtr Desktop v1.2.5 successfully syncs against this same WebDAV endpoint.
This suggests that the Android WebDAV mutation-fence code may be applying the 4096-byte response limit to the remote data resource, or otherwise attempting to read more than the allowed mutation-fence response size.
Note: Logs are local-only and redact common credentials.
📋 Additional Context
Add any other context about the problem here.