Syncing with Android not working. How's this meant to be?

So I already realized that 2-way sync of server and Android has not been implemented.
I read that I would need to activate “automatic uploading”.
But the “automatic uploading” feature is not working either for me.

I did:

  1. Telling the Android client where it should store its files downloaded from the server. Under “settings” → “Storage” the client gave me four options of which only one was on the mobile’s external microSD card: storage/42A3-1514/Android/media/com.nextcloud.client. I selected that one.
    Afer selecting the folder to be synchronized, the path generated was: storage/42A3-1514/Android/media/com.nextcloud.client/servername/111.111.1.1/mysyncfolder/
  2. Through my file menagement program on my mobile, I moved some files to a subfolder of the above mentioned. These files weren’t uploaded.

First, I thought I’d need to only push the Synchronize button in the Nextcloud app. When I do, for maybe two seconds the blue sync symbol shows up and is then gone again. No result.

If I go from the three-dot menu to “on the device” and go to that specific subfolder, the correct folder size is displayed, but the pasted files are not there.
Before, I have selected in the app only several subfolders of mysyncfolder to sync whereas it contains on the server more than those. When I pushed “Synchronize” on the mysyncfolder, it displayed: “Your space in insufficient as you would need to have 176 Gb available whereas you only have 75 available!” something like that. So shouldn’t this button synchronize only the specific subfolders selected (176Gb is actually mysyncfolder comprehensively) as I am operating from the “On my device” section?

So I approached “automatic uploading”. Under this option, there were already several folders listed with a mix of my local storage and my microSD card storage. Folders, which only had picture or video files in it. Not ones which contain other formats. The cloud symbol next to these folders were crossed out however. Super strange, or is there a plausible explanation for that?

However, I went on to sync my mysyncfolder. I did:

  • Selecting as local folder the one from above: storage/42A3-1514/Android/media/com.nextcloud.client/servername/111.111.1.1/mysyncfolder/.
  • Selecting as remote folder the same which was previously downloaded and is syncing one-way from server to mobile: mysyncfolder.

So the app is set to link the folder which is syncing from server to mobile backwards from mobile to server.

After that, no changes. it’s still not syncing, even after pushing “Synchronize”.

Big story, but I wanted to post these issues comprehensively. Overall, I have the feeling the app is buggy.

I’d appreciate if somebody could explain me what I am doing wrong.

hello @thule and welcome to the community forum where everybody tries to help everone

as I understand your problem it might be related to the setup of your server…
like is 111.111.1.1 a real, YOUR real IP? or did you just enter that as a placeholder (my problem here is: this IP does exist. so if you wanna hide something please try to use something like my.ipadress.tld next time)

my questions are:

  • does your server has a valid URL
  • did you install a valid ssl-certificate to it?

pls give us more informations about your server and your cellphone that causes that problem

Hi, thank you for your reply.
The IP address I mentioned is indeed a placeholder.
I am not aware if I have installed an SSL certificate.
However, I’m accessing my server (Raspberry Pi) through my home WiFi.

Next question: is your NC reachable from outside your LAN?

No, it’s not reachable from outside my WLAN.

using IP rather than URL and your instance not being reachable from outside could be the source of your problems.

I simply don’t know how to setup a working environment like this. Could be that Android-app would definitly need a secure connect to your server. via https. And no https without outside connection.

You could try using a selfsigned certificate.

I was just going through the NC manual and there is nothing mentioned of that a SSL connection would be required (it is only mentioned that it is for iOS).
I have also not found in the documentation a note that you must set up SSL certification when setting up the Android app.

@Andy maybe you wanna chime in here?

Sure thing @JimmyKater

To clarify some things, which also makes it my answer - I currently believe that what you are trying to achieve isn’t implemented on the mobile apps. The Android app:

  • has a feature called “Auto Upload”
  • This is only uploading files from the local folders you define in there as well as changed files
  • It does not sync deletions towards the server
  • it does not sync additions on the server back to the client

For keeping a file in sync you can mark it as favorite / available offline which will sync changes between client and server but only for files, this is not present for folders

On device gives you a filtered view which of the server’s files are downloaded and available on your device’s storage

3 Likes

Thank you, this has basically clarified me a lot.
I am curious, when can we expect an android app with comprehensive sync functionality? Or is there a reason to keep it like this?

No particular reason for keeping it like this, it is just that nobody from the project/community ever picked up the task of enhancing the sync functionality and from a company perspective no customer requested it. So of course if anybody would be willing to and picking it up it would definitely get into the client’s implementation.

What do I need to do to be considered a customer? I pay for the andoid apps. Would happily make a one time payment of a couple hundred bucks if it menat I could get this feature.

So what am I supposed to do when I add a new file in a directory via another app and Im offline? Say, with Markor or by taking a picture or something. Am I supposed to mark all of my nextcloud folders as auto-uploading? or am I supposed to Magically remember that I added it hours later when I have internet? What if I made 4-5 new files? What if, like me, you are a user of the fantastic collectives app and maintain a huge wiki of thousands of markdown files, all of which need to be kept in sync? Am I expected to star thousands of files? On desktop this is a solved problem, keeping files in sync is supposed to be nextclouds whole thing! But it does not do that on android!

The community has been asking for it since forever. like, its litterally one of the very first issues oppened: Allow 2-way-sync · Issue #19 · nextcloud/android · GitHub since 2016.

the bounty for this feature is ~$300 USD, Bountysource. This is despite the fact that we are not supposed to be using bountysource anymore, i dont think.

The documentation itself is utterly lacking in details on how to properly keep files in sync, leading to lots of confusion about what is and what is not possible, and how syncing should work.

The highest upvoted reddit post on /r/nextcloud this montyh relates to this issue as well: *cries in android* : NextCloud. Everyone there just suggested using a Different propritary app. Which might work for op or for them but for me at least does not work.

The way the app is setup, you dont really need to sync the files if you are privileged enough to have a constant internet connection to your sever, since it can download / upload things on the fly pretty well. But for me and a lot of the working world, that is not the case. fully half the time I am working with files on my android devices, I have zero connection to my nextcloud sever. so properly functioning, automatic 2-way sync is a must. I cant tell you how many times I have worked for hours offline on some documents that all reference each other, and then when I get to some internet have to go through and manually sync a bunch of em, resolve all the conflincts that crop up, and then a couple days latter see that I forgot to sync a specific file and now woops that files gone, and with it hours of work.

its weird to me that after nearly 8 years this massive hole in functionality has not been addressed.

1 Like

Hi @ahcheing ,
I get that you are frustrated and would love to see 2 way sync in the mobile apps, yet you also wouldn’t find it in other apps like GDrive, knowing that you rather refer to syncthing and the like. The thing is that while “the community” has been asking for it doesn’t lead to any “right” for having a feature. Nextcloud is an open source project, so anybody from the community is very welcome to implement this and that can also be somebody from Nextcloud as a company of course. Yet as stated the paying customers of Nextcloud as a company never demanded it and customer needs are among other things a priority for the employees. We (since I am also an employee) try our best to balance the needs of customers, the community, technical aspects that should be improved from a development perspective and other stakeholders and aspects.

Building a properly working 2-way sync is not a simple task and having to balance it with the other aspects of our mobile basically led and still leads to this not being a priority but again it is an open source project, so also nobody else from the community ever decided to pick this up in 8 years time. That in a way also tells me that it is really not that needed and not a must (in combination with the above that similar products also don’t have it).

As for what would make you a customer: https://nextcloud.com/pricing/
What puzzles me a bit is that you argue you paid for the Android apps, because the ones published by the company are free, see gplay https://play.google.com/store/apps/developer?id=Nextcloud as well as on f-droid Nextcloud | F-Droid - Free and Open Source Android App Repository and Huawei Gallery https://appgallery.huawei.com/#/app/C102503897 - we do not publish them any place else.

As for Bountysource - that has been dropped by Nextcloud for decisions made by bountysource that conflicted with Nextcloud’s values.

1 Like

Maybe you can use this app in the meantime:

https://play.google.com/store/apps/details?id=dk.tacit.android.foldersync.full

I don’t use it myself (no need for two way sync on my phone) but from what I hear it works well with Nextcloud.

However, there is one downside to this app: it’s proprietary.

The issue for me is switching costs not proprietary vs FOSS. When I initially started using nextcloud on android 2+ years ago, I used syncthing to actually keep my files in sync. I quickly stopped, since no matter how I configured it, it introduced a bunch of knock on effects that negatively impact my workflow across all systems thanks to sync conflicts. While the sum time spent dealing with file sync conflicts was probably less then the time I have to spend every day manually syncing on android, at least with manual sync I can schedual it so I know when I have to deal with it. I would rather have a predictable, slow process then an unpredictable but fast process, esp when either way you have a bunch of errors you have to resolve where if you click the wrong button you can lose hours of work.

So I’m going to avoid using another sync system for work files unless I get a clear message from the nextcloud devs that this issue is not going to be resolved anytime in the next 3 years, based on my experience with how time consuming it was to switch from a hybrid nextcloud-syncthing to just using nextcloud.

Syncthing is not suitable for synchronizing files to Nextcloud, because Nextcloud wouldn’t know if Syncthing changed something on the server or added new files. FolderSync, on the other hand, can log in to your Nextcloud and will synchronize the files via WebDAV.

I’m not saying I have a right to the feature per-say, but I do have a right to be frustrated. and as far as I can tell my comment was not breaking any community guidelines, and my perspective and edge case is very rarly represented in these kinds of forums (people with spotty / variable connections to the internet tend not to be prolific forum contributers) so I feel I have the right to vent said frustration here. I tried to frame my comment in such a way that I could both meaningfully vent said frustration and share said perspective while also not sounding like an entitled jerk, but thats a hard ballence to strike when you are angry over having just lost several hours of work. If i did / do end up sounding like an entitled jerk, I sincerely apologize. Nextcloud easily brings 2-3X more utility and joy to my life then it does frustration, which is why I do pay for the apps and do try to contribute when I can.

As for what would make you a customer: https://nextcloud.com/pricing/

Neat. I’ll look into that, thanks.

What puzzles me a bit is that you argue you paid for the Android apps,

I thought I did, although now that I look I can see that the nextcloud deck / notes android apps not under the official nextcloud playstore but by a different developer, and I am now assuming these not “official” nextcloud apps. Which tbh is really cool that integration can be so tight without me noticing its a third party app.

To me, the app is near to useless like this. And considering the number and intensity of complaint, for many other users too.
I would not assume that the devs would implement it. If after so many years 2-way-sync has not been established, it is foolish to assume that this will change.
The only thing one could look for is a fork. However, I am not too familiar on how to look through the forks who may have implemented the two-way sync feature. Neither I know how updates would be followed/maintained.
But I guess when a working Nextcloud (fork) android app with 2-way sync has been established, a developer community would continue maintaining it.
Another idea would be to actually hire a developer who forks the app and modifies it to your wish. But best would be if a critical community would join forces to approach this together as costs would also be split.

You don’t have to assume anything, @Andy, Director Engineering, has already explained in detail how the situation looks like.

Sure, or you could develop your own app. After all Nextcloud provides a WebDAV interface, which can be used to connect to and synchronize the data. Or you could just pay $4.99 for a third party app like FolderSync, which already does what you want, if the fact that it isn’t FOSS doesn’t botter you…

The fork argument doesn’t work at all simply because there is no need to fork and never has been. One could just contribute a 2-way sync feature to the client. Since nobody did so in the last 6 years or more, there might also not be anyone thinking about forking the client and adding this because they always had the opportunity to add this. A fork would only be needed if Nextcloud would block such a feature but they/we don’t. Quite the opposite, I’d be absolutely welcoming such a feature.

3 Likes