warrenday / graphql-network-inspector

A better network inspector for viewing and debugging GraphQL requests.
MIT License
466 stars 46 forks source link

`Export / Share` functionality does not work on Firefox #124

Open jbunyadzade opened 4 months ago

jbunyadzade commented 4 months ago

Describe the bug "Export / Share" does not work when using Firefox

To Reproduce Steps to reproduce the behavior:

  1. Using Firefox, open any request and press "Export / Share"
  2. A new tab opens with the URL https://www.graphdev.app/draft?sessionId=...
  3. It is permanently stuck on the "Exporting Request" screen

Expected behavior The request is successfully exported

Screenshots

image

Desktop (please complete the following information):

Additional context Exporting works just fine on Chrome, but it fails on Firefox with the message Could not establish connection. Receiving end does not exist. in console.

warrenday commented 4 months ago

Hey @Grulice thanks for raising this. I'll take a look at the Firefox integration. There must be some inconstancy between the browser APIs.

warrenday commented 1 month ago

Hey @jbunyadzade managed to get around to looking at this one.

The listener to pick up the message causing the error Could not establish connection. Receiving end does not exist. is not loaded as firefox is not loading background scripts in manifest v3.

We upgraded to v3 to support the latest changes in chrome. Google no longer support manifest v2.

Firefox do not support background scripts in manifest v3.

So we're stuck either supporting chrome or firefox, unless we maintain two seperate manifests, which I'd rather avoid. So I think it's probably best to wait for firefox to fully support manifest v3.

Here's a discussion on the topic: https://stackoverflow.com/questions/75043889/manifest-v3-background-scripts-service-worker-on-firefox

https://github.com/mozilla/web-ext/issues/2532

jbunyadzade commented 1 month ago

Thank you for taking the time to research and explain, @warrenday.

I eventually decided to switch back to a Chromium-based browser for now due to issues with the developer experience, such as this one and the inability to zoom in on the extension tabs, which is a serious accessibility problem.