Upon upgrading Syncthing Android to version 1.5.0, I see the following in the browser UI of my Windows computer (also running Syncthing 1.5.0; and my Linux laptops cannot sync the affected Android folder either).
Handshake did not complete in time (13:56:45)
A socket operation was attempted to an unreachable network. (13:56:33)
context deadline exceeded (13:56:45)
Handshake did not complete in time (13:56:45)
A socket operation was attempted to an unreachable network. (13:56:35)
No connection could be made because the target machine actively refused it. (13:56:35)
No compatible QUIC version found. We support [QUIC WG draft-27], server offered [0x7a2a1a3a 0xff000018] (13:56:17)
No compatible QUIC version found. We support [QUIC WG draft-27], ser
These messages are unintelligible to the layperson and such a person has little idea what to do to solve the problem. Here are things I have tried myself to no avail.
I have restarted Syncthing, on both the Android device and the other devices.
Ideleted (from all or at least most of my devices, including the Android device and the Windows device) the files that seemed to have hung in their syncing.
Actually, after doing those things, and unsharing and resharing folders and disabling my VPN, eventually Syncthing made some progress. Or rather it changes its error message. For now I see this:
no connected device has the required version of this file
Once again, Syncthing gives me no indication of what I can do about the problem. Well, the UI does say this: ’ The following items could not be synchronized. They are retried automatically and will be synced when the error is resolved.’ Yet, I don’t think the problem will ever get resolved on its own.
Regarding the connection errors: Syncthing just displays whatever error occurs on the connection. Apart from registering every possible error and translating it (read: not feasible at all) there’s no way to make them comprehensible. The usual solution by most programs would be to just not display this information. We’d rather give the information on the chance someone can get something useful out of it.
The one that sticks out to me is
Looks like a firewall is rejecting the connection.
That means one of the disconnected device has data you need, i.e. nothing will get resolved until that device is connected. Resolution: Wait or take steps to make currently disconnected devices connect (e.g. bring them online).
Sincere question: How is that message unclear in that respect, or better, what would you suggest to improve it?
No, Syncthing could (1) report problems in a more comprehensible way and (2) in some cases make suggestions for resolution. For, I have filed bug reports in the past that have led to 1 and 2. Moreover, your own post suggests that where the log says that there was an actively refused connection, the UI could tell the user that there might be a firewall problem. True, it might be impractical to do 1 and 2 with every possible error. Yet, it can be done - and, as I say, has been done - for some errors.
Perhaps I am being dim, but I am unsure which machine is refusing a connection. The machine from which I take the log, i.e. the Windows machine? Or the other machine that is (principally) at issue, namely, the Android device?
As to ‘Resolution: Wait or take steps to make currently disconnected devices connect (e.g. bring them online)’: that was not the actual message I received. It is your gloss of this log item: ‘The following items could not be synchronized. They are retried automatically and will be synced when the error is resolved.’ Or perhaps it is your gloss of this log item: ‘no connected device has the required version of this file’. Anyhow: all of those strings are clear enough yet none of them is of any help if all the affected machines are online already. And - as perhaps I failed to make clear - all of my affected machines are online already.
I have managed to solve the problem or at least the immediate problem. I did so in the same manner in which I have solved similar problems before. To wit: I deleted all affected files from all relevant devices and removed and then recreated the relevant Syncthing ‘folder’ from each affected device.
Many things are possible but not practical. Recognizing textual error messages from all platforms in all the worlds languages is one of those things. That we can understand them as a human and make a recommendation in a forum post is something different.
Syncthing has done as I proposed, on another front, i.e. with another error message, already. I said that in my previous post. Perhaps you think that in so doing Syncthing embarked upon a Sisyphean task that it should abandon.
One error message I saw in the log - or rather, I think, in a pop-up - advised me to search the relevant documentation and to search the forum. It seems to me that at the least Syncthing could - ideally in a pop-up - do that in the case of a greater number of errors.
You don’t seem to want to understand. Nobody is saying anything about absolute impossibilities:
Bringing up a random other error that is more descriptive doesn’t help your case (I assume it’s the folder marker thingy). That’s an error produced in our code, that we know when it occurs and that does not change. That’s an entirely different thing.
And just in case you’re not convinced: You are herein invited to add parsing of network errors and maintain that forever if you want to (I’d need some kind of assurance on the “maintain forever” though). What I am saying is this is a heinous task, that I wouldn’t want to put on anyone, not me or anyone else (by extension, I’d be more happy if you contributed to Syncthing in another way).
And by the way: “Check your firewall” is an advice I would have given even without any of these error messages - it’s the number one reason for network problems.
On a practical point, I encountered critical problems with version 1.5 of the Syncthing Android app.
The only solution I found was to find and and install an APK of version 1.4.2 and then resist the temptation to update.
There are threads detailing the problems with version 1.5 and highlighting that 1.4.2 is the most recent version with out problems. It’s a few months ago since I was looking at this and I can’t now remember the details. But version 1.4.2 has been working very satisfactorily on multiple Android devices for a few months now.
All this is rather disheartening. For, recently, when I was running 1.5 on my computers and 1.4 on my 'phone, I filed a bug report in which I was told that it was asking for trouble to run different versions on different devices. So I upgraded - or, as it turns out, ‘upgraded’ - the Android version of Syncthing.
This is my third time of trying to use Syncthing: I abandoned it twice before, because each time it had too many problems.