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 #31

Closed
chdelacr opened this issue Aug 2, 2018 · 28 comments
Closed

Support for Microsoft Edge #31

chdelacr opened this issue Aug 2, 2018 · 28 comments

Comments

@chdelacr
Copy link

chdelacr commented Aug 2, 2018

Hello, I am sorry for posting this question here, but is there any plan to launch an extension for Microsoft Edge? There is no extension that offers what xBrowserSync does.

I understand there is a Microsoft's tool to port Chrome extensions to Edge: https://docs.microsoft.com/en-us/microsoft-edge/extensions/guides/porting-chrome-extensions

Thanks in advance for your attention.

@nero120
Copy link
Member

nero120 commented Aug 2, 2018

Hi @ChrisdelaC, no worries at all that's what the issues list is for!

From this page it appears that most of the web extension apis that xBrowserSync uses are supported, so technically it should be possible.

I'm currently working on Firefox support that will be released shortly, then I was going to look at Opera support so I'll see if I can get Edge done at the same time.

@chdelacr
Copy link
Author

chdelacr commented Aug 2, 2018

Wow! That's awesome! I'd like to help if possible, I'm also a developer, but I'm pretty a beginner with things like extensions and this stuff. Good luck with supporting Firefox too.

Regards!

@nero120
Copy link
Member

nero120 commented Aug 8, 2018

Thanks @ChrisdelaC, if you want to have a go at creating a version for Edge then here's what you'd need to do:

  1. Fork the repo from the v1.4.0 branch (lot's of updates/fixes included in the Firefox release that hasn't been merged to master yet).
  2. Copy the platform/chrome folder to platform/edge, as this implementation is closest to Edge's requirements (e.g. API functions use callbacks like Chrome, not promises like Firefox).
  3. Update scripts in package.json to add tasks for edge by copying the prebuild:chrome, build:chrome and postbuild:chrome tasks and renaming chrome to edge, then edit the build task to point to the edge platform folder.
  4. Work on updating the javascript files inside the platform/edge folder to work with Edge's web extension API implementation, and it's native bookmarks implementation.

If you're willing to give that a go then once I have a chance to work on the Edge implementation I can take your fork and merge it into a new release branch here to continue/finish it off.

@chdelacr
Copy link
Author

chdelacr commented Aug 9, 2018

Thanks for the intro. Right now I've just only initialized platform/edge and the build tags. I'm not sure how to start updating the JS files inside the path since some of them doesn't seem to be using the Chrome callbacks. The background JS seems the only one to be using them.

Just for curiosity, I tried the Microsoft tool to port extensions, but when I loaded it to Edge the UI doesn't show itself. You can find it attached below:

edge.zip

Regards.

@nero120
Copy link
Member

nero120 commented Aug 9, 2018

You'll find all of the chrome web extension API calls in platformImplementation.js and background.js which implement the platform-specific logic and web extension background page functionality respectively.

I probably wouldn't use the Microsoft tool as xbs was architected to be multi-platform, it's just a case of updating the platform folder files as needed.

No rush though as I won't get to this for months, so have a play with it and see how you get on. Any questions feel free to post here.

@chdelacr
Copy link
Author

chdelacr commented Aug 10, 2018

Hi again, I went ahead to look and compare some APIs, and I just tried to initialize the extension, but while debugging it throws an error saying that angular is not recognized. Is that the one that allows the architecture to be multiplatform?

I found that, actually, Angular supports Microsoft Edge, so I think I am missing something here.

Regards.

@chdelacr
Copy link
Author

chdelacr commented Aug 10, 2018

Please forget it. I just was loading the extension package, but not compiling. Now the extension UI loaded, so I will test it.

UPDATE: I noticed that some APIs are not supported yet on Edge, as you can see in the screenshot below:

image

And when trying to sync data by sign-in in the extension, this error is thrown:

image

I did a little research and I found that TextEncoder support is in development for Edge. Is there a way to avoid text encoding so the extension can partially work?

Thanks in advance.

@nero120
Copy link
Member

nero120 commented Aug 10, 2018

I noticed that some APIs are not supported yet on Edge, as you can see in the screenshot below

Yes that's an issue. Without these APIs any changes using the native bookmarking tools won't be tracked and synced by xbs, meaning those changes will be lost the next time xbs syncs.

And when trying to sync data by sign-in in the extension, this error is thrown. I did a little research and I found that TextEncoder support is in development for Edge. Is there a way to avoid text encoding so the extension can partially work?

Yes, you can use this polyfill. You'll need to run:

npm i text-encoding --save

to add the library to the xbs app package.json, then update the bundlewebextdependencies script to include the required files from the text-encoding folder in node_modules with the build. Once that's been added, it will create the TextEncoder function in Edge but use the native function for browsers that support it.

@chdelacr
Copy link
Author

Thanks again for your feedback. So, if those APIs are missing, is it possible to replace them with a timer or manual sync? If not, I think going further on this will be a waste of time until Microsoft Edge team include those APIs, even on their roadmap.

@nero120
Copy link
Member

nero120 commented Aug 21, 2018

Sorry I missed your last message, you're absolutely right - until Edge supports the required APIs I wouldn't bother continuing. Let's park this until Microsoft updates Edge to include those APIs.

@Metal-Frog
Copy link

+1 for an App for Edge

@nero120
Copy link
Member

nero120 commented Nov 6, 2018

Microsoft still have not implemented the required API support in Edge, so I've opened an issue in their GitHub to find out what's going on.

@nero120
Copy link
Member

nero120 commented Jan 21, 2019

@SciFreakholic I don't know if you heard but Microsoft have annouced they are moving Edge to the Chromium code base - maybe it was my unanswered issue that was the final straw for them!

So hopefully once they have a stable build out xBrowserSync should work out of the box... this is Microsoft though! 😆

@chdelacr
Copy link
Author

Yes, @nero120, I heard about that and is a great news! Thanks for the reminder 😃

@nero120
Copy link
Member

nero120 commented Jun 28, 2019

@SciFreakholic minor update, I've been testing the v1.5.0beta with the Edge Dev Channel release and it works like a dream! The browser is not quite ready for public use yet as I've noticed a few issues, such as the favourites window interface becoming dog slow with a large amount of bookmarks, but thankfully all xBrowserSync functionality works as it is, with only a few minor url-related changes required.

I'm aiming to add support for multiple browsers in v1.6.0, and hopefully Edge will at least be on beta if not public release by then.

@nero120 nero120 added this to the v1.6.0 milestone Jun 28, 2019
@chdelacr
Copy link
Author

Thanks for the update, @nero120!

@awbushnell
Copy link

@nero120 I am curious to the status of support for Microsoft Edge Chromium? I have the latest and cannot locate where to install this extension?

@chdelacr
Copy link
Author

chdelacr commented May 8, 2020

@nero120 I am curious to the status of support for Microsoft Edge Chromium? I have the latest and cannot locate where to install this extension?

You can try using the Chrome extension in Edge Chromium. I ignore if there are any plans to take the extension to the Microsoft Edge extension repository.

@awbushnell
Copy link

@cedlce Thank you, that worked!!! (New to chromium edge and did not see the "enable extensions from other stores etc..)

@chdelacr
Copy link
Author

chdelacr commented May 8, 2020

@cedlce Thank you, that worked!!! (New to chromium edge and did not see the "enable extensions from other stores etc..)

No worries! Glad to help 😃

@nero120
Copy link
Member

nero120 commented May 8, 2020

You can try using the Chrome extension in Edge Chromium. I ignore if there are any plans to take the extension to the Microsoft Edge extension repository.

Once Edge support is implemented I will submit xBrowserSync to the Edge Extensions store.

@nero120
Copy link
Member

nero120 commented May 8, 2020

@nero120 I am curious to the status of support for Microsoft Edge Chromium? I have the latest and cannot locate where to install this extension?

Edge is not currently supported but does seem to work for the most part, just be aware you could experience issues so make sure you back up regularly just to be on the safe side.

@volosovich
Copy link

I'm using xBrowserSync on new Chromium-based Edge, and doesn't have any problem.
I guess we can close this issue.

@awbushnell
Copy link

@volosovich @nero120 I am fine with that, I have had no issues.

@nero120
Copy link
Member

nero120 commented Jun 25, 2020

@volosovich @awbushnell even though xBrowserSync currently functions on Chromium Edge with no apparent issues, it is not currently incuded in my testing cycle. Until it is we should keep this issue open so there's no confusion.

@nero120 nero120 modified the milestones: v1.6.1, v1.6.0 Jul 20, 2020
@nero120 nero120 closed this as completed in 93b3c70 Nov 1, 2020
@joni-codi
Copy link

Is there a chance to get "ready-to-use"-file for xBrowserSync for MS Edge? I'm unfortunately not a developer to get all the sources compiled to the end product. Other ideas where I can get it? Thanx for your work anyway. :-)

@nero120
Copy link
Member

nero120 commented May 11, 2021

@joni-codi it's coming very soon in v1.6.0 - I'll also publish xBrowserSync on the Edge Add-Ons store.

@dmasur
Copy link

dmasur commented Mar 26, 2024

No extensions were found for "xBrowserSync"

this is nearly 3 years old. did i miss anything?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants