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

Add matrix to the safelisted schemes list #6320

Merged
merged 1 commit into from
Apr 19, 2021

Conversation

MayeulC
Copy link
Contributor

@MayeulC MayeulC commented Jan 21, 2021

The matrix scheme is currently being finalized and documented at 1.

Matrix is an open and secure communication protocol, designed for an
open federation of servers, much like e-mail or xmpp.

The Matrix.org foundation 2 is the custodian of the matrix specification,
including the soon-to-be-finalized scheme linked above.
As a neutral party, it will ensure that future iteration of the matrix
scheme will remain in line with its stated goals.

The federated (possibly later distributed) nature of the Matrix network calls
for an URI scheme, which multiple software programs already implement
(namely, Matrix clients Fluffychat, Quaternion, and Nheko among others).
Multiple web clients (Element, Hydrogen, Fluffychat again) have
expressed their interest in registering as matrix protocol handlers.

This commits adds the provisional matrix scheme, as provisionally registered
at 3.
The Matrix network currently hosts a few million accounts 4, as well as
being the instant communication platform of choice for the KDE and Mozilla
communities.


I think all of the above makes a strong case for safelisting the scheme, even before browser support. Mozilla having recently migrated from IRC to Matrix offers a strong display of interest in the protocol on their part.

If you are interested in the scheme itself, it is documented in the accepted Matrix Specification Change (MSC) at matrix-org/matrix-spec-proposals#2312

It is noteworthy that there are currently only two implementers of custom protocol handlers, to my knowledge. However, multiple client applications can already act as protocol handlers for that scheme.

(See WHATWG Working Mode: Changes for more details.)


/acknowledgements.html ( diff )
/system-state.html ( diff )

@ShadowJonathan
Copy link

re "millions of users"; here is a tweet with the latest count, 27.6 million matrix.org-visible user IDs, self-reported

@annevk
Copy link
Member

annevk commented Apr 12, 2021

Mozilla is also okay with adding this. It should be quite easy to add test coverage given the existing tests on web-platform-tests. Are you willing to give that a go?

Note that you'll also need to sign https://participate.whatwg.org/agreement as per the CI checks.

@ShadowJonathan
Copy link

By the way, the proposal at matrix-org/matrix-spec-proposals#2312 has been merged, the matrix: URI proto is official! 🎉

@MayeulC
Copy link
Contributor Author

MayeulC commented Apr 12, 2021

Hello @annevk, and thank you for helping me move this forward.

It should be quite easy to add test coverage given the existing tests on web-platform-tests. Are you willing to give that a go?

Yes, I can do that. As a matter of fact, I prepared some a while back, but didn't put them in a PR. They are nothing too fancy, and will likely require separate review.
The matrix: scheme changed slightly since the original proposal, so I'll adjust those tests accordingly and will try to make a pull request this week, it might require a review round.

Note that you'll also need to sign https://participate.whatwg.org/agreement as per the CI checks.

Technically, I already did so shortly after opening this PR, I am not sure what's needed going forward. I will rebase, amend the commit message and force-push once the tests are ready, maybe that will re-trigger the CI.

@MayeulC has signed up to participate as an individual, but has not yet been verified. Hold tight while we sort this out on our end!

@annevk
Copy link
Member

annevk commented Apr 13, 2021

I don't think we need to actually test the matrix URL scheme itself, just that it works with registerProtocolHandler(). How those schemes are implemented is really up to the clients and the HTML Standard doesn't say anything about them.

(Agreement appears to be in order, thanks! We'll verify when this is ready to land.)

The matrix scheme has recently been finalized and is documented at [1].

Matrix is an open and secure communication protocol, designed for an
open federation of servers, much like e-mail or xmpp.

The Matrix.org foundation [2] is the custodian of the matrix specification,
including the scheme linked above. As a neutral party, it will ensure
that future iteration of the matrix scheme will remain in line with its
stated goals.

The federated (possibly later distributed) nature of the Matrix network calls
for an URI scheme, which multiple software programs already implement
(namely, Matrix clients Fluffychat, Quaternion, and Nheko among others).
Multiple web clients (Element, Hydrogen, Fluffychat again) have
expressed their interest in registering as matrix protocol handlers.

This commits adds the provisional matrix scheme, as provisionally registered
at [3].
The Matrix network currently hosts a few million accounts[4], as well as
being the instant communication platform of choice for the KDE and Mozilla
communities.

[1]: matrix-org/matrix-spec-proposals#2312
[2]: https://matrix.org/foundation/
[3]: https://www.iana.org/assignments/uri-schemes/prov/matrix
[4]: https://matrix.org/faq/#what-is-the-current-project-status
@MayeulC
Copy link
Contributor Author

MayeulC commented Apr 18, 2021

Indeed, the test was quite trivial and I had already written it, I must have confused that with something else.
Let me know if I have overlooked anything. I just rebased and slightly adjusted the commit description to better reflect that the scheme has been finalized on the Matrix side (I left the original wording in the PR).

Copy link
Member

@annevk annevk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems fine, I'll shorten the commit message quite a bit when landing. Hope that's okay.

annevk pushed a commit to web-platform-tests/wpt that referenced this pull request Apr 19, 2021
@annevk annevk merged commit 0cd8780 into whatwg:main Apr 19, 2021
@MayeulC
Copy link
Contributor Author

MayeulC commented Apr 19, 2021

That's fine by me, I like commit messages to contain the context and rationale for a change, but that's probably a Linux Kernel tradition, please do as you see fit for that repo :)

Thanks for merging!

moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this pull request Apr 24, 2021
… safelisted Matrix scheme, a=testonly

Automatic update from web-platform-tests
registerProtocolHandler() and the matrix scheme

See whatwg/html#6320.
--

wpt-commits: 5dbf4d9321fa1f98787367a6d00786addcca7abb
wpt-pr: 28565
reinerh added a commit to reinerh/vimwiki that referenced this pull request May 13, 2021
It has meanwhile been accepted into the HTML standard:
 whatwg/html#6320
brennen pushed a commit to vimwiki/vimwiki that referenced this pull request May 13, 2021
It has meanwhile been accepted into the HTML standard:
 whatwg/html#6320
blueboxd pushed a commit to blueboxd/chromium-legacy that referenced this pull request May 15, 2021
This was added to the HTML spec here:
whatwg/html#6320

I2S: https://groups.google.com/a/chromium.org/g/blink-dev/c/DGt2Iz5qidU

Fixed: 1169258
Change-Id: Ib768088aae100c827229b463517b9a5650e03dc4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2848588
Commit-Queue: Joey Arhar <jarhar@chromium.org>
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: Mason Freed <masonf@chromium.org>
Cr-Commit-Position: refs/heads/master@{#883203}
mjfroman pushed a commit to mjfroman/moz-libwebrtc-third-party that referenced this pull request Oct 14, 2022
This was added to the HTML spec here:
whatwg/html#6320

I2S: https://groups.google.com/a/chromium.org/g/blink-dev/c/DGt2Iz5qidU

Fixed: 1169258
Change-Id: Ib768088aae100c827229b463517b9a5650e03dc4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2848588
Commit-Queue: Joey Arhar <jarhar@chromium.org>
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: Mason Freed <masonf@chromium.org>
Cr-Commit-Position: refs/heads/master@{#883203}
NOKEYCHECK=True
GitOrigin-RevId: 70874d235511ce46531b4b217e7eb39ddd7f4029
jls83 pushed a commit to jls83/vimwiki that referenced this pull request Jan 17, 2023
It has meanwhile been accepted into the HTML standard:
 whatwg/html#6320
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants