Improving folder status

Folder status typically shows scanning or idle. While synching a folder with other devices, the folder status is also idle. To me this is misleading because the folder is semantically not idle at all.

I propose to set the folder status to something different than idle while the folder is synching with other devices. The proposed status precedence is:

idle < scanning < synching < error

Another valid folder status precedence is:

idle < synching < scanning < error

To me both are fine. It is more important to notice that a synching folder is not idle.

This topic origins from this github issue.

As I’ve expressed, I think that would be misleading as it would show syncing when it’s not actually doing that. It’s just serving an occasional request to the remote device.

Also, there is really no indication in the protocol that the remote device is syncing the folder.

All we know is that occasionally we get a request for some data, when it starts or stop syncthing that folder is not part of the protocol.

This is about android, right?

In Syncthing’s web UI it’s not idle, but up-to-date, which is better, as it is still correct when sending data to other devices. And there is already a syncing state, when the folder is out of sync and trying to get back in sync.

So I think what should change is that in Android it’s also called “up to date” not “idle” (if that’s the case).

Up to date implies, like idle, that there is nothing going on with that folder. This is not true while the folder is being synchronized to other devices. Even if it is only sending data, it is still working and talking to other devices to achieve a consistent global state. Neither idle, nore up to date express this status semantically. While the status may technically be true, it is doing something else from a users point of view.

When it is up to date it is up to date - there’s nothing wrong with that. You may infer that up to date means not sending anything, but that’s simply not true in the case of Syncthing: There is a global state and when the folder reached that state, it is up-to-date. Other’s might not yet be, so it might send data to those other devices, but that doesn’t make it any less up to date. And indicating that it’s sending data is hard, as Audrius pointed out, and I don’t see much added value over the device status, which shows you that other devices are not yet up to date and the transfer rates which show you if we are sending something.

I previously proposed showing “uploading” when idle but data had been sent in the last x time. I still think that would be a decent thing to do. (It got derailed by wishes that we should instead send status messages to other devices, iirc.)

1 Like

I still I think uploading would be a lie that expires on a timer.

“connected” and “up to date” are in that case also lies that expire on a timer.

Not exactly the same thing, but close enough, I feel…

I’d like, in the web UI, for it to show “Up-to-date or not” for non-connected remote devices. Currently it just shows “Disconnected”. Even better would be for it to show separate status for each folder on each device. It obviously wouldn’t know if something has changed on another device while disconnected, but it should know if local changes have already been sent to the other device or not.