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

MS Edge extension #42

Open
dstillman opened this issue Mar 19, 2016 · 9 comments

Comments

@RAG2ko

This comment has been minimized.

Copy link

@RAG2ko RAG2ko commented Aug 7, 2016

FYI, Microsoft recently released a toolkit to port extensions from chrome to edge:

https://www.microsoft.com/en-us/store/p/microsoft-edge-extension-toolkit/9nblggh4txvb

Hopefully this makes it easier to get Zotero running on edge.

@KrisJanssen

This comment has been minimized.

Copy link

@KrisJanssen KrisJanssen commented Jan 18, 2017

Hi guys,

I have a running toolchain to create such extensions.

Currently, my only public showing of relevant experience is here:

http://stackoverflow.com/questions/4086891/how-to-debug-c-sharp-bho-project-in-visual-studio-internet-explorer/24206945#24206945

I have previously created quite a number of IE Add-ons for-hire and I will have time to invest in this from Feb onwards.

I really like Zotero and if I could help out, that'd be a nice experience.

The only caveat might be that my previous projects were primarily C# jobs and efforts such as these will likely require some know how on the intricacies of js but I'd like to have a go nonetheless.

I might start by indeed porting the existing Chrome extension?

@dstillman

This comment has been minimized.

Copy link
Member Author

@dstillman dstillman commented Jan 18, 2017

@KrisJanssen: Thanks for the offer of help! I should clarify here — we certainly don't want to create a new Edge extension. The goal would basically be to update the build script (or add a new folder to https://github.com/zotero/zotero-connectors/tree/master/scripts) to generate an Edge extension from the Chrome/Firefox code. If some files need minor modifications or alternatives, we could do that, but ideally any differences would be minimal. By contrast, currently the Safari extension is a separate extension, sharing some common code but then with a substantial amount of dedicated code. I don't see us maintaining an alternative version of that scope for Edge. My understanding is that it's not supposed to be necessary, but I'm not sure what the state of the compatibility layer is.

@adomasven

This comment has been minimized.

Copy link
Member

@adomasven adomasven commented Jan 18, 2017

Just to add to what @dstillman said, I looked into porting the extension a couple of months ago, but with the current state of Edge support for Browser Extensions API and the Edge Developer Toolchain being very buggy and annoying to work with, I didn't pursue this (the developer tool bugginess may have very well come from me trying to develop on a Virtual Machine, but that isn't really an excuse for Microsoft).

So while in theory this should be as simple as updating the build script, in reality there are a bunch of API incompatibilities (or APIs on Edge missing completely) that would need to be resolved first. We do still invite any offer to help, but be aware that working this out may be less to do with knowledge and more to do with perseverance with the current state of Edge.

@KrisJanssen

This comment has been minimized.

Copy link

@KrisJanssen KrisJanssen commented Jan 19, 2017

Looking at things, I think it might indeed be that the Edge API is not yet complete enough. In any case, I like these kinds of puzzels :) I will look into this a bit as a little study project.

@adomasven

This comment has been minimized.

Copy link
Member

@adomasven adomasven commented Jan 20, 2017

Feel free to post here or on the mailing list if you feel like it's doable but are getting stuck. We'll answer any questions. I've also submitted a pull request for an improved readme.md. You might want to read that - I've added information about the general architecture of the connectors to help getting started with development.

@adomasven

This comment has been minimized.

Copy link
Member

@adomasven adomasven commented Jul 18, 2017

I've spent some time assessing the state of Edge. Things have improved a little bit since last November, but not considerably so. After passing the extension through Microsoft Edge Extension Toolkit I managed to load it and the preferences page worked.

However, I ran into the following issues:

  1. Edge starts hoarding memory, slowing down and eventually crashes in VirtualBox when using the developer tools
  2. Not all errors are reported in Developer Tools
  3. chrome.windows.get does not respond
  4. chrome.windows.create crashes Edge when used in background.js. If ran from developer toolbox it works fine
  5. document.evaluate throws an unspecified error when run in an iframe.

3 and 4 are required for the select dialog. 5 is xpath evaluation, which is required for pretty much every translator. 1 and 2 are a general nuisance that make working with Edge very unpleasant, very fast

If you are heavily invested in having this Edge extension work, I invite you to report these issues on Edge issue tracker and see if you get a response.

@adomasven

This comment has been minimized.

Copy link
Member

@adomasven adomasven commented Jul 18, 2017

I've also pushed the changes that make this extension more functional on Edge. Find them here https://github.com/adomasven/zotero-connectors/tree/feature/edge-workarounds

@adomasven adomasven removed the help wanted label Apr 9, 2019
@adomasven

This comment has been minimized.

Copy link
Member

@adomasven adomasven commented Apr 9, 2019

Seems that Chrome Edge makes all of this moot. The chrome app store installed extension works flawlessly from my short test. Not closing since we might eventually want to submit the extension to the Edge store too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants
You can’t perform that action at this time.