-
Notifications
You must be signed in to change notification settings - Fork 401
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
base: main
Are you sure you want to change the base?
Conversation
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: Hopefully it will extend worldwide soon and we will not need this MSC. |
@@ -0,0 +1,149 @@ | |||
# MSC4286: App store compliant handling of payment links within events |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see it as any sort of "approval" but I feel like we are speccing a loophole. If a given homeserver doesn't comply with this MSC, clients will have a hard time complying with Apple's practices anyway. And on the other hand, since the content is still making its way to the client even with the span
markup, will it be sufficient for Apple? The last thing I would want is Apple coming back to the Foundation for endorsing a practice they see as violating their T&Cs. The link is not even related to the client, it's made by the server which, usually in Matrix, is formally independent from the client; therefore I'm not sure the quoted part from the review guidelines actually applies. Can/Do we have a legal review of this?
|
||
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 |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
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. |
A full client implementation has landed in Element iOS so marking as ready for review. |
Co-authored-by: Christian Paul <info@jaller.de>
Rendered
Implementations: