Android app disregarded "only on WiFi" settings

Apparently Synching decided to transfer 4.6 GB of who the f*ck knows overnight, even though it’s explicitly set to not do anything when it’s not on WiFi. The phone should have been up-to-date anyway (I did not do anything that would have modified my files), so I don’t understand what data was even being sent.

My cell bill is going to be over double what it normally is because of this, and I am NOT happy.

Synching Android 1.22.1.1

1 Like

It’s difficult to say what happened exactly, but I’d say the app can be somewhat flaky, unfortunately :slightly_frowning_face:.

If you want to make sure this doesn’t happen ever again, you can try to disable background data usage for the app in the Android settings. This will block all background data usage for the app on the OS level.

Alternatively, you could use some type of a firewall app for the same purpose - there are at least several options both for rooted and non-rooted devices.

1 Like

Android 13? There were two reports in the GH repo for that and the common factor was 23 and google pixl phones. Maybe something broke about the way we detect connection type on 13.

3 Likes

Yeah no, report with android 12 came in. This is super weird, as nothing changed in this regard recently but it’s too many reports at once for a coincidence (as in no-one noticed for a long time).

I’m going to do some testing, but could there be something wrong in relation to https://github.com/syncthing/syncthing-android/commit/892fdea2ea359830980d598b4fd2a016829906d4? As in specific conditions available to tick on/off, but in reality all conditions disabled? Just a wild guess at this point, but this seems to be the only significant change regarding conditions in the app in the recent(ish) time period.

2 Likes

I have a suspicion around the comment you made on the PR:

What happens when you upgrade from an older version of the app? Do the current settings persist (i.e. so that run conditions are enabled) or does it disable them?

It might be the default is true in the GUI, but not in the actual settings - bad reviewing by me. Still need to check if that’s really how it behaves, but from code it most likely is.

1 Like

Actually I was wrong, but also not: The default value from the UI is applied to the config file without any interations with the settings dialog (not even need to open it). However the first time you start syncthing, the incorrect default is applied. I’ll add it to the release scheduled for next Tuesday.

1 Like

FWIW, I did have the feeling lately that my Syncthing on Android had been running while I wasn’t connected to WiFi. Didn’t investigate further, as there were no consequences on my side. But it would be a big coincidence as well if that moment of surprise were totally unrelated to the recent reports.

2 Likes

I’d have surely noticed the issue myself, but I had to stop using the app altogether a few weeks ago, as I just couldn’t force Samsung not to kill it every few days for no particular reason :confused:, so I had to switch to running the bare binary (with root) just to have reliable sync. I still try to keep an eye on what’s going on with the app, of course, but I can’t test new things quickly anymore.

1 Like

Just in case this is related, my syncthing on my Android phone is set up to sync only when connected to the charger, but a couple of weeks ago I caught syncthing being active while the phone was running on battery. This was confirmed by syncthing on my laptop which showed syncthing on my phone as being ON – that’s how I realised actually. Syncthing on the phone was stuck in that state and only stopped running when I went into settings, I think. I saw this happen only once in the long time I’ve been using syncthing.