-
-
Notifications
You must be signed in to change notification settings - Fork 251
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
xbel file corruption preventing sync #1684
Comments
Hello 👋 Thank you for taking the time to open this issue with floccus. I know it's frustrating when software I look forward to working with you on this issue |
Hey @Simplenuity
That seems likely, yes. What is the rough size of the full, non-corrupted file? It may be too big for the server. The nextcloud client uses some nextcloud specific hacks to circumvent such limitations.
I'm afraid we'd be running into other race conditions then: What if the client machine goes offline before the file was moved in place? I think the best course of action is to talk to your hoster, if that is possible. |
Hi @marcelklehr, The file size is currently about 270 kB. Of course I can open a ticket with them. For doing so and my own understanding, could you please let me know how the update process works? Does the sync process trigger off the replacement of the online xbel file with any local change? Or is the online file incrementally updated only with the changed parts? |
Mh, that size doesn't seem very large, but that is after the corruption, right?
So, floccus just does a PUT request on the file and uploads the new contents in the HTTP body. That's standard webdav. No incremental uploads like the Nextcloud Desktop client does. |
No, that's the intact file. Depending on how much gets cut of the corrupted file is proportionally smaller. Thanks for the additional info. Let's see what I'll get from the hoster. |
Cool, keep me posted :) |
Hey @marcelklehr here the compiled summary of the communication with the hoster:
To my understanding the last statement is not correct as Floccus is only accessing the xbel file residing online on the server - please correct me if I'm wrong. Here some observations/hypotheses/ideas:
Thanks for taking the time to look into this issue and for your consideration. |
Hi @marcelklehr |
Ah, thanks for the follow-up @Simplenuity! Your message got lost in my inbox.
Perhaps you could confine floccus sync to a folder that is not synced via the nextcloud client?
Sigh. Yes, that would be a superb feature. It's sadly not possible to access the file system directly from a web extension. You can try using LoFloccus instead which is basically a local WebDAV server, allowing you to sync floccus to a local file. But a direct floccus to filesystem connection is not possible sadly :( |
Hey @marcelklehr The sync to the desktop was used for offline backup reasons. But at least for troubleshooting I temporarily can find another solution and exclude the folder. I certainly will check out LoFloccus. Thanks for the suggestion. Please feel free to close the issue if you want it out of the way. In case I'll gain any new insights I'll report back. Thanks again for all the effort and this very valuable extension! |
Which version of floccus are you using?
5.2.4
How many bookmarks do you have, roughly?
about 1.5k
Are you using other means to sync bookmarks in parallel to floccus?
No
Sync method
WebDAV
Which browser are you using? In case you are using the phone App, specify the Android or iOS version and device please.
Firefox 113.0.2 (64-bit), Google Chrome 126.0.6478.182 (Official Build) (64-bit), Opera (outdated version) 92.0.4561.43
Which version of Nextcloud Bookmarks are you using? (if relevant)
n/a
Which version of Nextcloud? (if relevant)
28.0.5.1
What kind of WebDAV server are you using? (if relevant)
Nextcloud instance offered by Webo.hosting
Describe the Bug
After some undefined time (can be some days or weeks) configured auto-sync stops working with error:
"Cannot read properties of undefined (reading 'tagName')"
It turns out that this is caused by file corruption of the synced xbel file. The content of the file gets randomly cut off at some stage, i.e. part of it is missing at the end of the file.
Only one browser is configured to always upload local changes, all other browsers are configured to only download while discarding local changes.
The installed Nextcloud client is working fine. All files are kept in sync, including the corrupt xbel file. No other file has been corrupted therefore I assume the corruption might have to do with the floccus upload process?
Is there a way to influence the way floccus uploads the xbel file? For example is it possible to only replace an older file online after the local xbel file has completely and successfully been uploaded? Or is the upload incremental anyway?
Expected Behavior
The integrity of the xbel file is secured no matter whether it's completely replaced by a new file version or the file online gets incrementally updated.
To Reproduce
Unfortunately no steps to reproduce available. File corruption seems to occur randomly.
Debug log provided
The text was updated successfully, but these errors were encountered: