Clarify how to use state_after ahead of declaring full support for its spec version #2240
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The current text in the spec appears contradictory to me because it requires servers to support the feature but also requires clients to handle the server not supporting it. It was clarified in the matrix-spec room that the intent was to allow usage of this feature without requiring the server to implement full support for Matrix 1.16.
What I think this means is that we want to allow clients to set
use_state_after=trueregardless of whether the server declares support for 1.16 in/versions. And only if a client does that, we want to require it handle the server not supporting the feature. This change tries to change the spec text accordingly.It was also mentioned in the matrix-spec room that some servers declare support for a version without fully implementing it. The current spec for
use_state_afterwould work in this case, too. I think we should not allow this, however, because it makes/versionssomewhat useless and would require clients to infer what features the server actually supports everywhere.Pull Request Checklist
Preview: https://pr2240--matrix-spec-previews.netlify.app