noflo / noflo-ui

NoFlo Development Environment
https://app.flowhub.io
MIT License
767 stars 173 forks source link

Deprecate the Chrome app #673

Closed bergie closed 6 years ago

bergie commented 7 years ago

As announced by Google last August, Chrome apps are being deprecated on most platforms by 2018.

We currently have a version of Flowhub available in the Chrome Web Store. The primary reason for the Chrome app to exist is communications with USB MicroFlo devices.

Apart from the looming deprecation of Chrome apps altogether, the additional downside to having an app is more support burden, as the Chrome-specific functionality is not part of our test suite. Things break easily, like was seen with login recently in #657.

Also, content security policy changes hurt Flowhub. For example, we can't open IFRAME runtimes in the Chrome app now.

Proposed steps for deprecating the Chrome app version of Flowhub:

Future

More details in the Chrome app to web migration guide

bergie commented 7 years ago

On a quick read of Chrome extension message passing docs, it seems we could do this in the following way:

Make EnsureLocalRuntimes do a one-time request to the MicroFlo extension

chrome.runtime.sendMessage microfloExtensionId,
  command: 'list_runtimes'
, (res) ->
  # Add runtimes returned by extension to the list

Then fbp-protocol-client could include code for creating a runtime connection with the extension and passing messages with it. This would be roughly similar to the existing iframe client.

jonnor commented 7 years ago

USB devices can come and go an any time. So extension should be able to update available runtimes at the appropiate times?

bergie commented 7 years ago

@jonnor good point. So then we should have a persistent channel so extension can send "new runtime" and "removed runtime" messages at any point

jonnor commented 7 years ago

Somewhat releated to #377

jonnor commented 7 years ago

Since MicroFlo is currently a bit broken in Flowhub, and more work (outside of Flowhub) is needed to make it work proper - we'll deprecate the app sooner rather than later, and re-introduce this functionality later. I've updated the issue description to reflect this.

jonnor commented 7 years ago

Also probably the Chrome extension would be a general "runtime communication" extension. That way we can use it not just for MicroFlo, but also MsgFlo/NoFlo and so on, using discovery methods which are not available in a browser directly, like mDNS

bergie commented 6 years ago

Ok, Chrome Apps are gone now, so we can close this

https://arstechnica.com/gadgets/2017/12/google-shuts-down-the-apps-section-of-the-chrome-web-store/