-
Notifications
You must be signed in to change notification settings - Fork 382
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
Distinguish 'client' from 'federation' events #3658
Conversation
sent. This field is generated by the local homeserver, and may be incorrect | ||
if the local time on at least one of the two servers is out of sync, which can | ||
cause the age to either be negative or greater than it actually is. | ||
sent. | ||
type: integer | ||
redacted_because: | ||
description: The event that redacted this event, if any. | ||
title: Event | ||
type: object | ||
transaction_id: | ||
description: | | ||
The client-supplied transaction ID, for example, provided via | ||
`PUT /_matrix/client/r0/rooms/{roomId}/send/{eventType}/{txnId}`, | ||
if the client being given the event is the same one which sent it. | ||
type: string | ||
prev_content: | ||
description: | | ||
The previous `content` for this event. This field is generated | ||
by the local homeserver, and is only returned if the event is a state event, | ||
and the client has permission to see the previous content. | ||
x-changedInMatrixVersion: | ||
1.2: | | ||
Previously, this field was specified at the top level of returned | ||
events rather than in `unsigned` (with the exception of the [`GET | ||
.../notifications`](/client-server-api/#get_matrixclientv3notifications) | ||
endpoint), though in practice no known server implementations honoured | ||
this. | ||
title: EventContent | ||
type: object |
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.
all this stuff has moved into the definition for client_event
, because it's not sent over the federation API, so IMHO doesn't belong in the core event schema.
looks like I need to figure out why the validator is failing. |
1b1633f
to
ec18c98
Compare
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.
generally the changes seem fine - mostly just relatively minor concerns and taking the opportunity to fix some other small pet peeves while we're in the area.
data/api/client-server/definitions/serialised_event_without_room_id.yaml
Outdated
Show resolved
Hide resolved
data/api/client-server/definitions/serialised_event_without_room_id.yaml
Outdated
Show resolved
Hide resolved
data/api/client-server/definitions/serialised_event_without_room_id.yaml
Outdated
Show resolved
Hide resolved
data/api/client-server/definitions/serialised_event_without_room_id.yaml
Outdated
Show resolved
Hide resolved
data/api/client-server/definitions/serialised_event_without_room_id.yaml
Outdated
Show resolved
Hide resolved
Co-authored-by: Travis Ralston <travisr@matrix.org>
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.
thanks!
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 whetherroom_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, bit 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.)Preview: https://pr3658--matrix-org-previews.netlify.app