Skip to content

MSC4286: App store compliant handling of payment links within events #4286

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

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

hughns
Copy link
Member

@hughns hughns commented May 6, 2025

@hughns hughns changed the title MSCxxxx: App store compliant handling of payment links within events MSC4286: App store compliant handling of payment links within events May 6, 2025
hughns added a commit to hughns/ruma that referenced this pull request May 6, 2025
hughns added a commit to hughns/ruma that referenced this pull request May 6, 2025
hughns added a commit to hughns/ruma that referenced this pull request May 6, 2025
hughns added a commit to hughns/ruma that referenced this pull request May 6, 2025
@manuroe
Copy link
Contributor

manuroe commented May 7, 2025

Note that massive changes are happening on the App Store topic. Since last week for USA, and only for the USA at this moment:

As part of the ruling, the judge says that Apple cannot:
- Impose “any commission or any fee on purchases that consumers make outside an app”
- Restrict developers’ style, formatting, or placement of links for purchases outside of an app
- Block or limit the “use of buttons or other calls to action”
- Interfere with consumers’ choice to leave an app with anything beyond “a neutral message apprising users that they are going to a third-party site”

https://www.theverge.com/news/659246/apple-epic-app-store-judge-ruling-control

Hopefully it will extend worldwide soon and we will not need this MSC.

hughns added a commit to hughns/ruma that referenced this pull request May 7, 2025
hughns added a commit to hughns/ruma that referenced this pull request May 7, 2025
@turt2live turt2live added proposal A matrix spec change proposal client-server Client-Server API kind:maintenance MSC which clarifies/updates existing spec needs-implementation This MSC does not have a qualifying implementation for the SCT to review. The MSC cannot enter FCP. labels May 12, 2025
@@ -0,0 +1,149 @@
# MSC4286: App store compliant handling of payment links within events
Copy link
Contributor

Choose a reason for hiding this comment

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

I am unsure if we should “approve” questionable legality practices of apple in Matrix Spec. Especially considering the recently lost court cases, I believe this is the wrong move and instead, at most should be handled on an implementation basis rather than spec.

See for example, https://techcrunch.com/2025/04/30/epic-games-just-scored-a-major-win-against-apple/ as a randomly chosen source for this.

Copy link
Member

Choose a reason for hiding this comment

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

Matrix is built for the real world, and the sad reality is that today in most jurisdictions Apple still has this rule in place and has had it for many years - even if there's an injunction against it at the time of writing in the US. The fact that it's legally questionable is orthogonal to the fact that exists and impacts every Matrix client on the iOS App Store, and therefore needs to be solved in a consistent cross-client manner - hence being in the spec.

Copy link
Member Author

Choose a reason for hiding this comment

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

I am unsure if we should “approve” questionable legality practices of apple in Matrix Spec. Especially considering the recently lost court cases, I believe this is the wrong move and instead, at most should be handled on an implementation basis rather than spec.

The problem I see with treating it as an implementation issue, is that being complaint requires cooperation between the homeserver and the client.

Where it is a "closed" homeserver that has a restricted client (i.e. the server and client are under the control of the same entity), treating it as implementation is fine.

However, if a homeserver wants to operate on a more "open" basis and allow the users to pick their client, I believe it would be beneficial to have this in the specification.


On a client that is aware of the new attribute and chooses to not render, it would appear as:

> Please use a web browser to manage your account
Copy link
Contributor

Choose a reason for hiding this comment

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

I feel like this is a major downgrade in UX and arguably makes the app unusable. Imho I rather would see the APIs standardized to be native to the app rather than this.

Copy link
Member

Choose a reason for hiding this comment

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

i suspect you are missing the point of the MSC, which is that some appstores don't let you manage purchases with native code in the app or with links to external web services.

@ara4n
Copy link
Member

ara4n commented May 12, 2025

Hopefully it will extend worldwide soon and we will not need this MSC.

unfortunately we can't count on this, plus it might revert in future. so far Apple have only changed things in the US, and based on other regulatory behaviour they may apply regulation strictly to the geographies where they've been regulated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
client-server Client-Server API kind:maintenance MSC which clarifies/updates existing spec needs-implementation This MSC does not have a qualifying implementation for the SCT to review. The MSC cannot enter FCP. proposal A matrix spec change proposal
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants