Distinguish 'client' from 'federation' events (#3658)

Fixes #3305 
Fixes #3380
 
The idea here is to better distinguish between a 'raw' event (as we send over the wire), and the 
'serialised' format, as sent in responses to the C-S api and in `PUT /_matrix/app/v1/transactions/{txnId}`.

It's made more complicated by the fact that there are _two_ serialisation formats, one used by `/sync`
and `/notifications`, and one by everything else (the difference being whether `room_id` is included).

In an ideal world, we wouldn't repeat `SerialisedEvent` every time it's used, and instead just link to the
first reference, but that's a job for another day.

Another job for another day is to get rid of things like `sync_state_event.yaml` (which is now used
only in one place, so should be inlined.)
This commit is contained in:
Richard van der Hoff 2022-02-01 15:05:08 +00:00 committed by GitHub
parent d4c74d37a9
commit 36b02edfc2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
18 changed files with 213 additions and 167 deletions

View file

@ -65,8 +65,7 @@ paths:
description: |-
A list of events, formatted as per the Client-Server API.
items:
type: object
title: Event
$ref: "../client-server/definitions/client_event.yaml"
required: ["events"]
responses:
200: