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 Firefox for Android #109

Closed
jefft0 opened this issue May 7, 2016 · 13 comments · Fixed by #297
Closed

Support Firefox for Android #109

jefft0 opened this issue May 7, 2016 · 13 comments · Fixed by #297
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

Comments

@jefft0
Copy link

jefft0 commented May 7, 2016

A simplified Firefox for Android add-on only needs the preference for Custom Gateway Host. Then I can point it to my home IPFS node to open a URI like fs:/ipfs/Qm.... and browse the permanent web.

The simplified add-on doesn't need the IPFS Web UI since there is no local IPFS daemon.

@Kubuxu
Copy link
Member

Kubuxu commented May 7, 2016

I think handling should go through this: https://github.com/ligi/IPFSDroid

For now it is a place holder but they aim at providing unified IPFS interface on Android

@lidel lidel added kind/enhancement A net-new feature or improvement to an existing feature kind/discussion Topical discussion; usually not changes to codebase labels May 7, 2016
@jefft0
Copy link
Author

jefft0 commented Aug 2, 2016

I tried IPFSDroid. When I click an fs: URL in Firefox, it opens the external IPFSDroid application. I think a Firefox add-on is still necessary to rewrite the URL while staying in Firefox. Also, I'm only using the Firefox add-on to redirect to a Custom Gateway. The purpose of IPFSDroid is to run IPFS on the phone which is different.

Is it possible to have a version of the add-on which only rewrites fs: to use a Custom Gateway?

@lidel
Copy link
Member

lidel commented Aug 3, 2016

The "problem" is that the addon already does it (if you disabled redirect). For example:

fs:/ipfs/QmPQN7bUeCsYpLzkcNRWicE6C2o4XAG96x2AANNRz9J3aL
redirects to
https://ipfs.io/ipfs/QmPQN7bUeCsYpLzkcNRWicE6C2o4XAG96x2AANNRz9J3aL

On desktop the addon does what you want, but on Android there is additional moving piece: intents.

I think the issue is that Android prefers IPFSDroid for fs: because it lists the protocol as a supported one while Firefox does not.

Not sure if it is possible for Firefox to dynamically extend its Android Manifest with protocols handled by 3rd-party addons.

Requires further research.

@jefft0
Copy link
Author

jefft0 commented Aug 3, 2016

Thanks for the feedback, but I still don't understand. Are you saying that on Android it is not possible to view an IPFS web page in Firefox? I'm talking about an HTML page where the CSS, JavaScript and embedded images are all fetched with fs:/ipfs/Qmxxxxx . This works beautifully in the Firefox desktop add-on. Are you saying this won't be possible on Android, and fs: has to launch the external IPFSDroid viewer?

@lidel lidel added the status/blocked/missing-api Blocked by missing API label Aug 3, 2016
@lidel
Copy link
Member

lidel commented Aug 6, 2016

Short answer: we did not test/support add-on on Android yet, but fetching site assets from fs:/ipfs/Qm.. is technically possible. WebExtension version of this add-on will support it.


Longer answer: I did some preliminary research regarding Firefox for Android and these my findings.
Forgive me going into low level technical details, this is also sort of a node-to-self.

  • It does not work right now. I am unable to install v1.5.9 on Firefox for Android on my Nexus 5.
    According to page Extensions for Firefox for Android some of XUL internals / parts of old SDK (which we rely on right now) are not supported on Mobile. This explains why add-on is hidden on AMO pages and I had to open the direct link to attempt install (which did not work).

  • Good news: WebExtensions are supported since Firefox 48 for Android:

    With the release of Firefox 48 we are announcing Android support for WebExtensions. WebExtensions add-ons can now be installed and run on Android, just like any other add-on.

    with a caveat:

    [..] because Firefox for Android makes use of a native user interface, anything that involves user interface interaction is currently unsupported (similar to existing extensions on Android).

In short, Android support in on the Roadmap as two steps:

  1. Move Add-on to WebExtensions (Move to WebExtensions #20)
  2. Ensure it works on mobile (add GUI workarounds, if needed)

@facastagnini
Copy link

It will be great to have this plugin working on firefox for android... let me know if you need a tester.

@lidel lidel added this to the v2.0.0 milestone Sep 15, 2016
@lidel lidel changed the title Simplified Firefox for Android add-on Support Firefox for Android Feb 14, 2017
@lidel lidel mentioned this issue Feb 22, 2017
9 tasks
@lidel
Copy link
Member

lidel commented May 10, 2017

Quick status update from Mozilla about Android goals for firefox 57:

We aim to complete enough APIs to allow the most popular add-ons on Android (AdBlock Plus and uBlock Origin) to run as WebExtensions. To support those we will complete: browserAction, pageAction, options_ui, permissions and maybe contextMenus (being investigated at this time).

There is no plan to support other APIs like history, bookmarks etc by Firefox 57.

@lidel
Copy link
Member

lidel commented Jun 14, 2017

Another update from Mozilla:

Firefox 55 for Android has gained browserAction support. Currently a textual menu item is added to the bottom of the menu on Android. It supports browserAction.onClicked and setTitle and getTitle. Tabs support was added to pageAction.

@lidel
Copy link
Member

lidel commented Jul 18, 2017

@lidel lidel added status/blocked/upstream-bug Blocked by upstream bugs and removed kind/discussion Topical discussion; usually not changes to codebase labels Jul 22, 2017
@lidel lidel removed this from the v2.0.0 milestone Jul 22, 2017
@lidel lidel added this to Possible Right Now in General Roadmap Oct 2, 2017
@lidel lidel moved this from Possible Right Now to Backlog in General Roadmap Oct 2, 2017
@lidel lidel moved this from Backlog to Near Future in General Roadmap Oct 2, 2017
@lidel lidel removed this from Near Future in General Roadmap Oct 2, 2017
@jefft0
Copy link
Author

jefft0 commented Oct 15, 2017

Should IPFS Companion 2.0.13 work in Firefox for Android? I can install it, but I can't open the Preferences to change the Custom Gateway.

@lidel
Copy link
Member

lidel commented Oct 15, 2017

Hm.. indeed, opening Preferences is implemented in Firefox 57, which is the current Beta (will be released as stable in November). I changed a minimal version at AMO to Firefox 57.

If you want to test it right now, install Firefox for Android Beta
(can be installed alongside the stable version) and give it a try.
CSS may be out of whack -- plan is to address it before 57 hits stable.

@jefft0
Copy link
Author

jefft0 commented Oct 16, 2017

Thanks! Firefox Beta works great. The future has arrived!

lidel added a commit that referenced this issue Oct 17, 2017
lidel added a commit that referenced this issue Oct 17, 2017
@lidel
Copy link
Member

lidel commented Oct 17, 2017

@jefft0 I fixed CSS so that you dont need to zoom/pan on Android anymore 👌
If you want to test it, opt-in for 2.0.15beta1

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
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

4 participants