Android auto upload on slow server

If the seafile server is running on low end hardware or has slow storage and the android device is uploading several large images or a video file it can hang at 99% and then fail even though the file did upload succesfully.

The android client will then often retry again sometimes more than once, eventually the app does recongise the server did actually complete the upload (presumably it checks the checksum file on the server vs the one it has locally) and cancells the in progress attempt to re-upload.

The problem is this wastes bandwidth perticullarly when the file is a several hundred MB video file.

Ideally what really needs to happen is there be an exchange between the client/server where they both confirm the upload completed but the server is still doing some proccessing on the incoming data.

Or even a retry delay in the case of the andorid app thinking the upload failed.

I would not expect this to be solved given that your case is quite exceptional (talking from previous experience). However, there are some things you can do to remediate this.

I’m going to assume that you have a PC or a Laptop, outside the local network where the server lives and the connection to it is pretty weak, with that being said, I’d say you rather use an app like Syncthing to sync the photos to an intermediary PC and then let that PC sync it to the seafile server using the seafile desktop app.
If that’s not possible then look into seafdav and alternative android apps (compatible with the webdav protocol) to sync your data.

Webdav wouldn’t help as then you’d still be waiting on the server to commit the file, which is the bit that’s being slow, the problem is if the server side operation is slow the android app times out and then retrys the upload again too soon.

WebDAV clients don’t check the signature since there’s no way to do it without downloading the file again iirc, so it should just notice that a file with the same name, size and timestamp is in place.