From 0d213afe09c046848e59a5f93a507d5fed663948 Mon Sep 17 00:00:00 2001 From: "Jae Lo Presti (DN0)" Date: Mon, 15 Aug 2022 23:31:38 +0300 Subject: [PATCH 1/8] Proposals: add room-contribution proposal Co-authored-by: Aminda Suomalainen --- proposals/xxxx-room-contribution.md | 48 +++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 proposals/xxxx-room-contribution.md diff --git a/proposals/xxxx-room-contribution.md b/proposals/xxxx-room-contribution.md new file mode 100644 index 000000000..9bd2ddcf9 --- /dev/null +++ b/proposals/xxxx-room-contribution.md @@ -0,0 +1,48 @@ +# MSCXXXX: Room Contribution + +Many projects and communities have a room on Matrix nowadays and many may wish to show their friends how to support them. +The goal, would be to have something only visible to room & space members and to provide something easier to manage & display than putting links into the room topic or announcing them periodically. + +## Proposal + +This proposal implements a new `m.room.contribute` state event. This state event contains a "uri" parameter that may link to a git repo or any kind of URI and a "text" parameter that may contain the text of the button directing to the support link. There may be multiple "uri" and "text" parameters, each adding a different button containing a different link. Alternatively to the "uri" parameter, a "copy" one can be specified and will tell clients to copy the value in the clipboard. +An example of this event would look like this: + +```json +{ + "links": [ + { + "uri": "https://git.me/contribute", + "text": "Contribute code!" + }, + { + "uri": "https://translate.me/contribute", + "text": "Translate the project!" + }, + { + "uri": "mailto:team@verygoodproje.ct", + "text": "Get in touch!" + }, + { + "text": "Donation IBAN", + "copy": "CH5604835012345678009" + } + ] +} +``` + +## Potential issues + +// To be determined + +## Alternatives + +Historically, that sort of advertisement is either taken care of by adding the said URIs to the room topic or periodically sending an announcement in the channel. + +## Security considerations + +State events are currently not encrypted which could leak some data. + +## Dependencies + +None. From 22eab55bc7f4f09f1f1442dacde65f7d3b8228df Mon Sep 17 00:00:00 2001 From: "Jae Lo Presti (DN0)" Date: Mon, 15 Aug 2022 23:40:53 +0300 Subject: [PATCH 2/8] Proposal: rename and add MSC number --- .../{xxxx-room-contribution.md => 3868-room-contribution.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename proposals/{xxxx-room-contribution.md => 3868-room-contribution.md} (98%) diff --git a/proposals/xxxx-room-contribution.md b/proposals/3868-room-contribution.md similarity index 98% rename from proposals/xxxx-room-contribution.md rename to proposals/3868-room-contribution.md index 9bd2ddcf9..083ce2655 100644 --- a/proposals/xxxx-room-contribution.md +++ b/proposals/3868-room-contribution.md @@ -1,4 +1,4 @@ -# MSCXXXX: Room Contribution +# MSC3868: Room Contribution Many projects and communities have a room on Matrix nowadays and many may wish to show their friends how to support them. The goal, would be to have something only visible to room & space members and to provide something easier to manage & display than putting links into the room topic or announcing them periodically. From aafc392975bb84dc8e5f7853442fb69a0d5c340b Mon Sep 17 00:00:00 2001 From: "Jae Lo Presti (DN0)" Date: Tue, 16 Aug 2022 00:12:55 +0300 Subject: [PATCH 3/8] Proposals: wrap 120 chars --- proposals/3868-room-contribution.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/proposals/3868-room-contribution.md b/proposals/3868-room-contribution.md index 083ce2655..6565d7a0f 100644 --- a/proposals/3868-room-contribution.md +++ b/proposals/3868-room-contribution.md @@ -1,11 +1,17 @@ # MSC3868: Room Contribution -Many projects and communities have a room on Matrix nowadays and many may wish to show their friends how to support them. -The goal, would be to have something only visible to room & space members and to provide something easier to manage & display than putting links into the room topic or announcing them periodically. +Many projects and communities have a room on Matrix nowadays and many may wish to show their friends how to support +them. +The goal, would be to have something only visible to room & space members and to provide something easier to manage & +display than putting links into the room topic or announcing them periodically. ## Proposal -This proposal implements a new `m.room.contribute` state event. This state event contains a "uri" parameter that may link to a git repo or any kind of URI and a "text" parameter that may contain the text of the button directing to the support link. There may be multiple "uri" and "text" parameters, each adding a different button containing a different link. Alternatively to the "uri" parameter, a "copy" one can be specified and will tell clients to copy the value in the clipboard. +This proposal implements a new `m.room.contribute` state event. This state event contains a "uri" parameter that may +link to a git repo or any kind of URI and a "text" parameter that may contain the text of the button directing to the +support link. There may be multiple "uri" and "text" parameters, each adding a different button containing a different +link. Alternatively to the "uri" parameter, a "copy" one can be specified and will tell clients to copy the value in +the clipboard. An example of this event would look like this: ```json @@ -37,7 +43,8 @@ An example of this event would look like this: ## Alternatives -Historically, that sort of advertisement is either taken care of by adding the said URIs to the room topic or periodically sending an announcement in the channel. +Historically, that sort of advertisement is either taken care of by adding the said URIs to the room topic or +periodically sending an announcement in the channel. ## Security considerations From eee445f2ff9afb1a800b4968268c518ffba001cd Mon Sep 17 00:00:00 2001 From: Aminda Suomalainen Date: Tue, 16 Aug 2022 00:29:19 +0300 Subject: [PATCH 4/8] MSC3868: note publicity of room topic in alternatives --- proposals/3868-room-contribution.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/proposals/3868-room-contribution.md b/proposals/3868-room-contribution.md index 6565d7a0f..b90847523 100644 --- a/proposals/3868-room-contribution.md +++ b/proposals/3868-room-contribution.md @@ -44,7 +44,8 @@ An example of this event would look like this: ## Alternatives Historically, that sort of advertisement is either taken care of by adding the said URIs to the room topic or -periodically sending an announcement in the channel. +periodically sending an announcement in the channel. However room topic is public information when the room +has `m.room.join_rules` other than `invite`. ## Security considerations From 7d7e949ea0a7538ac685814b3961b16f144f82b1 Mon Sep 17 00:00:00 2001 From: Aminda Suomalainen Date: Tue, 16 Aug 2022 00:47:27 +0300 Subject: [PATCH 5/8] MSC3868: add unstable prefix Signed-off-by: Aminda Suomalainen --- proposals/3868-room-contribution.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/proposals/3868-room-contribution.md b/proposals/3868-room-contribution.md index b90847523..7569a1005 100644 --- a/proposals/3868-room-contribution.md +++ b/proposals/3868-room-contribution.md @@ -51,6 +51,10 @@ has `m.room.join_rules` other than `invite`. State events are currently not encrypted which could leak some data. +## Unstable prefix + +Unstable implementations should use the state event type of `eu.dn0.msc3868.rev1.room.contribute` + ## Dependencies None. From f832ab1d6291b688341a8f73c7ab8e4cbe08b3ac Mon Sep 17 00:00:00 2001 From: Aminda Suomalainen Date: Tue, 16 Aug 2022 00:52:41 +0300 Subject: [PATCH 6/8] MSC3868: remove hanging spaces Signed-off-by: Aminda Suomalainen --- proposals/3868-room-contribution.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/proposals/3868-room-contribution.md b/proposals/3868-room-contribution.md index 7569a1005..af886348d 100644 --- a/proposals/3868-room-contribution.md +++ b/proposals/3868-room-contribution.md @@ -1,7 +1,7 @@ # MSC3868: Room Contribution -Many projects and communities have a room on Matrix nowadays and many may wish to show their friends how to support -them. +Many projects and communities have a room on Matrix nowadays and many may wish to show their friends how to support +them. The goal, would be to have something only visible to room & space members and to provide something easier to manage & display than putting links into the room topic or announcing them periodically. @@ -43,7 +43,7 @@ An example of this event would look like this: ## Alternatives -Historically, that sort of advertisement is either taken care of by adding the said URIs to the room topic or +Historically, that sort of advertisement is either taken care of by adding the said URIs to the room topic or periodically sending an announcement in the channel. However room topic is public information when the room has `m.room.join_rules` other than `invite`. From 0bc970e12431582247d7d976d7de7888b265b0cf Mon Sep 17 00:00:00 2001 From: Aminda Suomalainen Date: Tue, 16 Aug 2022 00:56:53 +0300 Subject: [PATCH 7/8] MSC3868: Clarify unawareness of issues, mention #3414 as a light dependency Co-authored-by: Jae Lo Presti Signed-off-by: Aminda Suomalainen --- proposals/3868-room-contribution.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/proposals/3868-room-contribution.md b/proposals/3868-room-contribution.md index af886348d..34247993f 100644 --- a/proposals/3868-room-contribution.md +++ b/proposals/3868-room-contribution.md @@ -39,7 +39,7 @@ An example of this event would look like this: ## Potential issues -// To be determined +The authors aren't aware of any potential issues being raised. ## Alternatives @@ -57,4 +57,6 @@ Unstable implementations should use the state event type of `eu.dn0.msc3868.rev1 ## Dependencies -None. +The authors believe this MSC could benefit from +[MSC3414: Encrypted State Events](https://github.com/matrix-org/matrix-spec-proposals/pull/3414) +while not considering it as a blocker. From 2f516ebb2334679fdef0158dcc2a67a5dd0c6bc5 Mon Sep 17 00:00:00 2001 From: "Jae Lo Presti (DN0)" Date: Wed, 17 Aug 2022 20:34:45 +0300 Subject: [PATCH 8/8] MSC3868: add "badge_uri" parameter that links to a MXC URI Other changes: - Added comment on possible benefit from MSC3468 Co-authored-by: Aminda Suomalainen --- proposals/3868-room-contribution.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/proposals/3868-room-contribution.md b/proposals/3868-room-contribution.md index 34247993f..8b1c6072c 100644 --- a/proposals/3868-room-contribution.md +++ b/proposals/3868-room-contribution.md @@ -11,7 +11,9 @@ This proposal implements a new `m.room.contribute` state event. This state event link to a git repo or any kind of URI and a "text" parameter that may contain the text of the button directing to the support link. There may be multiple "uri" and "text" parameters, each adding a different button containing a different link. Alternatively to the "uri" parameter, a "copy" one can be specified and will tell clients to copy the value in -the clipboard. +the clipboard. Another, optional, "badge_uri" parameter may be specified and only may contain a MXC URI to a image +media. When specified, the image, or badge, is displayed in place of the text, the text becoming the `alt` property +of said image. An example of this event would look like this: ```json @@ -32,6 +34,11 @@ An example of this event would look like this: { "text": "Donation IBAN", "copy": "CH5604835012345678009" + }, + { + "uri": "https://liberapay.com/foo", + "text": "Support us on LiberaPay", + "badge_uri": "mxc://jae.fi/5d718eb34d05c8b6b1304e2a106aa800400476a6" } ] } @@ -60,3 +67,6 @@ Unstable implementations should use the state event type of `eu.dn0.msc3868.rev1 The authors believe this MSC could benefit from [MSC3414: Encrypted State Events](https://github.com/matrix-org/matrix-spec-proposals/pull/3414) while not considering it as a blocker. +Given the use of MXC URIs to display badges, the implementation of +[MSC3468: MXC to Hashes](https://github.com/matrix-org/matrix-spec-proposals/pull/3468) +would benefit the current MSC while, again, not blocking its implementation.