gautamkrishnar / motrix-webextension

A browser extension for the Motrix Download Manager
GNU General Public License v3.0
1.21k stars 97 forks source link

[ Bug & Partial Solution? ] Extensions does not send downloads to Motrix in Firefox #144

Open mrcapivaro opened 5 months ago

mrcapivaro commented 5 months ago

Description

Debug

When going to firefox's debug page of extensions, the following message about motrix-webextension was present:

Reading manifest: Warning processing permissions: Error processing permissions.1: Value "downloads.shelf" must either: must either [must either [be one of ["idle"], be one of ["menus.overrideContext"], be one of ["search"], be one of ["activeTab"], be one of ["cookies"], be one of ["scripting"], or be one of ["webRequest", "webRequestBlocking", "webRequestFilterResponse", "webRequestFilterResponse.serviceWorkerScript"]], must either [be one of ["mozillaAddons"], be one of ["normandyAddonStudy"], be one of ["urlbar"], be one of ["activityLog"], be one of ["networkStatus"], or be one of ["telemetry"]], be one of ["alarms", "storage", "unlimitedStorage"], be one of ["captivePortal"], be one of ["identity"], be one of ["menus", "contextMenus"], be one of ["geckoProfiler"], be one of ["contextualIdentities"], be one of ["declarativeNetRequestWithHostAccess"], be one of ["dns"], or be one of ["theme"]], must either [must either [be one of ["idle"], be one of ["menus.overrideContext"], be one of ["search"], be one of ["activeTab"], be one of ["cookies"], be one of ["scripting"], or be one of ["webRequest", "webRequestBlocking", "webRequestFilterResponse", "webRequestFilterResponse.serviceWorkerScript"]], be one of ["clipboardRead", "clipboardWrite", "geolocation", "notifications"], be one of ["bookmarks"], be one of ["browsingData"], be one of ["devtools"], be one of ["find"], be one of ["history"], be one of ["pkcs11"], be one of ["sessions"], be one of ["tabs", "tabHide"], be one of ["topSites"], be one of ["browserSettings"], be one of ["declarativeNetRequestFeedback"], be one of ["downloads", "downloads.open"], be one of ["management"], be one of ["privacy"], be one of ["proxy"], be one of ["nativeMessaging"], or be one of ["webNavigation"]], be one of ["declarativeNetRequest"], or match the pattern /^experiments(.\w+)+$/

Partial Solution

I downloaded the repo and changed the manifest, removing this "downloads.shelf" permission and built the project with yarn and tested the extension again, then a second error message in the debug session of firefox appeared: the same as above but with the permission "offscreen".

Then, I did the same as above: removed this permission from the manifest and built again. After adding this new version to my browser, adding the secret key and restarting my browser, the extension worked correctly and I was able to download files with motrix automatically.

A attempt of a actual fix that did not work

Then, I tried to come up with a manifest.json that did not use these 2 permissions on firefox but does not remove then from the chrome version. I tried to do this with the browser_specific_settings json key in the manifest by adding a different permissions key in there but it did not work. The firefox browser reported the extension as being corrupt.