Closed bergie closed 6 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.
USB devices can come and go an any time. So extension should be able to update available runtimes at the appropiate times?
@jonnor good point. So then we should have a persistent channel so extension can send "new runtime" and "removed runtime" messages at any point
Somewhat releated to #377
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.
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
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/
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