I managed to setup a config where one device distributes a folder to several hundreds devices (well I actually only deployed to several dozens for now) - And a big thank you to developers for making this software freely available!
What I’m facing now is calling for a tiny wish. I know I am very likely in a minority for the number of devices, but maybe the fix isn’t that hard so maybe it could be just an afternoon coding fun.
When I look at the Remote Devices (113) right hand column (and I think they could go up well over 1000 at some time), it’s nice that I see them sorted alphabetically, but that is less relevant for me.
What would be more insightful that simple sorting, would be a grouping by status:
Disconnected / Disconnected (Unused) / Up to Date / Syncing
(I presume there are other statuses too that I might just not seen yet.)
and then able to collapse the lists, so I can hide for example from view the full list of “Up to Date” devices, and quickly see this way the other ones that are experiencing issues.
Looking at https://data.syncthing.net/, take a look at the table right underneath the heatmap in the Usage Metrics section. If I’m understanding this correctly, the 100th percentile of Syncthing deployments is 768 devices.
As a very-small-scale non-professional Syncthing user, I think this is a great feature to ask for.
I’m only sharing one folder with 3-4 videos. it already works great with 100 test devices. the grouping really is my first troubles, since I need to have insights about what nodes have not got the latest content updates via syncthing. oh, and sorting by last seen would also be very useful.
collapsing 900 devices with status “up to date” IS going to help alot with the html page as well
and that is only in one way “broadcast” mode, where one introducer tells the others what they get. and the others do not trust between them and only establish connections to the introducer.
alright, I finally see what you were meaning. at 1600 devices currently (in fact after going above 100-ish already), gui puts extreme load on the browser - for older hardware this translates into ‘unusable’.
with a little patience, I can scroll them all on Safari on M1 chip. so far the only needed feature left from the gui is to view the devices status, I’ve managed to auto accept the devices and auto offer them the default folder.
perhaps I should see what api based clients allow me to achieve that, if any, if the gui cannot accomodate extreme cases and neither this feature will get implemented.
Syncthing really cannot know the state of remote nodes while they are not connected. There might be a third device that is up-to-date with your local one, and that in turn has connected to the remote device in question, and has relayed your latest state to it. Your device just doesn’t get told about it until the direct connection is made again.
Thus the information might be misleading, and therefore I’d rather not display it more prominently. The existing entry in the device details suffers from the same caveat, but at least it’s not directly in sight.
Regarding device status display only, you might be happier with the “next-gen GUI” which is already distributed with Syncthing. It wasn’t developed further to replace the current GUI. But just for a status display it could be better suited for large numbers of devices / folders. See Status on new GUI for some discussion on how to use it.
none of my devices trust any other peer except the introducer. hence, the introducer is the only one who truly knows the state of any of it’s peer. so in this particular setup you would certainly trust that what the introducer GUI says is the absolute truth.
That still doesn’t mean the change would be appropriate for all other users, just because it doesn’t cause issues with your setup.
Regarding the next-gen GUI, sorry I haven’t used it myself in a long time and it worked flawlessly back then. One thing that might be going wrong: We switched to an HTML form for logging into Syncthing, and that change wasn’t ported to the other GUI. It probably needs the sendBasicAuthPrompt setting enabled if you have a user and password set. Then it should show a prompt where you can enter those credentials.
Thank you! I followed your updated replies in that thread, and unzipping the updated uploaded build into gui/default/ as a next-gen-gui subfolder of default works compatible with default ui. it does show a “restore default theme” button but I am afraid to click it, so I just directly navigate between / and /next-gen-gui URIs
I did not need basic auth after pre authenticating in the normal UI
it’s still funny watching it count the 2k nodes but hey at least it no longer hangs the browser!
one more argument, though. the information about “out of sync” is already there (when you click the name of the device and it expands in-place with device details). this means the html would only need to change the way it displays the data that it already has (no click vs one more click)
so regardless of how sync architecture happens, the information is already there in the html page. all I ask is make it visible without having to click each device name!
so… other than human resources to actually alter the browser facing code (if HTML was today as simple as it was 30 years ago, I’d probably be able to scramble to patch it myself…), what is preventing extracting that “Out of Sync” text and paste it suffixed to “Disconnected” text? and how that suggestion I ask would be a negative change to everyone else?
I tried to explain that before. Yes, the info is already there. And it’s known to be inaccurate in many cases. That’s why there was some controversy about including it at all, in the current form, hidden behind one click.
Now if we displayed it on the main page, without the user needing to click at all, that’s simply too prominently shown in my opinion. Displaying some possibly outdated info on explicit request is different than putting it “in your face” right on first sight. So right there I draw the line between what’s acceptable vs. too obvious and likely to cause confusion and additional support requests. But that’s just my opinion.
Speaking as someone who is actually responsible for having this information included in the GUI in the first place, I agree with what @acolomb has been trying to explain.
If you know your setup very well and are aware of the possible inaccuracy of the “out of sync” information (e.g. ignored files are included in that list, etc.), then yes, of course, it would be helpful to have it displayed in the main screen of the GUI.
However, most users are unaware of such intricacies, and we would likely see a flow of people coming here for help asking why their folders are marked “out of sync” (even though in reality they may very well be 100% in sync).