Available for beta testing: Zotero Connector for Chrome MV3

edited December 8, 2022
So this one is a bit less fun.

Starting in January 2023, Google will be requiring major changes to how browser extensions work, in a new version of its extension platform called Manifest V3, or MV3.

If you follow tech news or browser extension development, you might have heard about these changes, which have been rather controversial. Basically, in the name of security, privacy, and performance, Google is removing powerful functionality that some extensions — most notably advanced ad blockers that greatly improve those three things — depend on, as well as requiring various other architectural changes of debatable merit.

Unfortunately, Zotero also depends on some of the removed functionality, and while the specific functionality we need could potentially return in a different form, there's no guarantee it will.

The upshot? After a huge amount of work rewriting the Zotero Connector for MV3, we now have an extension that works almost exactly the same, but a bit worse.

Specifically:
  • RIS/BibTeX interception based on a site-sent content type is no longer possible. We may be able to hard-code support for specific sites on request.
  • CSL style installation based on a site-sent content type is no longer possible. It will still work on the Zotero styles page (in a slightly rougher form), and we may be able to restore it for GitHub raw links.
  • Everything else theoretically works the same, with absolutely no improvements of any kind
If that sounds too good to pass up, you can try the beta today! Here's how:
  1. Download the beta extension (version 5.900.6)
  2. Unzip it to a local folder
  3. In the Chrome Extensions pane, disable the release version of the Zotero Connector
  4. Enable Developer mode in the top right
  5. Click "Load unpacked" and select the extracted folder
A separate entry for the MV3 extension (version 5.900.x) should appear in the list.

Since these builds won't auto-update and Chrome will leave them enabled through restarts, these builds will self-destruct three weeks from when we build them, and you'll need to reinstall either the latest beta from this thread or the current release version from the download page. We'll post here and update the above link when new versions are available.

If you do give it a try, let us know if you run into any trouble. Thanks!

(Seriously, though, we would greatly appreciate if some people tried out the new version before we roll it out to 4+ million people on the Chrome Web Store.)
  • I have just tested on a few journals and it seems to work fine.

    Just a small thing for "Atypon Journals": the import triggers an error shown in a popup window, partially hidden behind the main import popup window (with item title on one line, and "Full Text PDF" on the next line). The error popup window then disappears, but the main import popup stays there forever. It disappears only when refreshing the page. The import seems to be successful.

    Open access example: https://aip.scitation.org/doi/full/10.1063/5.0106473
    TypeError: Zotero.HTTP.processDocuments is not a function
    (5)(+0000000): Translate: Running handler 0 for error
    When I try to submit the Debug Output Logging, I get the following error:
    Zotero Connector
    Une erreur s'est produite lors de l'envoi de votre rapport.

    browser.management.getAll is not a function

    Veuillez vérifier votre connexion internet. Si le problème persiste, veuillez poster un message sur les forums Zotero.
    I also get other errors, but in the same way as before. So I assume that you are only interested in things not working as expected, regardless of the errors appearing.

    - Windows 10
    - Chrome Version 108.0.5359.71 (Build officiel) beta (64 bits)
    - Zotero 6.0.19-beta.5+f33cf1cde
  • Thanks for the report. We have just pushed an update with fixes for these issues (and updated the link above). Please let us know if you find any other bugs.
  • Thanks for the quick fix. Both problems above are working now.

    Another issue on the following page:
    https://www.worldscientific.com/worldscibooks/10.1142/7642
    The main import popup window keeps empty now and again stays there forever.
    This time nothing gets imported to Zotero.

    Debug ID: D1284672847
  • @mjthoraval: Should be fixed in 5.900.3.
  • I'm not fully understanding what 'based on a site-sent content type' means. Does that also affect MODS retrieval via UnAPI?
  • @dstillman: Thank you. I confirm that it is fixed.
    Everything else is working smoothly so far.
  • @mjthoraval: Great — thanks so much for the reports.

    @hughp3: No, web translators aren't affected. It's just the feature that I mentioned — RIS/BibTeX interception. It's called "Automatic File Importing" in the Zotero Connector preferences. "based on a site-sent content type" means the Content-Type header that web servers send to identify files (e.g., application/x-bibtex for BibTeX), which is how Zotero would previously know to prompt to import the file. So the workaround, if you really need to import a file instead of using the Save to Zotero button, is just to save the file to disk and open it via Zotero to import it.
  • @dstillman
    I would like to suggest just to keep (after January 2023) also the current Zotero Connector for Chrome (preMV3) as it seems that MV3 only would apply to Google product Google Chrome, but not (???) to other Chromium browsers like Chromium, Brave or Vivaldi (or Edge). Let me know if I am wrong.
  • @iagogv The Chrome extension store will no longer allow to update MV2 extensions starting January 2023 and in June 2023 MV2 extensions will no longer appear in the store at all. Edge has a similar timeline for their store. We don't officially publish our extensions for Brave or Vivaldi and do not comment on extension support on those browsers.

    Either way, we will be updating the current MV2 extension to MV3 version so that the 4M+ of our users get a smooth transition.

    Firefox will continue using MV2, although Firefox has plans to also eventually switch to MV3, just with an extended timeline.
  • edited December 1, 2022
    Another small thing: the "Atypon Journals" connector cannot import Snapshots.
    Snapshots are working fine on other websites.
    "Automatically take snapshots when creating items from web pages" is enabled in the desktop app Preferences.

    Debug ID connector: D276020880
    Debug ID Zotero: D1968540357
    Tested on: https://aip.scitation.org/doi/10.1063/1.449202

    EDIT:
    This is probably not related to the MV3 beta, as the current Zotero Connector
    5.0.100 also does the same.
    I can see the same problem for the "Institute of Physics" connector. For example:
    https://iopscience.iop.org/article/10.1088/1367-2630/3/1/307
  • @adomasven and @dstillman
    Even if the MV2 extension cannot be kept in the Chrome extension store, you could allow to download it from your web or github. It will be useful yet for other MV2 browsers, like Brave (https://twitter.com/brave/status/1574822799700541446), although you " don't officially publish our extensions for Brave or Vivaldi and do not comment on extension support on those browsers."
  • @iagogv Zotero source code is open-source and available on github, including the Connector. The community can bundle and distribute old versions of the software as they wish (although the usual disclaimer for the Zotero trademark apply).
  • @adomasven You're right ;) Thanks!
  • edited December 4, 2022
    I get an error when trying to download one or several chapters from this book:
    https://link.springer.com/book/10.1007/978-1-4939-2113-3
    I select the chapters from the Zotero Item Selector.
    Debug ID: D334213687
    The current Zotero Connector 5.0.100 is working fine.
  • edited December 5, 2022
    Another frozen popup window on the following page:
    https://www.taylorfrancis.com/chapters/edit/10.1201/9780203908501-27/isothermal-drop-wall-interactions-introduction-experimental-numerical-studies

    Same problem as above:
    the import triggers an error shown in a popup window, partially hidden behind the main import popup window (with item title on one line, and "Full Text PDF" on the next line). The error popup window then disappears, but the main import popup stays there forever. It disappears only when refreshing the page. The import seems to be successful.
    Debug ID: D1361396518.

    The current Zotero Connector also shows errors, so the only reason to post here is because of the frozen popup window which is specific to the MV3 beta, as also noticed in earlier reports. Let me know if there is no need to report these frozen popup windows.
  • On this page, the connector gets stuck into an infinite "delaySync" loop:
    https://opg.optica.org/oe/fulltext.cfm?uri=oe-22-13-16282&id=294297
    (3)(+0005664): HTTP POST http://127.0.0.1:23119/connector/delaySync
    (3)(+0000006): Connector: Method delaySync succeeded
    Debug ID: D2064281467.

    The current Zotero Connector 5.0.100 gets an error, but it is still able to import the item and PDF file successfully:
    Debug ID: D791109801.
  • edited December 7, 2022
    Thanks for these reports. We've fixed everything, but the issue you reported regarding the freezing popup. Do you still see that? If so, can you take a screenshot/video showing the bug, upload it somewhere and link it here?
  • Thanks. Everything is working nicely with this update.
    I do not see the freezing popup anymore with version 5.900.5. The error now displays correctly in the same window, which disappears after import. I will report if I see it again.
  • I got a freezing popup in version 5.900.6.

    On the same link as above: https://www.taylorfrancis.com/chapters/edit/10.1201/9780203908501-27/isothermal-drop-wall-interactions-introduction-experimental-numerical-studies
    Make a fast double click on the import button. This triggers the error message to be partially hidden behind the main import popup window.

    After being frozen, clicking on the frozen popup window gives the following output in the Debug Output Logging:
    (3)(+0000869): progressWindowIframe.mouseleave message received in injected page https://www.taylorfrancis.com/chapters/edit/10.1201/9780203908501-27/isothermal-drop-wall-interactions-introduction-experimental-numerical-studies

    (3)(+0000781): progressWindowIframe.blurred message received in injected page https://www.taylorfrancis.com/chapters/edit/10.1201/9780203908501-27/isothermal-drop-wall-interactions-introduction-experimental-numerical-studies

    (3)(+0001723): progressWindowIframe.hidden message received in injected page chrome-extension://jopdlfepnahebkienpjdgnaiiidoonlm/progressWindow/progressWindow.html
    Debug ID: D340826673
Sign In or Register to comment.