Implement new extensible events parsing interface and intercept non-extensible messages in supported rooms #3067
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.
matrix-org/matrix-spec-proposals#1767 covers this in a whole lot more detail, but the tldr is extensible events (v2) is gated by a room version: any old events sent in that room version are not supposed to be rendered, and we're supposed to be sending the new extensible event types.
This PR implements the new event parsing interface from the events-sdk (normally a breaking change, but not here because unstable), and converts
m.room.message
events to their extensible versions in room versions where it matters, for the event types we know we can support with the events-sdk.This is very much a work in progress and a bit of a hack - the intention is to demonstrate the functionality and hopefully improve on it later.
This change is marked as an internal change (Task), so will not be included in the changelog.