johannesjo / super-productivity-android

Android App for Super Productivity (https://super-productivity.com/)
MIT License
119 stars 20 forks source link

WebDAV sync broken after update to 10.0.11 #54

Open HalgrimThadeus opened 2 weeks ago

HalgrimThadeus commented 2 weeks ago

:ghost: Brief Description

When attempting to sync using WebDAV on the Android app (version 10.0.11), I receive a "No remote data found" message. The same settings work correctly on my desktop app (version 10.0.11). I cannot upload any sync data to Nextcloud(V28.0.10) from Android; selecting "Upload local to Remote" results in an error: "Error: Unknown Upload Error (Settings correct?)".

I have reinstalled the app multiple times and re-entered the settings, ensuring they match those on the desktop where syncing works. To test authentication, I intentionally entered an incorrect password, which resulted in a 401 error, indicating that authentication is functioning properly.

Steps To Reproduce

  1. Ensure WebDAV sync is working on the desktop app (version 10.0.11).

  2. Install the Android app (version 10.0.11) on a fresh device.

  3. Attempt to sync with the desktop-created file.

    OR

  4. Attempt to upload new sync files from the Android app to the remote server.

:police_car: Expected Behavior

:heavy_plus_sign: Additional context

HalgrimThadeus commented 2 weeks ago

After reviewing the Nextcloud logs, I've noticed a discrepancy between the Desktop and Android client requests using the exact same settings.

From Desktop: "HEAD /remote.php/dav/files/schirmpa/Documents/SuperProdSync/MAIN.json HTTP/1.1" 200 1472

From Android: "HEAD /remote.php/dav/files/Documents/SuperProdSync/MAIN.json HTTP/1.1" 404 1337

As you can see, the Android request is missing the username schirmpa in the file path. I've confirmed that the username is included in the "base URL" (settings) for both clients.

When I prepend the username to the "Sync Folder Path" on Android (e.g., schirmpa/Documents/SuperProdSync), the issue seems resolved and the file syncs correctly.

It appears that the Android app isn't including the username in the request path or even deleting it, leading to a 404 error. This might be a bug in how the Android app constructs the request URL.

Could this be investigated further?

johannesjo commented 2 days ago

Hey there! Sorry for the late reply! I was on vacation for two weeks and I am back only just now. I'll investigate the issue this Friday!

johannesjo commented 16 hours ago

We're currently in the process of reworking the android app on a very low level, so I will have to postpone fixing this for a little longer.