mdn / content

The content behind MDN Web Docs
https://developer.mozilla.org
Other
9.13k stars 22.45k forks source link

Within webkit, rtcdatachannel is now transferable #15242

Closed unicomp21 closed 2 years ago

unicomp21 commented 2 years ago

MDN URL

https://developer.mozilla.org/en-US/docs/Glossary/Transferable_objects

What specific section or headline is this issue about?

No response

What information was incorrect, unhelpful, or incomplete?

rtcdatachannel is missing from the list of transferable objects

What did you expect to see?

rtcdatachannel should be in the list of transferable objects

Do you have any supporting links, references, or citations?

https://wpt.fyi/results/webrtc-extensions/transfer-datachannel.html?label=master&label=experimental&aligned

Do you have anything more you want to share?

https://wpt.fyi/results/webrtc-extensions/transfer-datachannel.html?label=master&label=experimental&aligned

MDN metadata

Page report details * Folder: `en-us/glossary/transferable_objects` * MDN URL: https://developer.mozilla.org/en-US/docs/Glossary/Transferable_objects * GitHub URL: https://github.com/mdn/content/blob/main/files/en-us/glossary/transferable_objects/index.md * Last commit: https://github.com/mdn/content/commit/e645ad83435fcf2818f84747e770d55bb46ea2bb * Document last modified: 2022-04-15T21:56:02.000Z
wbamberg commented 2 years ago

Not sure about this. According to https://developer.mozilla.org/en-US/docs/Glossary/Transferable_objects, transferability is specced behavior that's visible in the IDL as a Transferable attribute. For example, https://streams.spec.whatwg.org/#ws-class-definition.

The IDL for RTCDataChannel doesn't include the Transferable attribute: https://w3c.github.io/webrtc-pc/#rtcdatachannel.

unicomp21 commented 2 years ago

Meaning this is a non-standard change on the Apple side?

sideshowbarker commented 2 years ago

At https://w3c.github.io/webrtc-extensions/#rtcdatachannel-extensions the WebRTC Extensions spec extends RTCDataChannel to make it transferable.

unicomp21 commented 2 years ago

Do chrome and firefox have eta's for implementation of this feature?

sideshowbarker commented 2 years ago

Thanks for catching this — I’ve opened https://github.com/mdn/content/pull/15306 with a fix.

After that fix is merged, this issue will automatically be marked as resolved, and closed.

wbamberg commented 2 years ago

So for my education here as much as anything...

In our page for RTCDataChannel, we don't reference the WebRTC-extensions specification, only the main specification: https://developer.mozilla.org/en-US/docs/Web/API/RTCDataChannel#specifications. Should we?

I'm unclear on the status of the WebRTC-extensions specification. It says:

This document contains proposed extensions to the [WEBRTC] specification. Some of these extensions were originally included within the [WEBRTC] specification, but needed to be removed due to lack of implementation experience. Others were not sufficiently mature to be incorporated into that specification when they were developed, but were too small to warrant creation of a separate document. ... As extensions mature and gain implementation experience, they may move from this document to the base specification if WG consensus emerges to do so.

Does that mean we consider it part of the WebRTC standard, or not until its proposals are moved to the base specification?

And should we note in BCD that RTCDataChannel is not transferable in other browsers?

hamishwillee commented 2 years ago

Only an opinion but ...

Does that mean we consider it part of the WebRTC standard, or not until its proposals are moved to the base specification?

Ambiguous. I suspect the intent was "no". From a BCD point of view though this looks like a draft spec, which we would treat as "on the standard track". MDN follows BCD usually, so I lean towards "yes".

And should we note in BCD that RTCDataChannel is not transferable in other browsers?

@wbamberg IMO yes. If it is transferrable in some and not in others then that's a compatibility issue that should be captured in BCD. In the BCD sense this would be 'standard track'.

Do we know the versions in each/any of the browsers which are or are not supported?

wbamberg commented 2 years ago

Do we know the versions in each/any of the browsers which are or are not supported?

Based on https://wpt.fyi/results/webrtc-extensions/transfer-datachannel.html?label=master&label=experimental&aligned (linked in the issue description above) it's only supported on Safari. I don't know when Safari added support though.

But I guess there are a couple of things:

hamishwillee commented 2 years ago

a question of policy for when we say something is part of the standard. I suppose this is what experimental is for.

@wbamberg Nope. As above "standard" means in a standard track and/or in a draft spec. "Experimental" means supported in only one major browser engine".

The rules are clear and in line with user expectation, but they aren't in line (re the draft specs) with what specification authors define.

We could push this into BCD and test it that way.

sideshowbarker commented 2 years ago

I went ahead and opened https://github.com/mdn/browser-compat-data/pull/16281 for this