Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Microsoft Edge? #353

Closed
ghost opened this issue Jan 7, 2018 · 14 comments
Closed

Support for Microsoft Edge? #353

ghost opened this issue Jan 7, 2018 · 14 comments
Labels
kind/enhancement A net-new feature or improvement to an existing feature status/blocked/missing-api Blocked by missing API status/blocked/upstream-bug Blocked by upstream bugs status/blocked Unable to be worked further until needs are met

Comments

@ghost
Copy link

ghost commented Jan 7, 2018

No description provided.

@lidel lidel added kind/discussion Topical discussion; usually not changes to codebase help wanted Seeking public contribution on this issue labels Jan 7, 2018
@lidel
Copy link
Member

lidel commented Jan 7, 2018

Good question :) There is an open task in #276 for smoke-testing it under MS Edge, but nobody picked it up yet (most of our community seems to be using Firefox/Chrome).

@rogersachan do you have MS Edge and some spare time on your hands? If so, try loading ipfs_companion-2.1.0.zip (see this instruction) and let us know if there were any errors (AFAIK Edge does not support notifications API yet, so you may need to inspect Browser Console).

It would be an important data point telling us where MS Edge stands.

@lidel lidel mentioned this issue Jan 7, 2018
7 tasks
@ghost
Copy link
Author

ghost commented Jan 7, 2018

image
I get an error before I can even load this extension. There are no other errors or messages in the console.

@ghost
Copy link
Author

ghost commented Jan 7, 2018

image
Updating background with this in order to fix the issue gives me another error.
image

@ghost
Copy link
Author

ghost commented Jan 7, 2018

Deleting both 'browser_style' fields allowed me to import the extension. I'll start testing it as soon as I can.

@ghost
Copy link
Author

ghost commented Jan 7, 2018

Attempting any of the links in #312 just sends me to the search engine.

@ghost
Copy link
Author

ghost commented Jan 7, 2018

The background page is now giving me this error:

Unable to initialize addon due to error Error: Invocation of form storage.local.get(object) doesn't match definition storage.local.get(optional string or array or object keys, function callback).

@lidel
Copy link
Member

lidel commented Jan 9, 2018

This is a very good feedback that cleared a lot! 👍 🔍
Thank you @rogersachan!

Different handling of manifest keys is inconvenient, but can be managed.
But the last error is a show-stopper.

It seems that Edge provides browser.* APIs as callback-only. On top of that presence of browser object prevents webextension-polyfil from being correctly applied. This is very unfortunate, they should either expose callback-only APIs under chrome.* namespace, or add promise support to browser.*.

There is an interesting discussion at mozilla/webextension-polyfill#3.
The upstream ticket at Microsoft about adding promise support was just reopened.

I am marking it as "blocked" until it is resolved upstream, either by Microsoft or Mozilla.

tl;dr

At the moment, neither a working polyfill, nor any other cross browser solution exists.
mozilla/webextension-polyfill#3 (comment)

We hear the request for this support. Have reactivated this request, and added to our backlog.
Microsoft Edge Team

@lidel lidel added kind/enhancement A net-new feature or improvement to an existing feature status/blocked Unable to be worked further until needs are met status/blocked/missing-api Blocked by missing API status/blocked/upstream-bug Blocked by upstream bugs and removed kind/discussion Topical discussion; usually not changes to codebase help wanted Seeking public contribution on this issue labels Jan 9, 2018
@cvan
Copy link

cvan commented Mar 7, 2018

@lidel: @rogersachan: Good catches here.

Perhaps I'm missing some context in mozilla/webextension-polyfill#3, but couldn't browser.storage be special-cased and handled in the webextension-polyfill (à la this browser.storage.onRuntime patch)?

Or is it more complicated than that?

@lidel
Copy link
Member

lidel commented Mar 7, 2018

@cvan I am afraid fixing browser.storage alone is not enough: another error caused by the lack of promise support will pop up elsewhere.

I did not look at internals of webextension-polyfill, but my intuition is that that polyfills for entire browser.* would have to be sprinkled with code responsible for Edge-case (accidental pun) detection.

Unless it can be solved in one swoop globally, not sure if it is worth the effort, especially now that upstream ticket got reopened.

Update: mozilla/webextension-polyfill#3 (comment) provides a hope of making polyfill work ("guarded on the existence of the Edge-specific msBrowser API")

@cvan
Copy link

cvan commented Mar 14, 2018

I did not look at internals of webextension-polyfill, but my intuition is that that polyfills for entire browser.* would have to be sprinkled with code responsible for Edge-case (accidental pun) detection.

I just had to comment that I laughed out loud at this. I will look into this (and the relevant Edge ticket).

@lidel lidel mentioned this issue Jul 24, 2018
4 tasks
@lidel lidel added the status/deferred Conscious decision to pause or backlog label Sep 22, 2018
@lidel
Copy link
Member

lidel commented Jan 8, 2019

Just dropping a quick note that Edge is going to be likely supported once it has been switched to Chromium backend. Let's keep this issue open until that happens.

Refs.

@ghost
Copy link
Author

ghost commented Apr 10, 2019

The new Microsoft Edge which is built on chromium (https://www.microsoftedgeinsider.com/en-us/) now supports chrome extensions from the chrome web store, this issue is no longer needed.

@ghost ghost closed this as completed Apr 10, 2019
@ghost ghost removed the status/deferred Conscious decision to pause or backlog label Apr 10, 2019
@lidel
Copy link
Member

lidel commented Apr 11, 2019

@rogersachan thank you for letting us know!
@hacdias are you able to confirm extension loads as expected?

@hacdias
Copy link
Member

hacdias commented Apr 12, 2019

@lidel, seems to be running as expected 😄

Screenshot 2019-04-12 at 23 15 33

lidel pushed a commit that referenced this issue Jul 30, 2019
The link goes to the page where Edge can be downloaded for Windows 7/8/10 and macOS.
The IPFS extension was shown to work in #353
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement A net-new feature or improvement to an existing feature status/blocked/missing-api Blocked by missing API status/blocked/upstream-bug Blocked by upstream bugs status/blocked Unable to be worked further until needs are met
Projects
None yet
Development

No branches or pull requests

3 participants