andy-portmen/external-application-button

Navigation function does not work in Chrome or Firefox

nmsutton opened this issue · 3 comments

Today the navigation function stopped working for me. I don't know if this is due to an extension or browser update. I have been using it in Firefox for years but today I observed a message "this feature does not work on Firefox." under the navigation settings in the options page for this extension. I am using Ubuntu 21.10. I have Chrome version 106.0.5249.119 (Official Build) (64-bit) and Firefox version 102 (64-bit). This is quite disappointing for me because the navigation function was awesome and the main reason I used this extension.

Given that this issue started happening for me around when version 0.5.1 was released I have an interest to rolling back to an older version of this extension. I tried manually installing versions 0.5.0 and 0.4.0 with this method. The extension successfully installs but I get a warning "Reading manifest: Warning processing offline_enabled: An unexpected property was found in the WebExtension manifest." When I try to use the plugin I get a "can not find the native client" error. This does not make sense because the native client is installed and works when I install the extension from the Firefox browser add-ons site. The native client has not been updated since Apr 16 2022 with version version 0.9.5 so it seems unlikely any update from that would cause the error. Seems like I am missing something about how to get it to work when manually installing this extension as an older version. @andy-portmen please tell me, do you by chance have a .xpi version of this extension as an older version that I can try to install manually to firefox with a different method?

Some digging in source code reveals the reason - in 0.4.2 (manifest v2, planned to be deprecated by Chrome in 2023) add-on used WebExtensions "webNavigation" API , in 0.5.x (manifest v3) - declarativeNetRequest, not yet supported by Firefox. See https://bugzilla.mozilla.org/show_bug.cgi?id=1687755

0.4.2 still works, as of Firefox 106.0.1.

Steps I used to downgrade:

  1. export settings from 0.5.1 into json
  2. remove new version
  3. download 0.4.2 from https://addons.mozilla.org/en-US/firefox/addon/external-application/versions/ or by direct link https://addons.mozilla.org/firefox/downloads/file/3773201/external_application-0.4.2.xpi and install it
  4. go to about:addons, and in Permissions tab of the extension enable Optional permission "Access browser activity during navigation"
  5. restart browser (or else extension will not receive optional permission)
  6. import settings from .json
  7. enjoy!

@volkeu Thanks so much! I followed the steps you described and the navigation function is back in action with this extension's version 0.4.2 in the latest firefox (102.0). I think a key step may be restarting the browser after setting the additional permission settings. So glad to have this back working again! I will keep this issue open until the latest release of this extension works again with the navigation function and does not need users to downgrade for it.

I created a very graphical multimedia file browser using this extension and that runs as a locally hosted website. It uses this extension to open media from the browser with desktop programs (e.g., vlc, mpv, etc.). The web browsers having being optimized for media performance over time makes the media browser run really fast which is great for a graphically intensive interface. Having this extension work with the navigation function allows single clicks to open all media in the media browser, like a regular file browser would. Another thing that is good is that it can host a computer's media in a local network to any computer and adjusts well to use on mobile devices with touch interfaces (and alternative browser-based media players given desktop apps not on mobile devices). Getting the navigation function working again is really great to be able to use my software again. I share the software as open source but have not created much docs or tutorials in how to use it or example images of it running. The link for it is here. Eventually I will try to add such things but am just busy these days. I am often using it and refining it based on its use.