Skip to content

MSC4300: Processing status requests & responses #4300

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

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

Johennes
Copy link
Contributor

@Johennes Johennes commented Jun 16, 2025

@Johennes Johennes force-pushed the johannes/request-response branch from 07e91a2 to 256d5d8 Compare June 16, 2025 10:05
@Johennes Johennes changed the title MSCXXXX: Processing status requests & responses MSC4300: Processing status requests & responses Jun 16, 2025
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
@Johennes Johennes force-pushed the johannes/request-response branch from 256d5d8 to aa5b57b Compare June 16, 2025 10:07
@Johennes Johennes marked this pull request as ready for review June 16, 2025 10:08
@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 Jun 16, 2025
Copy link
Member

Choose a reason for hiding this comment

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

Implementation requirements:

  • Sending client
  • Receiving client (with support)
  • Receiving client (without support)

@Johennes Johennes mentioned this pull request Jun 17, 2025
2 tasks

## Proposal

A new content block `m.request.status` is introduced to request a processing status from other
Copy link
Contributor

Choose a reason for hiding this comment

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

Shouldn't it be m.status.request and m.status.response like the m.key.verification.* events?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Hm, good question. My assumption was that there might be further specialized request types in future – as in requests that ask for something else than the processing status. Therefore, I made request the namespace. I have no concrete examples in mind, however, and don't feel strongly about the naming either.


## Proposal

A new content block `m.request.status` is introduced to request a processing status from other
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we really need a request for the described use cases? Couldn't the receiver proactively just decide to send a status, when it does not support event types instead of letting the sender always request the status?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think that could be helpful but it seems to solve a slightly different problem.

My assumption was that the sender would only add status requests on events that, for one reason or another, are important. Things such as prescriptions or sick notices where the content is not just plain text and where as the sender I need to make sure that you have actually understood and processed the event correctly. That means the majority of events would not include status requests which made adding it on the sender side appear acceptable.

Only sending the status response when an event was not understood would mean that the only signal of successful processing is the absence of a response. But then you won't know if the recipient didn't respond because it understood the event or if it simply hasn't received and processed the event yet.

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.

3 participants