[GH-ISSUE #1277] Nextcloud - Firefox - Sync fails. E020: Could not parse server response. #849

Closed
opened 2026-02-25 22:38:16 +03:00 by kerem · 6 comments
Owner

Originally created by @patrick-motard on GitHub (Oct 28, 2022).
Original GitHub issue: https://github.com/floccusaddon/floccus/issues/1277

Which version of floccus are you using?

4.17.1

Sync method

Nextcloud Bookmarks

Which browser are you using? In case you are using the phone App, specify the Android or iOS version and device please.

Firefox 106.0.1

Which version of Nextcloud Bookmarks are you using? (if relevant)

10.5.1

Which version of Nextcloud? (if relevant)

20.0.14

What kind of WebDAV server are you using? (if relevant)

No response

Describe the Bug

When I run a merge sync in the firefox plugin, it shows the error:

E020: Could not parse server response. Is the bookmarks app installed on your server? JSON.parse: unexpected character at line 1 column 1 of the JSON data 

However, all of the bookmarks did sync to Nextcloud Bookmarks. I'm not able to verify if any are missing because I have so many bookmarks.

Expected Behavior

I expect the sync to complete without error.

To Reproduce

Install and configure nextcloud and nextcloud bookmarks on the appropriate versions.
Attempt to sync bookmarks via the firefox plugin.
See failure.

Debug log provided

  • I have provided a debug log file
Originally created by @patrick-motard on GitHub (Oct 28, 2022). Original GitHub issue: https://github.com/floccusaddon/floccus/issues/1277 ### Which version of floccus are you using? 4.17.1 ### Sync method Nextcloud Bookmarks ### Which browser are you using? In case you are using the phone App, specify the Android or iOS version and device please. Firefox 106.0.1 ### Which version of Nextcloud Bookmarks are you using? (if relevant) 10.5.1 ### Which version of Nextcloud? (if relevant) 20.0.14 ### What kind of WebDAV server are you using? (if relevant) _No response_ ### Describe the Bug When I run a merge sync in the firefox plugin, it shows the error: ``` E020: Could not parse server response. Is the bookmarks app installed on your server? JSON.parse: unexpected character at line 1 column 1 of the JSON data ``` However, all of the bookmarks did sync to Nextcloud Bookmarks. I'm not able to verify if any are missing because I have so many bookmarks. ### Expected Behavior I expect the sync to complete without error. ### To Reproduce Install and configure nextcloud and nextcloud bookmarks on the appropriate versions. Attempt to sync bookmarks via the firefox plugin. See failure. ### Debug log provided - [ ] I have provided a debug log file
Author
Owner

@patrick-motard commented on GitHub (Oct 28, 2022):

I noticed in the bug submission form that it mentioned you can use floccus to redact sensitive information from logs. I'm not sure how to do that. If you have any pointers, let me know, and I can send my redacted logs over to you.

<!-- gh-comment-id:1295234175 --> @patrick-motard commented on GitHub (Oct 28, 2022): I noticed in the bug submission form that it mentioned you can use floccus to redact sensitive information from logs. I'm not sure how to do that. If you have any pointers, let me know, and I can send my redacted logs over to you.
Author
Owner

@patrick-motard commented on GitHub (Oct 28, 2022):

I found the ability to export redacted logs in the settings of the firefox addon. I've uploaded them to your nextcloud with todays date.

<!-- gh-comment-id:1295237149 --> @patrick-motard commented on GitHub (Oct 28, 2022): I found the ability to export redacted logs in the settings of the firefox addon. I've uploaded them to your nextcloud with todays date.
Author
Owner

@marcelklehr commented on GitHub (Oct 31, 2022):

Can you check your Nextcloud logs for errors?

<!-- gh-comment-id:1297115145 --> @marcelklehr commented on GitHub (Oct 31, 2022): Can you check your Nextcloud logs for errors?
Author
Owner

@patrick-motard commented on GitHub (Oct 31, 2022):

Absolutely. Thanks @marcelklehr for the speedy response.

Looking through the logs in Nextcloud, it looks like the culprit might be a 414 status code, indicating the URI is too long. Below is the log entry for it. I've omitted part of the URI in the logs below, however it is an incredibly long URI.

Looking into the Nextcloud logs, I think I've figured out what is going on. I think it presents an opportunity for improvement in either within Floccus, Nextcloud, or both.

The following log entry pointed me to the culprit.

nextcloud_nextcloud.1.okcf386b5izv@lahey    | 10.0.1.95 - - [31/Oct/2022:10:47:35 -0500] "GET /index.php/apps/bookmarks/public/rest/v2/bookmark?url=https%3A%2F%2Fedotor.net%2F%3Fengine%3Ddot%3Fengine%3Ddot%23%2523%2520https%253A%252F%252Fedotor.net%252F%250Agraph%2520graphname%2520%257B%250Abgcolor%253Dblack%2520%2520%2509%2523background%2520color%250Arankdir%253DLR%2520%2509%2509%2523direction%2520of%2520graph%252C%2520eg%2520LR%2520is%2520Left-to-Right%2520%252CTB%2520is%2520Top-to-Bottom%250Anode%2520%255Bshape%2520%253D%2520box%2520style%253D%2522filled%2522%2520fontcolor%253Dwhite%2520height%253D.37%2520fontname%253DHelvetica%255D%2520%2523these%2520effect%2520everything%2520below%2520unless%2520overridden%2520by%2520another%2520%2522node%255B%255D%2522%2520statement%250Aedge%2520%255Bcolor%253Dwhite%255D%2520%2523the%2520edge%2520is%2520the%2520lines%2520between%2520company%252Fbackbone%252Fprovider%2520reseller%250A%250A%2520%2520%2520%2520node%2520%255Bcolor%253D%2522%252391c49b%2522%255D%2520%2523we%2520change%2520the%2520colour%2520of%2520each%2520company%252C%2520eg%2520omicron%2520is%2520%2522red%2522%250A%2522United%2520Newsserver%2520%2522%2520--%2509%2522Elbracht%2522%250A%2522Elbracht%2522%2520--%2520%2522United%2520Newsserver%2522%250A%2522Elbracht%2522%2520--%2520%2522Premium%2520News%2520%2522%250A%2520%2520%2520%2520%250A%2520%2520%2520%2520node%2520%255Bcolor%253D%2522%2523f6b72d%2522%255D%250A%2522Altopia%2522%2520--%2520%2522Altopia%2520%2522%2520--%2520%2522Altopia%2520%2520%2522%250A%2520%250A%2520%2520%2520%2520node%2520%255Bcolor%253D%2522%2523444139%2522%255D%250A%2522NewsGuy%2520%2522%2520--%2520%2522NewsGuy%2520%252F%2520HW%2520Media%2522%2520--%2520%2522NewsGuy%2522%250A%2522NewsGuy%2520%252F%2520HW%2520Media%2522%2520--%2520%2522nntpjunkie.com%2522%250A%250A%2520%2520%2520%2520node%2520%255Bcolor%253D%2522%2523ec2efa%2522%255D%250A%2522Newscene%2520%2522%2520--%2520%2522Novia%2520%252F%2520HW%2520Media%2522%2520--%2520%2522Newscene%2522%2520--%2520%2522Premium%2520News%2522%250A%2520%250A%2520%2520%2520%2520node%2520%255Bcolor%253D%2522%25233f022e%2522%255D%250A%2522Giganews%2522%2520--%2509%2522Giganews%2520%2522%2520--%2520%2522Giganews%2520%2520%2522%250A%2522Giganews%2520%2522%2520--%2509%2522Supernews%2522%250A%2522Giganews%2520%2520%2522%2520--%2509%2522PowerUsenet%255CnRhinoNewsgroups%255CnUsenet.net%2522%250A%250A%2520%2520%2520%2520node%2520%255Bcolor%253D%2522%2523368a8b%2522%255D%250A%2522Usenet.Farm%2520%2522%2520--%2520%257Bnode%255Bshape%253Dfolder%2520fontcolor%253Dorange%255D%2522Its%2520Hosted%2522%257D%2520--%2520%257Bnode%255Bshape%253Dfolder%2520fontcolor%253Dorange%255D%2522Usenet.Farm%2522%257D%2520--%2520%2522UsenetNews%255CnFrugalUsenet%2522%2520%2523the%2520%2522%257Bnode%255Bshape%253Dfolder%2520fontcolor%253Dorange%255D%2522Usenet.Farm%2522%257D%2522%2520is%2520for%2520marking%2520something%2520as%2520NTD%250A%2520%250A%2520%2520%2520%2520node%2520%255Bcolor%253D%2522%2523c16ffa%2522%255D%250A%2522Uzo%2520Reto%2522%2520--%2520%257Bnode%255Bshape%253Dfolder%2520fontcolor%253Dorange%255D%2522ViperNews%2522%257D%2520--%2520%257Bnode%255Bshape%253Dfolder%2520fontcolor%253Dorange%255D%2522ViperNews%2520%2522%257D%2520--%2520%2522%2520UsenetNews%255CnNovaUsenet%2522%250A%2520%250A%2520%2520%2520%2520node%2520%255Bcolor%253D%2522%25232a7325%2522%255D%250A%2522UsenetExpress%2522%2520--%2520%2522UsenetExpress%2520%2522%2520--%2520%2522UsenetExpress%2520%2520%2522%2520--%2520%2522UsenetNews%255CnUsenetPrime%255Cn%2520UsenetFire%2522%250A%2522UsenetExpress%2520%2522%2520--%2520%2522NewsDemon%2522%250A%2522UsenetExpress%2520%2522%2520--%2520%2522NewsGroupDirect%2520%2522%250A%2522UsenetExpress%2522%2520--%2520%2522NewsGroupDirect%2522%2520--%2520%2522NewsGroupDirect%2520%2522%250A%2520%250A%2520%2520%2520%2520node%2520%255Bcolor%253Dblue%255D%250A%2522Abavia%2522%2520--%2520%2522Abavia%2520%2522%2520--%2520%2522Cheapnews%2522%250A%2522Abavia%2520%2522%2520--%2520%2522EasyUsenet%2522%250A%2522Abavia%2520%2522%2520--%2520%2522Usenet.nl%2522%250A%2522Abavia%2520%2522%2520--%2520%2522Usenet.org%2522%250A%2522Abavia%2520%2522%2520--%2520%2522Usenext%2522%250A%2522Abavia%2520%2522%2520--%2520%2522XS%2520News%2520%252F%2520Xenna%2522%250A%2522Abavia%2520%2522%2520--%2520%2522XS%2520News%2522%250A%2522XS%2520News%2522%2520--%2520%2522aEton%255CnBulknews%255CnDreamload%255CnGebruikhet%255CnI-Telligent%255CnNewsGrabber%255CnNewsXS%255CnSMS%2520Usenet%255CnStingy%2520Usenet%255CnUsenet.today%255CnUsenetAgency%255CnUsenetDiscount%255CnUsenetDiscounter.com%255CnUsenet-Server%255CnUseNight%255CnXS%2520Usenet%255CnZ51%2522%250A%2520%250A%2520%2520%2520%2520node%2520%255Bcolor%253Dred%255D%250A%2522Omicron%2522%2520--%2520%2520%2522Eweka%2520Internet%2520Services%2522%2520--%2520%257Bnode%255Bshape%253Dfolder%2520fontcolor%253Dorange%255D%2520Eweka%257D%250A%2522Omicron%2522%2520--%2520%2522HW%2520Media%2522%250A%2522HW%2520Media%2522%2520--%2520%2522Astraweb%2522%250A%2522HW%2520Media%2522%2520--%2520%2522Easynews%2522%250A%2522HW%2520Media%2522%2520--%2520%2522Newsgroup%2520Ninja%2522%250A%2522HW%2520Media%2522%2520--%2520%2522NewsHosting%2522%250A%2522HW%2520Media%2522%2520--%2520%2522UsenetServer%2522%250A%2522NewsHosting%2522%2520--%2520%2522Alibis%255CnAnonyNews%255CnAtlantisNews%255CnBinary%2520Boy%255CnBinTube%255CnBlockNews%255CnBudgetNews%255CnFast-Usenet%255CnFirstload%255CnForte%2520Agent%255CnFrugal%2520Usenet%255CnHitNews%255CniLoad%255CnMaximumUsenet%255CnNewsFusion%255CnNewsGroup-Binaries%255CnNewsGroupDownload%255CnNewsLeecher%255CnNgroups%255CnPrepaid-Usenet%255CnShemes%255CnSimonNews%255CnSnelNL%255CnTheCubeNet%255CnThunderNews%255CnUncensored%2520Newsfeed%255CnUsenet-News%255CnUsenet.nl%255CnUsenet.se%255CnUsenet4u%255CnUsenetAccess%255CnUseNetNow%255CnUsenetStorm%255CnUsenext%255CnXenNews%2522%250A%2520%250A%2522Omicron%2522%2520--%2520%2522Base%2520IP%2520%252F%2520HW%2520Media%2522%250A%2522Base%2520IP%2520%252F%2520HW%2520Media%2522%2520--%2520%2522TweakNews%2522%250A%2522Base%2520IP%2520%252F%2520HW%2520Media%2522%2520--%2520%2522PureUsenet%2522%250A%2522Base%2520IP%2520%252F%2520HW%2520Media%2522%2520--%2520%2522SunnyUsenet%2522%250A%2522Base%2520IP%2520%252F%2520HW%2520Media%2522%2520--%2520%2522XLned%2522%250A%2522XLned%2522%2520--%2520%2522ExtremeUsenet%255CnUsenetBucket%2522%250A%250A%2520%2520%2520%2520node%2520%255Bstyle%253Dsolid%2520color%253Dwhite%255D%2520edge%2520%255Bstyle%253Dinvis%255D%250A%2522Company%2522%2520--%2520%2522Backbone%2522%2520--%2520%2522Provider%2522%2520--%2520%2522Resellers%2522%250A%2522Vesion%252021-12-2020%2522%250A%250A%2509node%255Bstyle%253Dfilled%2520shape%253Dfolder%2520fillcolor%253Dblack%2520fontcolor%253Dorange%255D%250A%2522NTD%2522%2520--%2520%2522Vesion%252021-12-2020%2522%250A%250A%257D%250A%250A%252F*The%2520%2522%2520--%2520%2522%2520symbol%2520defiines%2520a%2520relationship%2520between%2520%2522parent%2520--%2520child%2522%250A%250ASome%2520companies%252Fproviders%252Fbackbones%2520have%2520the%2520same%2520name%2520Eg%2520Altopia_company_%2520serves%2520Altopia_backbone%250Awho%2520then%2520serves%2520Altopia_provider%252C%2520because%2520they%2520all%2520have%2520to%2520have%2520unique%2520names%2520I%2520just%2520added%2520some%2520extra%2520spaces%250Aat%2520the%2520end%2520eg%2520%2522Altopia%2522%2520--%2520%2522Altopia%2520%2522%2520--%2520%2522Altoipia%2520%2520%2522%250A%250A%250ATo%2520generate%2520an%2520updated%2520version%2520it%27s%2520all%2520doable%2520in%2520your%2520browser%2520and%2520we%27ve%2520kept%2520it%2520fairly%2520simple.%250A%250Ahttps%253A%252F%252Fedotor.net%252F%2520is%2520probably%2520where%2520you%27re%2520viewing%2520this%2520from.%250A%250AAs%2520you%2520edit%2520the%2520left%2520text%2520you%27ll%2520see%252C%2520in%2520real%2520time%252C%2520the%2520changes%2520made%2520on%2520the%2520right%2520side.%250A%250AImportantly%2520when%2520you%27re%2520done%2520editing%252C%2520in%2520the%2520top-left%2520click%2520the%2520%2522Download%2522%2520button%252C%2520select%2520SVG.%250A%250AWoopdidoo%252C%2520you%2520now%2520have%2520downloaded%2520an%2520updated%2520tree%2520diagram.%250A%250AAlso%2520importantly%252C%2520in%2520the%2520top%2520right%2520corner%2520click%2520%2522Copy%2520S" 414 514 "-" "-"

The 414 status code at the end of the log indicates that the URI is too long.
Decoding the URI yields this URI:

https://edotor.net/?engine=dot?engine=dot#%23%20https%3A%2F%2Fedotor.net%2F%0Agraph%20graphname%20%7B%0Abgcolor%3Dblack%20%20%09%23background%20color%0Arankdir%3DLR%20%09%09%23direction%20of%20graph%2C%20eg%20LR%20is%20Left-to-Right%20%2CTB%20is%20Top-to-Bottom%0Anode%20%5Bshape%20%3D%20box%20style%3D%22filled%22%20fontcolor%3Dwhite%20height%3D.37%20fontname%3DHelvetica%5D%20%23these%20effect%20everything%20below%20unless%20overridden%20by%20another%20%22node%5B%5D%22%20statement%0Aedge%20%5Bcolor%3Dwhite%5D%20%23the%20edge%20is%20the%20lines%20between%20company%2Fbackbone%2Fprovider%20reseller%0A%0A%20%20%20%20node%20%5Bcolor%3D%22%2391c49b%22%5D%20%23we%20change%20the%20colour%20of%20each%20company%2C%20eg%20omicron%20is%20%22red%22%0A%22United%20Newsserver%20%22%20--%09%22Elbracht%22%0A%22Elbracht%22%20--%20%22United%20Newsserver%22%0A%22Elbracht%22%20--%20%22Premium%20News%20%22%0A%20%20%20%20%0A%20%20%20%20node%20%5Bcolor%3D%22%23f6b72d%22%5D%0A%22Altopia%22%20--%20%22Altopia%20%22%20--%20%22Altopia%20%20%22%0A%20%0A%20%20%20%20node%20%5Bcolor%3D%22%23444139%22%5D%0A%22NewsGuy%20%22%20--%20%22NewsGuy%20%2F%20HW%20Media%22%20--%20%22NewsGuy%22%0A%22NewsGuy%20%2F%20HW%20Media%22%20--%20%22nntpjunkie.com%22%0A%0A%20%20%20%20node%20%5Bcolor%3D%22%23ec2efa%22%5D%0A%22Newscene%20%22%20--%20%22Novia%20%2F%20HW%20Media%22%20--%20%22Newscene%22%20--%20%22Premium%20News%22%0A%20%0A%20%20%20%20node%20%5Bcolor%3D%22%233f022e%22%5D%0A%22Giganews%22%20--%09%22Giganews%20%22%20--%20%22Giganews%20%20%22%0A%22Giganews%20%22%20--%09%22Supernews%22%0A%22Giganews%20%20%22%20--%09%22PowerUsenet%5CnRhinoNewsgroups%5CnUsenet.net%22%0A%0A%20%20%20%20node%20%5Bcolor%3D%22%23368a8b%22%5D%0A%22Usenet.Farm%20%22%20--%20%7Bnode%5Bshape%3Dfolder%20fontcolor%3Dorange%5D%22Its%20Hosted%22%7D%20--%20%7Bnode%5Bshape%3Dfolder%20fontcolor%3Dorange%5D%22Usenet.Farm%22%7D%20--%20%22UsenetNews%5CnFrugalUsenet%22%20%23the%20%22%7Bnode%5Bshape%3Dfolder%20fontcolor%3Dorange%5D%22Usenet.Farm%22%7D%22%20is%20for%20marking%20something%20as%20NTD%0A%20%0A%20%20%20%20node%20%5Bcolor%3D%22%23c16ffa%22%5D%0A%22Uzo%20Reto%22%20--%20%7Bnode%5Bshape%3Dfolder%20fontcolor%3Dorange%5D%22ViperNews%22%7D%20--%20%7Bnode%5Bshape%3Dfolder%20fontcolor%3Dorange%5D%22ViperNews%20%22%7D%20--%20%22%20UsenetNews%5CnNovaUsenet%22%0A%20%0A%20%20%20%20node%20%5Bcolor%3D%22%232a7325%22%5D%0A%22UsenetExpress%22%20--%20%22UsenetExpress%20%22%20--%20%22UsenetExpress%20%20%22%20--%20%22UsenetNews%5CnUsenetPrime%5Cn%20UsenetFire%22%0A%22UsenetExpress%20%22%20--%20%22NewsDemon%22%0A%22UsenetExpress%20%22%20--%20%22NewsGroupDirect%20%22%0A%22UsenetExpress%22%20--%20%22NewsGroupDirect%22%20--%20%22NewsGroupDirect%20%22%0A%20%0A%20%20%20%20node%20%5Bcolor%3Dblue%5D%0A%22Abavia%22%20--%20%22Abavia%20%22%20--%20%22Cheapnews%22%0A%22Abavia%20%22%20--%20%22EasyUsenet%22%0A%22Abavia%20%22%20--%20%22Usenet.nl%22%0A%22Abavia%20%22%20--%20%22Usenet.org%22%0A%22Abavia%20%22%20--%20%22Usenext%22%0A%22Abavia%20%22%20--%20%22XS%20News%20%2F%20Xenna%22%0A%22Abavia%20%22%20--%20%22XS%20News%22%0A%22XS%20News%22%20--%20%22aEton%5CnBulknews%5CnDreamload%5CnGebruikhet%5CnI-Telligent%5CnNewsGrabber%5CnNewsXS%5CnSMS%20Usenet%5CnStingy%20Usenet%5CnUsenet.today%5CnUsenetAgency%5CnUsenetDiscount%5CnUsenetDiscounter.com%5CnUsenet-Server%5CnUseNight%5CnXS%20Usenet%5CnZ51%22%0A%20%0A%20%20%20%20node%20%5Bcolor%3Dred%5D%0A%22Omicron%22%20--%20%20%22Eweka%20Internet%20Services%22%20--%20%7Bnode%5Bshape%3Dfolder%20fontcolor%3Dorange%5D%20Eweka%7D%0A%22Omicron%22%20--%20%22HW%20Media%22%0A%22HW%20Media%22%20--%20%22Astraweb%22%0A%22HW%20Media%22%20--%20%22Easynews%22%0A%22HW%20Media%22%20--%20%22Newsgroup%20Ninja%22%0A%22HW%20Media%22%20--%20%22NewsHosting%22%0A%22HW%20Media%22%20--%20%22UsenetServer%22%0A%22NewsHosting%22%20--%20%22Alibis%5CnAnonyNews%5CnAtlantisNews%5CnBinary%20Boy%5CnBinTube%5CnBlockNews%5CnBudgetNews%5CnFast-Usenet%5CnFirstload%5CnForte%20Agent%5CnFrugal%20Usenet%5CnHitNews%5CniLoad%5CnMaximumUsenet%5CnNewsFusion%5CnNewsGroup-Binaries%5CnNewsGroupDownload%5CnNewsLeecher%5CnNgroups%5CnPrepaid-Usenet%5CnShemes%5CnSimonNews%5CnSnelNL%5CnTheCubeNet%5CnThunderNews%5CnUncensored%20Newsfeed%5CnUsenet-News%5CnUsenet.nl%5CnUsenet.se%5CnUsenet4u%5CnUsenetAccess%5CnUseNetNow%5CnUsenetStorm%5CnUsenext%5CnXenNews%22%0A%20%0A%22Omicron%22%20--%20%22Base%20IP%20%2F%20HW%20Media%22%0A%22Base%20IP%20%2F%20HW%20Media%22%20--%20%22TweakNews%22%0A%22Base%20IP%20%2F%20HW%20Media%22%20--%20%22PureUsenet%22%0A%22Base%20IP%20%2F%20HW%20Media%22%20--%20%22SunnyUsenet%22%0A%22Base%20IP%20%2F%20HW%20Media%22%20--%20%22XLned%22%0A%22XLned%22%20--%20%22ExtremeUsenet%5CnUsenetBucket%22%0A%0A%20%20%20%20node%20%5Bstyle%3Dsolid%20color%3Dwhite%5D%20edge%20%5Bstyle%3Dinvis%5D%0A%22Company%22%20--%20%22Backbone%22%20--%20%22Provider%22%20--%20%22Resellers%22%0A%22Vesion%2021-12-2020%22%0A%0A%09node%5Bstyle%3Dfilled%20shape%3Dfolder%20fillcolor%3Dblack%20fontcolor%3Dorange%5D%0A%22NTD%22%20--%20%22Vesion%2021-12-2020%22%0A%0A%7D%0A%0A%2F*The%20%22%20--%20%22%20symbol%20defiines%20a%20relationship%20between%20%22parent%20--%20child%22%0A%0ASome%20companies%2Fproviders%2Fbackbones%20have%20the%20same%20name%20Eg%20Altopia_company_%20serves%20Altopia_backbone%0Awho%20then%20serves%20Altopia_provider%2C%20because%20they%20all%20have%20to%20have%20unique%20names%20I%20just%20added%20some%20extra%20spaces%0Aat%20the%20end%20eg%20%22Altopia%22%20--%20%22Altopia%20%22%20--%20%22Altoipia%20%20%22%0A%0A%0ATo%20generate%20an%20updated%20version%20it's%20all%20doable%20in%20your%20browser%20and%20we've%20kept%20it%20fairly%20simple.%0A%0Ahttps%3A%2F%2Fedotor.net%2F%20is%20probably%20where%20you're%20viewing%20this%20from.%0A%0AAs%20you%20edit%20the%20left%20text%20you'll%20see%2C%20in%20real%20time%2C%20the%20changes%20made%20on%20the%20right%20side.%0A%0AImportantly%20when%20you're%20done%20editing%2C%20in%20the%20top-left%20click%20the%20%22Download%22%20button%2C%20select%20SVG.%0A%0AWoopdidoo%2C%20you%20now%20have%20downloaded%20an%20updated%20tree%20diagram.%0A%0AAlso%20importantly%2C%20in%20the%20top%20right%20corner%20click%20%22Copy%20S

Here's a hyperlink.

I deleted that bookmark, re-ran the floccus sync, and it succeeded. A few ideas come to mind in how the user experience can be improved:

Improving error messaging

The error message displayed to the user in Floccus is misleading. "E020: Could not parse server response. Is the bookmarks app installed on your server?" This error would lead the user to believe that Floccus thinks perhaps the bookmark app isn't installed. If the response code is 414, that indicates the opposite. It implies that the bookmark extension is installed, but the bookmark in question is causing issues.

A better handling of a 414 would be something like "The bookmark titled 'foo' has a URI that is too long to be supported"

Anything that helps the user understand that it's an issue with a particular bookmark, and helps inform them to either shorten or delete the bookmark.

Fix the underlying issue

I was looking into the Nextcloud API to understand the contract of the call Floccus is making. It doesn't look like it's possible to query the API for a specific bookmark using anything other than the bookmarks URL. This is odd considering each bookmark in the response has an id.

To get around this limitaiton, perhaps Floccus could use pagination to get all of the bookmarks instead of fetching individual bookmarks?

<!-- gh-comment-id:1297343395 --> @patrick-motard commented on GitHub (Oct 31, 2022): Absolutely. Thanks @marcelklehr for the speedy response. Looking through the logs in Nextcloud, it looks like the culprit might be a 414 status code, indicating the URI is too long. Below is the log entry for it. I've omitted part of the URI in the logs below, however it _is_ an incredibly long URI. Looking into the Nextcloud logs, I think I've figured out what is going on. I think it presents an opportunity for improvement in either within Floccus, Nextcloud, or both. The following log entry pointed me to the culprit. ``` nextcloud_nextcloud.1.okcf386b5izv@lahey | 10.0.1.95 - - [31/Oct/2022:10:47:35 -0500] "GET /index.php/apps/bookmarks/public/rest/v2/bookmark?url=https%3A%2F%2Fedotor.net%2F%3Fengine%3Ddot%3Fengine%3Ddot%23%2523%2520https%253A%252F%252Fedotor.net%252F%250Agraph%2520graphname%2520%257B%250Abgcolor%253Dblack%2520%2520%2509%2523background%2520color%250Arankdir%253DLR%2520%2509%2509%2523direction%2520of%2520graph%252C%2520eg%2520LR%2520is%2520Left-to-Right%2520%252CTB%2520is%2520Top-to-Bottom%250Anode%2520%255Bshape%2520%253D%2520box%2520style%253D%2522filled%2522%2520fontcolor%253Dwhite%2520height%253D.37%2520fontname%253DHelvetica%255D%2520%2523these%2520effect%2520everything%2520below%2520unless%2520overridden%2520by%2520another%2520%2522node%255B%255D%2522%2520statement%250Aedge%2520%255Bcolor%253Dwhite%255D%2520%2523the%2520edge%2520is%2520the%2520lines%2520between%2520company%252Fbackbone%252Fprovider%2520reseller%250A%250A%2520%2520%2520%2520node%2520%255Bcolor%253D%2522%252391c49b%2522%255D%2520%2523we%2520change%2520the%2520colour%2520of%2520each%2520company%252C%2520eg%2520omicron%2520is%2520%2522red%2522%250A%2522United%2520Newsserver%2520%2522%2520--%2509%2522Elbracht%2522%250A%2522Elbracht%2522%2520--%2520%2522United%2520Newsserver%2522%250A%2522Elbracht%2522%2520--%2520%2522Premium%2520News%2520%2522%250A%2520%2520%2520%2520%250A%2520%2520%2520%2520node%2520%255Bcolor%253D%2522%2523f6b72d%2522%255D%250A%2522Altopia%2522%2520--%2520%2522Altopia%2520%2522%2520--%2520%2522Altopia%2520%2520%2522%250A%2520%250A%2520%2520%2520%2520node%2520%255Bcolor%253D%2522%2523444139%2522%255D%250A%2522NewsGuy%2520%2522%2520--%2520%2522NewsGuy%2520%252F%2520HW%2520Media%2522%2520--%2520%2522NewsGuy%2522%250A%2522NewsGuy%2520%252F%2520HW%2520Media%2522%2520--%2520%2522nntpjunkie.com%2522%250A%250A%2520%2520%2520%2520node%2520%255Bcolor%253D%2522%2523ec2efa%2522%255D%250A%2522Newscene%2520%2522%2520--%2520%2522Novia%2520%252F%2520HW%2520Media%2522%2520--%2520%2522Newscene%2522%2520--%2520%2522Premium%2520News%2522%250A%2520%250A%2520%2520%2520%2520node%2520%255Bcolor%253D%2522%25233f022e%2522%255D%250A%2522Giganews%2522%2520--%2509%2522Giganews%2520%2522%2520--%2520%2522Giganews%2520%2520%2522%250A%2522Giganews%2520%2522%2520--%2509%2522Supernews%2522%250A%2522Giganews%2520%2520%2522%2520--%2509%2522PowerUsenet%255CnRhinoNewsgroups%255CnUsenet.net%2522%250A%250A%2520%2520%2520%2520node%2520%255Bcolor%253D%2522%2523368a8b%2522%255D%250A%2522Usenet.Farm%2520%2522%2520--%2520%257Bnode%255Bshape%253Dfolder%2520fontcolor%253Dorange%255D%2522Its%2520Hosted%2522%257D%2520--%2520%257Bnode%255Bshape%253Dfolder%2520fontcolor%253Dorange%255D%2522Usenet.Farm%2522%257D%2520--%2520%2522UsenetNews%255CnFrugalUsenet%2522%2520%2523the%2520%2522%257Bnode%255Bshape%253Dfolder%2520fontcolor%253Dorange%255D%2522Usenet.Farm%2522%257D%2522%2520is%2520for%2520marking%2520something%2520as%2520NTD%250A%2520%250A%2520%2520%2520%2520node%2520%255Bcolor%253D%2522%2523c16ffa%2522%255D%250A%2522Uzo%2520Reto%2522%2520--%2520%257Bnode%255Bshape%253Dfolder%2520fontcolor%253Dorange%255D%2522ViperNews%2522%257D%2520--%2520%257Bnode%255Bshape%253Dfolder%2520fontcolor%253Dorange%255D%2522ViperNews%2520%2522%257D%2520--%2520%2522%2520UsenetNews%255CnNovaUsenet%2522%250A%2520%250A%2520%2520%2520%2520node%2520%255Bcolor%253D%2522%25232a7325%2522%255D%250A%2522UsenetExpress%2522%2520--%2520%2522UsenetExpress%2520%2522%2520--%2520%2522UsenetExpress%2520%2520%2522%2520--%2520%2522UsenetNews%255CnUsenetPrime%255Cn%2520UsenetFire%2522%250A%2522UsenetExpress%2520%2522%2520--%2520%2522NewsDemon%2522%250A%2522UsenetExpress%2520%2522%2520--%2520%2522NewsGroupDirect%2520%2522%250A%2522UsenetExpress%2522%2520--%2520%2522NewsGroupDirect%2522%2520--%2520%2522NewsGroupDirect%2520%2522%250A%2520%250A%2520%2520%2520%2520node%2520%255Bcolor%253Dblue%255D%250A%2522Abavia%2522%2520--%2520%2522Abavia%2520%2522%2520--%2520%2522Cheapnews%2522%250A%2522Abavia%2520%2522%2520--%2520%2522EasyUsenet%2522%250A%2522Abavia%2520%2522%2520--%2520%2522Usenet.nl%2522%250A%2522Abavia%2520%2522%2520--%2520%2522Usenet.org%2522%250A%2522Abavia%2520%2522%2520--%2520%2522Usenext%2522%250A%2522Abavia%2520%2522%2520--%2520%2522XS%2520News%2520%252F%2520Xenna%2522%250A%2522Abavia%2520%2522%2520--%2520%2522XS%2520News%2522%250A%2522XS%2520News%2522%2520--%2520%2522aEton%255CnBulknews%255CnDreamload%255CnGebruikhet%255CnI-Telligent%255CnNewsGrabber%255CnNewsXS%255CnSMS%2520Usenet%255CnStingy%2520Usenet%255CnUsenet.today%255CnUsenetAgency%255CnUsenetDiscount%255CnUsenetDiscounter.com%255CnUsenet-Server%255CnUseNight%255CnXS%2520Usenet%255CnZ51%2522%250A%2520%250A%2520%2520%2520%2520node%2520%255Bcolor%253Dred%255D%250A%2522Omicron%2522%2520--%2520%2520%2522Eweka%2520Internet%2520Services%2522%2520--%2520%257Bnode%255Bshape%253Dfolder%2520fontcolor%253Dorange%255D%2520Eweka%257D%250A%2522Omicron%2522%2520--%2520%2522HW%2520Media%2522%250A%2522HW%2520Media%2522%2520--%2520%2522Astraweb%2522%250A%2522HW%2520Media%2522%2520--%2520%2522Easynews%2522%250A%2522HW%2520Media%2522%2520--%2520%2522Newsgroup%2520Ninja%2522%250A%2522HW%2520Media%2522%2520--%2520%2522NewsHosting%2522%250A%2522HW%2520Media%2522%2520--%2520%2522UsenetServer%2522%250A%2522NewsHosting%2522%2520--%2520%2522Alibis%255CnAnonyNews%255CnAtlantisNews%255CnBinary%2520Boy%255CnBinTube%255CnBlockNews%255CnBudgetNews%255CnFast-Usenet%255CnFirstload%255CnForte%2520Agent%255CnFrugal%2520Usenet%255CnHitNews%255CniLoad%255CnMaximumUsenet%255CnNewsFusion%255CnNewsGroup-Binaries%255CnNewsGroupDownload%255CnNewsLeecher%255CnNgroups%255CnPrepaid-Usenet%255CnShemes%255CnSimonNews%255CnSnelNL%255CnTheCubeNet%255CnThunderNews%255CnUncensored%2520Newsfeed%255CnUsenet-News%255CnUsenet.nl%255CnUsenet.se%255CnUsenet4u%255CnUsenetAccess%255CnUseNetNow%255CnUsenetStorm%255CnUsenext%255CnXenNews%2522%250A%2520%250A%2522Omicron%2522%2520--%2520%2522Base%2520IP%2520%252F%2520HW%2520Media%2522%250A%2522Base%2520IP%2520%252F%2520HW%2520Media%2522%2520--%2520%2522TweakNews%2522%250A%2522Base%2520IP%2520%252F%2520HW%2520Media%2522%2520--%2520%2522PureUsenet%2522%250A%2522Base%2520IP%2520%252F%2520HW%2520Media%2522%2520--%2520%2522SunnyUsenet%2522%250A%2522Base%2520IP%2520%252F%2520HW%2520Media%2522%2520--%2520%2522XLned%2522%250A%2522XLned%2522%2520--%2520%2522ExtremeUsenet%255CnUsenetBucket%2522%250A%250A%2520%2520%2520%2520node%2520%255Bstyle%253Dsolid%2520color%253Dwhite%255D%2520edge%2520%255Bstyle%253Dinvis%255D%250A%2522Company%2522%2520--%2520%2522Backbone%2522%2520--%2520%2522Provider%2522%2520--%2520%2522Resellers%2522%250A%2522Vesion%252021-12-2020%2522%250A%250A%2509node%255Bstyle%253Dfilled%2520shape%253Dfolder%2520fillcolor%253Dblack%2520fontcolor%253Dorange%255D%250A%2522NTD%2522%2520--%2520%2522Vesion%252021-12-2020%2522%250A%250A%257D%250A%250A%252F*The%2520%2522%2520--%2520%2522%2520symbol%2520defiines%2520a%2520relationship%2520between%2520%2522parent%2520--%2520child%2522%250A%250ASome%2520companies%252Fproviders%252Fbackbones%2520have%2520the%2520same%2520name%2520Eg%2520Altopia_company_%2520serves%2520Altopia_backbone%250Awho%2520then%2520serves%2520Altopia_provider%252C%2520because%2520they%2520all%2520have%2520to%2520have%2520unique%2520names%2520I%2520just%2520added%2520some%2520extra%2520spaces%250Aat%2520the%2520end%2520eg%2520%2522Altopia%2522%2520--%2520%2522Altopia%2520%2522%2520--%2520%2522Altoipia%2520%2520%2522%250A%250A%250ATo%2520generate%2520an%2520updated%2520version%2520it%27s%2520all%2520doable%2520in%2520your%2520browser%2520and%2520we%27ve%2520kept%2520it%2520fairly%2520simple.%250A%250Ahttps%253A%252F%252Fedotor.net%252F%2520is%2520probably%2520where%2520you%27re%2520viewing%2520this%2520from.%250A%250AAs%2520you%2520edit%2520the%2520left%2520text%2520you%27ll%2520see%252C%2520in%2520real%2520time%252C%2520the%2520changes%2520made%2520on%2520the%2520right%2520side.%250A%250AImportantly%2520when%2520you%27re%2520done%2520editing%252C%2520in%2520the%2520top-left%2520click%2520the%2520%2522Download%2522%2520button%252C%2520select%2520SVG.%250A%250AWoopdidoo%252C%2520you%2520now%2520have%2520downloaded%2520an%2520updated%2520tree%2520diagram.%250A%250AAlso%2520importantly%252C%2520in%2520the%2520top%2520right%2520corner%2520click%2520%2522Copy%2520S" 414 514 "-" "-" ``` The 414 status code at the end of the log indicates that the URI is too long. [Decoding](https://www.url-encode-decode.com/) the URI yields this URI: ``` https://edotor.net/?engine=dot?engine=dot#%23%20https%3A%2F%2Fedotor.net%2F%0Agraph%20graphname%20%7B%0Abgcolor%3Dblack%20%20%09%23background%20color%0Arankdir%3DLR%20%09%09%23direction%20of%20graph%2C%20eg%20LR%20is%20Left-to-Right%20%2CTB%20is%20Top-to-Bottom%0Anode%20%5Bshape%20%3D%20box%20style%3D%22filled%22%20fontcolor%3Dwhite%20height%3D.37%20fontname%3DHelvetica%5D%20%23these%20effect%20everything%20below%20unless%20overridden%20by%20another%20%22node%5B%5D%22%20statement%0Aedge%20%5Bcolor%3Dwhite%5D%20%23the%20edge%20is%20the%20lines%20between%20company%2Fbackbone%2Fprovider%20reseller%0A%0A%20%20%20%20node%20%5Bcolor%3D%22%2391c49b%22%5D%20%23we%20change%20the%20colour%20of%20each%20company%2C%20eg%20omicron%20is%20%22red%22%0A%22United%20Newsserver%20%22%20--%09%22Elbracht%22%0A%22Elbracht%22%20--%20%22United%20Newsserver%22%0A%22Elbracht%22%20--%20%22Premium%20News%20%22%0A%20%20%20%20%0A%20%20%20%20node%20%5Bcolor%3D%22%23f6b72d%22%5D%0A%22Altopia%22%20--%20%22Altopia%20%22%20--%20%22Altopia%20%20%22%0A%20%0A%20%20%20%20node%20%5Bcolor%3D%22%23444139%22%5D%0A%22NewsGuy%20%22%20--%20%22NewsGuy%20%2F%20HW%20Media%22%20--%20%22NewsGuy%22%0A%22NewsGuy%20%2F%20HW%20Media%22%20--%20%22nntpjunkie.com%22%0A%0A%20%20%20%20node%20%5Bcolor%3D%22%23ec2efa%22%5D%0A%22Newscene%20%22%20--%20%22Novia%20%2F%20HW%20Media%22%20--%20%22Newscene%22%20--%20%22Premium%20News%22%0A%20%0A%20%20%20%20node%20%5Bcolor%3D%22%233f022e%22%5D%0A%22Giganews%22%20--%09%22Giganews%20%22%20--%20%22Giganews%20%20%22%0A%22Giganews%20%22%20--%09%22Supernews%22%0A%22Giganews%20%20%22%20--%09%22PowerUsenet%5CnRhinoNewsgroups%5CnUsenet.net%22%0A%0A%20%20%20%20node%20%5Bcolor%3D%22%23368a8b%22%5D%0A%22Usenet.Farm%20%22%20--%20%7Bnode%5Bshape%3Dfolder%20fontcolor%3Dorange%5D%22Its%20Hosted%22%7D%20--%20%7Bnode%5Bshape%3Dfolder%20fontcolor%3Dorange%5D%22Usenet.Farm%22%7D%20--%20%22UsenetNews%5CnFrugalUsenet%22%20%23the%20%22%7Bnode%5Bshape%3Dfolder%20fontcolor%3Dorange%5D%22Usenet.Farm%22%7D%22%20is%20for%20marking%20something%20as%20NTD%0A%20%0A%20%20%20%20node%20%5Bcolor%3D%22%23c16ffa%22%5D%0A%22Uzo%20Reto%22%20--%20%7Bnode%5Bshape%3Dfolder%20fontcolor%3Dorange%5D%22ViperNews%22%7D%20--%20%7Bnode%5Bshape%3Dfolder%20fontcolor%3Dorange%5D%22ViperNews%20%22%7D%20--%20%22%20UsenetNews%5CnNovaUsenet%22%0A%20%0A%20%20%20%20node%20%5Bcolor%3D%22%232a7325%22%5D%0A%22UsenetExpress%22%20--%20%22UsenetExpress%20%22%20--%20%22UsenetExpress%20%20%22%20--%20%22UsenetNews%5CnUsenetPrime%5Cn%20UsenetFire%22%0A%22UsenetExpress%20%22%20--%20%22NewsDemon%22%0A%22UsenetExpress%20%22%20--%20%22NewsGroupDirect%20%22%0A%22UsenetExpress%22%20--%20%22NewsGroupDirect%22%20--%20%22NewsGroupDirect%20%22%0A%20%0A%20%20%20%20node%20%5Bcolor%3Dblue%5D%0A%22Abavia%22%20--%20%22Abavia%20%22%20--%20%22Cheapnews%22%0A%22Abavia%20%22%20--%20%22EasyUsenet%22%0A%22Abavia%20%22%20--%20%22Usenet.nl%22%0A%22Abavia%20%22%20--%20%22Usenet.org%22%0A%22Abavia%20%22%20--%20%22Usenext%22%0A%22Abavia%20%22%20--%20%22XS%20News%20%2F%20Xenna%22%0A%22Abavia%20%22%20--%20%22XS%20News%22%0A%22XS%20News%22%20--%20%22aEton%5CnBulknews%5CnDreamload%5CnGebruikhet%5CnI-Telligent%5CnNewsGrabber%5CnNewsXS%5CnSMS%20Usenet%5CnStingy%20Usenet%5CnUsenet.today%5CnUsenetAgency%5CnUsenetDiscount%5CnUsenetDiscounter.com%5CnUsenet-Server%5CnUseNight%5CnXS%20Usenet%5CnZ51%22%0A%20%0A%20%20%20%20node%20%5Bcolor%3Dred%5D%0A%22Omicron%22%20--%20%20%22Eweka%20Internet%20Services%22%20--%20%7Bnode%5Bshape%3Dfolder%20fontcolor%3Dorange%5D%20Eweka%7D%0A%22Omicron%22%20--%20%22HW%20Media%22%0A%22HW%20Media%22%20--%20%22Astraweb%22%0A%22HW%20Media%22%20--%20%22Easynews%22%0A%22HW%20Media%22%20--%20%22Newsgroup%20Ninja%22%0A%22HW%20Media%22%20--%20%22NewsHosting%22%0A%22HW%20Media%22%20--%20%22UsenetServer%22%0A%22NewsHosting%22%20--%20%22Alibis%5CnAnonyNews%5CnAtlantisNews%5CnBinary%20Boy%5CnBinTube%5CnBlockNews%5CnBudgetNews%5CnFast-Usenet%5CnFirstload%5CnForte%20Agent%5CnFrugal%20Usenet%5CnHitNews%5CniLoad%5CnMaximumUsenet%5CnNewsFusion%5CnNewsGroup-Binaries%5CnNewsGroupDownload%5CnNewsLeecher%5CnNgroups%5CnPrepaid-Usenet%5CnShemes%5CnSimonNews%5CnSnelNL%5CnTheCubeNet%5CnThunderNews%5CnUncensored%20Newsfeed%5CnUsenet-News%5CnUsenet.nl%5CnUsenet.se%5CnUsenet4u%5CnUsenetAccess%5CnUseNetNow%5CnUsenetStorm%5CnUsenext%5CnXenNews%22%0A%20%0A%22Omicron%22%20--%20%22Base%20IP%20%2F%20HW%20Media%22%0A%22Base%20IP%20%2F%20HW%20Media%22%20--%20%22TweakNews%22%0A%22Base%20IP%20%2F%20HW%20Media%22%20--%20%22PureUsenet%22%0A%22Base%20IP%20%2F%20HW%20Media%22%20--%20%22SunnyUsenet%22%0A%22Base%20IP%20%2F%20HW%20Media%22%20--%20%22XLned%22%0A%22XLned%22%20--%20%22ExtremeUsenet%5CnUsenetBucket%22%0A%0A%20%20%20%20node%20%5Bstyle%3Dsolid%20color%3Dwhite%5D%20edge%20%5Bstyle%3Dinvis%5D%0A%22Company%22%20--%20%22Backbone%22%20--%20%22Provider%22%20--%20%22Resellers%22%0A%22Vesion%2021-12-2020%22%0A%0A%09node%5Bstyle%3Dfilled%20shape%3Dfolder%20fillcolor%3Dblack%20fontcolor%3Dorange%5D%0A%22NTD%22%20--%20%22Vesion%2021-12-2020%22%0A%0A%7D%0A%0A%2F*The%20%22%20--%20%22%20symbol%20defiines%20a%20relationship%20between%20%22parent%20--%20child%22%0A%0ASome%20companies%2Fproviders%2Fbackbones%20have%20the%20same%20name%20Eg%20Altopia_company_%20serves%20Altopia_backbone%0Awho%20then%20serves%20Altopia_provider%2C%20because%20they%20all%20have%20to%20have%20unique%20names%20I%20just%20added%20some%20extra%20spaces%0Aat%20the%20end%20eg%20%22Altopia%22%20--%20%22Altopia%20%22%20--%20%22Altoipia%20%20%22%0A%0A%0ATo%20generate%20an%20updated%20version%20it's%20all%20doable%20in%20your%20browser%20and%20we've%20kept%20it%20fairly%20simple.%0A%0Ahttps%3A%2F%2Fedotor.net%2F%20is%20probably%20where%20you're%20viewing%20this%20from.%0A%0AAs%20you%20edit%20the%20left%20text%20you'll%20see%2C%20in%20real%20time%2C%20the%20changes%20made%20on%20the%20right%20side.%0A%0AImportantly%20when%20you're%20done%20editing%2C%20in%20the%20top-left%20click%20the%20%22Download%22%20button%2C%20select%20SVG.%0A%0AWoopdidoo%2C%20you%20now%20have%20downloaded%20an%20updated%20tree%20diagram.%0A%0AAlso%20importantly%2C%20in%20the%20top%20right%20corner%20click%20%22Copy%20S ``` Here's a [hyperlink](https://edotor.net/?engine=dot?engine=dot#%23%20https%3A%2F%2Fedotor.net%2F%0Agraph%20graphname%20%7B%0Abgcolor%3Dblack%20%20%09%23background%20color%0Arankdir%3DLR%20%09%09%23direction%20of%20graph%2C%20eg%20LR%20is%20Left-to-Right%20%2CTB%20is%20Top-to-Bottom%0Anode%20%5Bshape%20%3D%20box%20style%3D%22filled%22%20fontcolor%3Dwhite%20height%3D.37%20fontname%3DHelvetica%5D%20%23these%20effect%20everything%20below%20unless%20overridden%20by%20another%20%22node%5B%5D%22%20statement%0Aedge%20%5Bcolor%3Dwhite%5D%20%23the%20edge%20is%20the%20lines%20between%20company%2Fbackbone%2Fprovider%20reseller%0A%0A%20%20%20%20node%20%5Bcolor%3D%22%2391c49b%22%5D%20%23we%20change%20the%20colour%20of%20each%20company%2C%20eg%20omicron%20is%20%22red%22%0A%22United%20Newsserver%20%22%20--%09%22Elbracht%22%0A%22Elbracht%22%20--%20%22United%20Newsserver%22%0A%22Elbracht%22%20--%20%22Premium%20News%20%22%0A%20%20%20%20%0A%20%20%20%20node%20%5Bcolor%3D%22%23f6b72d%22%5D%0A%22Altopia%22%20--%20%22Altopia%20%22%20--%20%22Altopia%20%20%22%0A%20%0A%20%20%20%20node%20%5Bcolor%3D%22%23444139%22%5D%0A%22NewsGuy%20%22%20--%20%22NewsGuy%20%2F%20HW%20Media%22%20--%20%22NewsGuy%22%0A%22NewsGuy%20%2F%20HW%20Media%22%20--%20%22nntpjunkie.com%22%0A%0A%20%20%20%20node%20%5Bcolor%3D%22%23ec2efa%22%5D%0A%22Newscene%20%22%20--%20%22Novia%20%2F%20HW%20Media%22%20--%20%22Newscene%22%20--%20%22Premium%20News%22%0A%20%0A%20%20%20%20node%20%5Bcolor%3D%22%233f022e%22%5D%0A%22Giganews%22%20--%09%22Giganews%20%22%20--%20%22Giganews%20%20%22%0A%22Giganews%20%22%20--%09%22Supernews%22%0A%22Giganews%20%20%22%20--%09%22PowerUsenet%5CnRhinoNewsgroups%5CnUsenet.net%22%0A%0A%20%20%20%20node%20%5Bcolor%3D%22%23368a8b%22%5D%0A%22Usenet.Farm%20%22%20--%20%7Bnode%5Bshape%3Dfolder%20fontcolor%3Dorange%5D%22Its%20Hosted%22%7D%20--%20%7Bnode%5Bshape%3Dfolder%20fontcolor%3Dorange%5D%22Usenet.Farm%22%7D%20--%20%22UsenetNews%5CnFrugalUsenet%22%20%23the%20%22%7Bnode%5Bshape%3Dfolder%20fontcolor%3Dorange%5D%22Usenet.Farm%22%7D%22%20is%20for%20marking%20something%20as%20NTD%0A%20%0A%20%20%20%20node%20%5Bcolor%3D%22%23c16ffa%22%5D%0A%22Uzo%20Reto%22%20--%20%7Bnode%5Bshape%3Dfolder%20fontcolor%3Dorange%5D%22ViperNews%22%7D%20--%20%7Bnode%5Bshape%3Dfolder%20fontcolor%3Dorange%5D%22ViperNews%20%22%7D%20--%20%22%20UsenetNews%5CnNovaUsenet%22%0A%20%0A%20%20%20%20node%20%5Bcolor%3D%22%232a7325%22%5D%0A%22UsenetExpress%22%20--%20%22UsenetExpress%20%22%20--%20%22UsenetExpress%20%20%22%20--%20%22UsenetNews%5CnUsenetPrime%5Cn%20UsenetFire%22%0A%22UsenetExpress%20%22%20--%20%22NewsDemon%22%0A%22UsenetExpress%20%22%20--%20%22NewsGroupDirect%20%22%0A%22UsenetExpress%22%20--%20%22NewsGroupDirect%22%20--%20%22NewsGroupDirect%20%22%0A%20%0A%20%20%20%20node%20%5Bcolor%3Dblue%5D%0A%22Abavia%22%20--%20%22Abavia%20%22%20--%20%22Cheapnews%22%0A%22Abavia%20%22%20--%20%22EasyUsenet%22%0A%22Abavia%20%22%20--%20%22Usenet.nl%22%0A%22Abavia%20%22%20--%20%22Usenet.org%22%0A%22Abavia%20%22%20--%20%22Usenext%22%0A%22Abavia%20%22%20--%20%22XS%20News%20%2F%20Xenna%22%0A%22Abavia%20%22%20--%20%22XS%20News%22%0A%22XS%20News%22%20--%20%22aEton%5CnBulknews%5CnDreamload%5CnGebruikhet%5CnI-Telligent%5CnNewsGrabber%5CnNewsXS%5CnSMS%20Usenet%5CnStingy%20Usenet%5CnUsenet.today%5CnUsenetAgency%5CnUsenetDiscount%5CnUsenetDiscounter.com%5CnUsenet-Server%5CnUseNight%5CnXS%20Usenet%5CnZ51%22%0A%20%0A%20%20%20%20node%20%5Bcolor%3Dred%5D%0A%22Omicron%22%20--%20%20%22Eweka%20Internet%20Services%22%20--%20%7Bnode%5Bshape%3Dfolder%20fontcolor%3Dorange%5D%20Eweka%7D%0A%22Omicron%22%20--%20%22HW%20Media%22%0A%22HW%20Media%22%20--%20%22Astraweb%22%0A%22HW%20Media%22%20--%20%22Easynews%22%0A%22HW%20Media%22%20--%20%22Newsgroup%20Ninja%22%0A%22HW%20Media%22%20--%20%22NewsHosting%22%0A%22HW%20Media%22%20--%20%22UsenetServer%22%0A%22NewsHosting%22%20--%20%22Alibis%5CnAnonyNews%5CnAtlantisNews%5CnBinary%20Boy%5CnBinTube%5CnBlockNews%5CnBudgetNews%5CnFast-Usenet%5CnFirstload%5CnForte%20Agent%5CnFrugal%20Usenet%5CnHitNews%5CniLoad%5CnMaximumUsenet%5CnNewsFusion%5CnNewsGroup-Binaries%5CnNewsGroupDownload%5CnNewsLeecher%5CnNgroups%5CnPrepaid-Usenet%5CnShemes%5CnSimonNews%5CnSnelNL%5CnTheCubeNet%5CnThunderNews%5CnUncensored%20Newsfeed%5CnUsenet-News%5CnUsenet.nl%5CnUsenet.se%5CnUsenet4u%5CnUsenetAccess%5CnUseNetNow%5CnUsenetStorm%5CnUsenext%5CnXenNews%22%0A%20%0A%22Omicron%22%20--%20%22Base%20IP%20%2F%20HW%20Media%22%0A%22Base%20IP%20%2F%20HW%20Media%22%20--%20%22TweakNews%22%0A%22Base%20IP%20%2F%20HW%20Media%22%20--%20%22PureUsenet%22%0A%22Base%20IP%20%2F%20HW%20Media%22%20--%20%22SunnyUsenet%22%0A%22Base%20IP%20%2F%20HW%20Media%22%20--%20%22XLned%22%0A%22XLned%22%20--%20%22ExtremeUsenet%5CnUsenetBucket%22%0A%0A%20%20%20%20node%20%5Bstyle%3Dsolid%20color%3Dwhite%5D%20edge%20%5Bstyle%3Dinvis%5D%0A%22Company%22%20--%20%22Backbone%22%20--%20%22Provider%22%20--%20%22Resellers%22%0A%22Vesion%2021-12-2020%22%0A%0A%09node%5Bstyle%3Dfilled%20shape%3Dfolder%20fillcolor%3Dblack%20fontcolor%3Dorange%5D%0A%22NTD%22%20--%20%22Vesion%2021-12-2020%22%0A%0A%7D%0A%0A%2F*The%20%22%20--%20%22%20symbol%20defiines%20a%20relationship%20between%20%22parent%20--%20child%22%0A%0ASome%20companies%2Fproviders%2Fbackbones%20have%20the%20same%20name%20Eg%20Altopia_company_%20serves%20Altopia_backbone%0Awho%20then%20serves%20Altopia_provider%2C%20because%20they%20all%20have%20to%20have%20unique%20names%20I%20just%20added%20some%20extra%20spaces%0Aat%20the%20end%20eg%20%22Altopia%22%20--%20%22Altopia%20%22%20--%20%22Altoipia%20%20%22%0A%0A%0ATo%20generate%20an%20updated%20version%20it's%20all%20doable%20in%20your%20browser%20and%20we've%20kept%20it%20fairly%20simple.%0A%0Ahttps%3A%2F%2Fedotor.net%2F%20is%20probably%20where%20you're%20viewing%20this%20from.%0A%0AAs%20you%20edit%20the%20left%20text%20you'll%20see%2C%20in%20real%20time%2C%20the%20changes%20made%20on%20the%20right%20side.%0A%0AImportantly%20when%20you're%20done%20editing%2C%20in%20the%20top-left%20click%20the%20%22Download%22%20button%2C%20select%20SVG.%0A%0AWoopdidoo%2C%20you%20now%20have%20downloaded%20an%20updated%20tree%20diagram.%0A%0AAlso%20importantly%2C%20in%20the%20top%20right%20corner%20click%20%22Copy%20S). I deleted that bookmark, re-ran the floccus sync, and it succeeded. A few ideas come to mind in how the user experience can be improved: # Improving error messaging The error message displayed to the user in Floccus is misleading. "E020: Could not parse server response. Is the bookmarks app installed on your server?" This error would lead the user to believe that Floccus thinks perhaps the bookmark app isn't installed. If the response code is 414, that indicates the opposite. It implies that the bookmark extension is installed, but the bookmark in question is causing issues. A better handling of a 414 would be something like "The bookmark titled 'foo' has a URI that is too long to be supported" Anything that helps the user understand that it's an issue with a particular bookmark, and helps inform them to either shorten or delete the bookmark. # Fix the underlying issue I was looking into the Nextcloud API to understand the contract of the call Floccus is making. [It doesn't look like it's possible to query the API for a specific bookmark using anything other than the bookmarks URL](https://nextcloud-bookmarks.readthedocs.io/en/latest/bookmark.html#query-bookmarks). This is odd considering each bookmark in the response has an id. To get around this limitaiton, perhaps Floccus could use pagination to get all of the bookmarks instead of fetching individual bookmarks?
Author
Owner

@marcelklehr commented on GitHub (Nov 3, 2022):

Anything that helps the user understand that it's an issue with a particular bookmark, and helps inform them to either shorten or delete the bookmark.

yep, that's a good point. Error handling is always improvable :)

Fix the underlying issue

This is not trivial, since the point of the request is to search for existing bookmarks with the same URL. Downloading all bookmarks is not very efficient performance-wise, although, floccus does search the bookmarks list if it happens to have dowloaded it during the course of the sync.

<!-- gh-comment-id:1302607411 --> @marcelklehr commented on GitHub (Nov 3, 2022): > Anything that helps the user understand that it's an issue with a particular bookmark, and helps inform them to either shorten or delete the bookmark. yep, that's a good point. Error handling is always improvable :) > Fix the underlying issue This is not trivial, since the point of the request is to search for existing bookmarks with the same URL. Downloading *all* bookmarks is not very efficient performance-wise, although, floccus does search the bookmarks list if it happens to have dowloaded it during the course of the sync.
Author
Owner

@github-actions[bot] commented on GitHub (Nov 4, 2023):

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

<!-- gh-comment-id:1793282409 --> @github-actions[bot] commented on GitHub (Nov 4, 2023): This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/floccus#849
No description provided.