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

Revisiting negative positions through Add-On Gating #720

Open
chrysn opened this issue Dec 13, 2022 · 13 comments
Open

Revisiting negative positions through Add-On Gating #720

chrysn opened this issue Dec 13, 2022 · 13 comments

Comments

@chrysn
Copy link

chrysn commented Dec 13, 2022

With Add-On Gating available in Firefox 108 and WebMIDI being the pioneer extension that's add-on gated:

Is there a (or: What is the) procedure to re-open negative positions as add-on gated? Is there a line established between "can be add-on gated" and "not even with gates" (other than that someone would need to do the implementation work)?

It might be convenient to gather that information (initially here, eventually in the README
) before people come in storming to their old threads and ask in each of them, without a concrete procedure or criteria. (I was very tempted to rush to #95, but it's probably better to approach that with structure).

@bholley
Copy link
Collaborator

bholley commented Dec 13, 2022

Thanks for filing a separate issue, I agree that's preferable.

For now we plan to observe the WebMIDI experiment to see how well add-on-gating works in practice for sites and users. We haven't yet made any decisions about extending this mechanism to other APIs, but any such decisions will be informed by how well we think it's achieving its goals.

@chrysn chrysn mentioned this issue Dec 29, 2022
@webprofusion-chrisc
Copy link

Hi, are there any docs/help to using webmidi via this add-on gating? So far I'm seeing sites with webmidi support that aren't triggering the permission prompt and I wondered what the blocker for that could be, such as requiring user interaction first perhaps .e.g .: https://codesandbox.io/s/midi-pedal-mapper-bonfy

I can see WebMidi could not be enabled. DOMException: WebMIDI requires a site permission add-on to activate in the console but there is no UI prompt.

@evilpie
Copy link

evilpie commented Jan 6, 2023

This is probably not the right place to discuss WebMIDI problems, but when opening your site in my browser I see the following error message in the web console:

WebMIDI access request was denied: ❝SitePermsAddons can't be installed from cross origin subframes❞. See https://developer.mozilla.org/docs/Web/API/Navigator/requestMIDIAccess for more information

@FroggMaster
Copy link

I'm rather interested in this topic as well. I would really like to see the Web Bluetooth API available in Firefox.

I had been working on converting an Extension that is already supported in Chrome to Firefox for Bluetooth dice rolls, but found that my journey was abruptly halted when I learned Firefox does not support the Web Bluetooth API at all.

@beriberikix
Copy link

@bholley has any observations been made or documented in the past year?

@bholley
Copy link
Collaborator

bholley commented May 15, 2024

@beriberikix Yes. After a few rounds of iterating in the consent flow we finally ended up with something that users seem to understand most of the time. We revised our position on WebSerial in #959 and would take a patch that meets our standards. That would be the next step for add-on-gated APIs in Firefox.

@beriberikix
Copy link

Is there a good overview on add-on-gated APIs in Firefox? I'd like to send someone so that they understand how they work and any specifics around their implementation.

@bholley
Copy link
Collaborator

bholley commented May 17, 2024

@beriberikix They are intended to be transparent to developers — the add-on is auto-generated, and is basically a different UX metaphor in place of permission prompts. Sites that use gated APIs don't need to do anything special for Firefox.

The user-facing documentation (which is surfaced as a "learn more" link in the install flow) is here.

@reillyeon
Copy link

Given the revised position on Web Serial is Mozilla similarly open to implementations of WebHID, WebUSB or Web Bluetooth as add-on-gated APIs?

@bholley
Copy link
Collaborator

bholley commented May 20, 2024

Given the revised position on Web Serial is Mozilla similarly open to implementations of WebHID, WebUSB or Web Bluetooth as add-on-gated APIs?

Not at this time. Those APIs reach a much wider, more heterogeneous, and less-developer-oriented set of devices. In principle I think we could consider them in more restricted scenarios — such as for devices that explicitly advertise themselves as usable from the web — but we haven’t really looked into it.

@FroggMaster
Copy link

Given the revised position on Web Serial is Mozilla similarly open to implementations of WebHID, WebUSB or Web Bluetooth as add-on-gated APIs?

Not at this time. Those APIs reach a much wider, more heterogeneous, and less-developer-oriented set of devices. In principle I think we could consider them in more restricted scenarios — such as for devices that explicitly advertise themselves as usable from the web — but we haven’t really looked into it.

I'm eagerly following this GitHub issue for the time that Mozilla begins considering Web Bluetooth. It was extremely disappointing to have to stop my development for the extension that would allow me to use my Bluetooth enabled dice for RPGs within Firefox.

@carrierfry
Copy link

I am in the same boat as @FroggMaster. I want to bring my chrome extension for Bluetooth Dice over to Firefox but because of the missing Bluetooth Web API I can't. I am hopeful that this might be a solution in the future

@blalasaadri
Copy link

Joining @FroggMaster and @carrierfry in the "Web Bluetooth for dice" corner here. I totally get that allowing connections to Bluetooth devices is risky and understand why Mozilla decided not to implement the API as it was suggested. But if there were a safer way to add that support through Add-On Gating...

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

No branches or pull requests

9 participants