dvcol / synology-download

Synology Download Station browser extension built with React.
https://dvcol.github.io/synology-download/
MIT License
57 stars 6 forks source link

[bug]: Failed to create download #206

Closed omiazad closed 1 year ago

omiazad commented 1 year ago

Affected part

Connection (login/fetching)

Extension version

2.5.2

DSM version

7.1.1-42962 Update 4

Browser version

111.0.5563.147 (Official Build) (64-bit)

Description

When I click on a magnet link, it cannot create download and shows this error -

2023-04-02 22_47_45-Star Trek Nemesis 2002 REMASTERED BRRip x264-ION10 Torrent download - Opera

The previous version worked like a charm, something is not right with this version. Please check.

Steps to Reproduce the Issue

Just click on any magnet link.

Screenshots or Mock up

2023-04-02 22_47_45-Star Trek Nemesis 2002 REMASTERED BRRip x264-ION10 Torrent download - Opera

Failure Logs

No response

Store snapshots

No response

dvcol commented 1 year ago

Hello, can you double check the extension version ?

The maximum version available through the store should be 2.5.2 unless you downloaded an unreleased version directly from github ?

Could you double check your DSM version also please.

Could you also inspect the network error and copy the fetch request that fails in the developer tools ?

image image

omiazad commented 1 year ago

Hi, I have updated the version. You are correct, it is 2.5.2. The DSM version is fine - 2023-04-03 12_39_50-surovi-nas - Synology DiskStation and 2 more pages - Personal - Microsoft​ Edge

Sorry I could not produce the network error for you. My console do not look like yours. And have no clues where to look into - 2023-04-03 12_41_28-DevTools - Opera

dvcol commented 1 year ago

Hey, it seems you're using opera, then to access the debugging tools you need to go the manage extension page:

image

Then click on developper mode and service worker:

image

Then when you click on a magnet link a call should appear in the network tab:

image

Can you then please copy the request (copy as fetch) and the response ?

From the error message it looks like your synology client does not support the api call wich is odd since you're on 7.1.1 🤔

Does this occur every time ?

Please try this page to see if you reproduce the issue: https://archlinux.org/download/

omiazad commented 1 year ago

So this is what I did. I opened Archlinux page then cleared the console. Then clicked on the Magnet link and here is the report -

fetch("https://mydns:88/webapi/entry.cgi", { "headers": { "accept": "*/*", "accept-language": "en-GB,en;q=0.9,bn;q=0.8", "access-control-allow-origin": "*", "content-type": "application/x-www-form-urlencoded; charset=UTF-8", "credentials": "omit", "sec-fetch-dest": "empty", "sec-fetch-mode": "cors", "sec-fetch-site": "none" }, "referrerPolicy": "strict-origin-when-cross-origin", "body": "api=SYNO.DownloadStation2.Task&method=create&version=2&type=%22url%22&create_list=false&destination=%22%22&url=%5B%22magnet%3A%3Fxt%3Durn%3Abtih%3A6df99344a488592ba3f71ffaef964a1dbfe0c8ed%26dn%3Darchlinux-2023.04.01-x86_64.iso%22%5D&_sid=uHYHgF4W4vT5oZW_nXWFaJ1iR2O9xTtr", "method": "POST", "mode": "cors", "credentials": "include" });

omiazad commented 1 year ago

I have tried 2 more things. Tried to use my Synology Router's download manager with the extension. Same problem. Also tried to install the latest version from GitHub. Got this error - 2023-04-03 20_36_24-Extensions

dvcol commented 1 year ago

Ok, so it is using the downloadstation2 api, it's an undocumented API so i'm not sure when synology started supporting it (it seems to be DSM 5 or 6 so it should be quite far back).

Could you copy the error response too, (that corresponds to the request you pasted ?)

Can you check in you package manager which version of synology download you'are running ?

image

dvcol commented 1 year ago

The error you're receiving with the latest version is normal it's because the content script running in the tabs is not the same version as the one the background is trying to reach, you can ignore it.

If the issue is compatibility with downloadstation API, you can try using an olf version wich uses the legacy API while I investigate the issue.

release 1.2.1 should still be using the old API (but there might be a few bugs lurking)

omiazad commented 1 year ago

This is on my NAS: 2023-04-03 23_39_12-surovi-nas - Synology DiskStation and 3 more pages - Personal - Microsoft​ Edge

This is on my router: 2023-04-03 23_37_36-idea 52 planet and 1 more page - Personal - Microsoft​ Edge

Here is the error message: Failed to create download task The requested version does not support the functionality https://archlinux.org/download/

Please note, it was working fine just in the old version. It stopped working as soon as the extension received update.

dvcol commented 1 year ago

Hi, this is the error message form the popup right ?

I need the response from the request (the place where you got the fetch request):

image

Did you try the old release to see if this is caused by the API upgrade ?

dvcol commented 1 year ago

Could you also run this query in your console ?

It will ping your nas and return all API endoints version that it's supports

await fetch("https://diskstation:5001/webapi/query.cgi?api=SYNO.API.Info&method=query&version=1&query=ALL", {
  "referrer": "",
  "referrerPolicy": "strict-origin-when-cross-origin",
  "body": null,
  "method": "GET",
  "mode": "cors",
}).then(res => res.json());

You might want to change https://diskstation:5001with your nas ip

dvcol commented 1 year ago

If the issue is what I beleive it is, this temporary version might fix things.

If you could paste the response to the above query and try this version out (you need to unzip the crx file first) it might help :)

synology-download_3.0.10_temp.crx.zip

If you rather compile the source yourself, you can build this PR and zip the build folder to add it to chrome

dvcol commented 1 year ago

Hey, without more info it will be difficult to further diagnose the issue, but hoepully the above mentioned fix did the trick.

As the new version is now available in the store, I'm closing this issue.

Feel free to re-open it or open a new one if the issue persists :)