Comments (15)
Anything logged in the browser console or happening request wise?
from syncthing.
Not much; when the page refresh occurs, all I get is:
For comparison, a normal (manual) page refresh looks like this:
from syncthing.
On my third affected device (my OpenWRT router), since I not accessing the web UI through the machine itself, but rather over the network via my Linux system, the behaviour is different. Instead of reloading, the page shows a connection error (as if the daemon was shut down). The browser console then looks like this:
The daemon however is not actually down, as I am able to manually reload the page to get the WebUI to work again. Not as bad as outright discarding any pending changes, but still annoying.
from syncthing.
I'd try a different browser or disable some plugins
from syncthing.
I just tested on a clean installation of ungoogled chromium. The issue still occurs on the local machine's WebUI, but doesn't seem to appear on the remote WebUI.
from syncthing.
I don't think we do anything special depending on whether it's viewed locally or from a remote machine, so that still sounds like something specific to that machine.
Try running syncthing on the other machine and see if you can reproduce that locally.
from syncthing.
It's noteworthy that the event XHR request fails because of 403 Forbidden,
which causes the page to reload https://github.com/syncthing/syncthing/blob/main/gui/default/syncthing/core/eventService.js#L44
from syncthing.
Hm. Maybe it's cookie related?
from syncthing.
I initially thought it was, because uMatrix had disabled cookies for the WebUI. However the issue still happens:
- with cookies enabled on uMatrix
- with uMatrix turned off
- with the uMatrix addon completely disabled
- with the fresh install of ungoogled Chromium (which has no addons)
I might've missed a test case, but I suspect it's probably not cookie related.
Another finding from looking at the network graph of the remote WebUI is that the endpoint request eventually fails with "CSRF Error", triggering a page reload (likely via the file @valaphee posted).
from syncthing.
That cookie warning looks suspicious.
from syncthing.
This might be related to #7399. Maybe Chromium is a bit more strict?
from syncthing.
Huh. In that case, maybe the CSRF Cookie expires after a while, which causes the backend to return 403 when Syncthing attempts to do a periodic update, and that in turn causes the page to reload.
In which case: is this an intended feature? And can it be turned off?
from syncthing.
"csrf error" typically just means auth error, doesn't need to be the csrf specifically. I suspect something yeeting the auth cookie.
from syncthing.
We're not setting the SameSite
attribute for the CSRF-TOKEN-XXXXXXX
and sessionid-XXXXXX
cookies. Maybe Ungoogled Chromium is a bit more strict in that regard?
Not sure if this intended or not, but the CSRF cookie is also missing the Secure
attribute.
from syncthing.
Update on my situation:
about a month ago I decided to change the GUI listen address across my desktop and laptop. Additionally I went ahead and cleared my page cookies after I had everything set up, to make sure I was starting out in a relatively fresh state. So far the issue hasn't come up again, but I don't know what ultimately fixed it...
If it really was cookies, then that wouldn't explain why the issue appeared on a completely fresh browser with a brand new user profile. But then again, I don't know what else to pin it on. In any case, glad it's resolved for now.
On an unrelated note, thank you all for working on this project. I didn't think to say it last time, and I worry it didn't come across due to the nature of the conversation, but I genuinely appreciate having Syncthing in my life (especially as a dev).
from syncthing.
Related Issues (20)
- Starting Syncthing manually or automatically has different configurations HOT 1
- Encrypted Receive-Only Folders Syncing with Each Other HOT 1
- UX/UI: Inconsistent information and inconclusive "override changes" action button in Out of Sync situation HOT 3
- "Watching for changes encountered an event outside of the filesystem root" when the folder path uses ~ and has a trailing space HOT 4
- Add time remaining to remote devices HOT 1
- The Web UI defaults to Filipino on Finnish browsers.
- lib/api: /svc/lang disregards the passed quality values
- Syncthing v1.27.11 on desktop claims there are Local Additions for all folders from Android v1.27.10 HOT 18
- Immediate crash after auto-upgrade to v1.27.11 on OpenBSD 7.5 HOT 6
- Use BLAKE-3 hashing HOT 3
- elements not synced, stuck and no display HOT 2
- Syncthing never sync if folder settings is only upload on master and only download on client HOT 4
- Sync status stays at 'Syncing xx%" when remote device pauses the folder. HOT 3
- Add folder priority HOT 2
- Move files from source to destination HOT 1
- Rename `/meta.js` request to `/meta` to avoid caching problems? HOT 3
- Feedback on a potential hazard caused by silent hard disk errors, which I believe is crucial! HOT 6
- Unable to modify the default directory for creating folders HOT 1
- Adding Elestio as deployment option
- Syncthing does not perform UPnP/NAT-PMP redirection for UDP when QUIC is enabled HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from syncthing.