mirror of
https://github.com/hoernschen/dendrite.git
synced 2025-07-31 13:22:46 +00:00
Implement gomatrixserverlib.HeaderedEvent in roomserver Kafka output (#914)
* Use Event.Headered * Use HeaderedEvent in roomserver kafka output * Fix syncserver-integration-tests * Update producers to roomserver inputs * Update gomatrixserverlib * Update gomatrixserverlib * Update gomatrixserverlib * Update gomatrixserverlib * Update gomatrixserverlib * Update gomatrixserverlib
This commit is contained in:
parent
9f74a8798e
commit
aebf347a79
17 changed files with 289 additions and 71 deletions
|
@ -95,7 +95,7 @@ func processRoomEvent(
|
|||
event := input.Event
|
||||
|
||||
// Check that the event passes authentication checks and work out the numeric IDs for the auth events.
|
||||
authEventNIDs, err := checkAuthEvents(ctx, db, event, input.AuthEventIDs)
|
||||
authEventNIDs, err := checkAuthEvents(ctx, db, event.Event, input.AuthEventIDs)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ func processRoomEvent(
|
|||
}
|
||||
|
||||
// Store the event
|
||||
roomNID, stateAtEvent, err := db.StoreEvent(ctx, event, input.TransactionID, authEventNIDs)
|
||||
roomNID, stateAtEvent, err := db.StoreEvent(ctx, event.Event, input.TransactionID, authEventNIDs)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
@ -127,7 +127,7 @@ func processRoomEvent(
|
|||
if stateAtEvent.BeforeStateSnapshotNID == 0 {
|
||||
// We haven't calculated a state for this event yet.
|
||||
// Lets calculate one.
|
||||
err = calculateAndSetState(ctx, db, input, roomNID, &stateAtEvent, event)
|
||||
err = calculateAndSetState(ctx, db, input, roomNID, &stateAtEvent, event.Event)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
@ -140,7 +140,7 @@ func processRoomEvent(
|
|||
|
||||
// Update the extremities of the event graph for the room
|
||||
return event.EventID(), updateLatestEvents(
|
||||
ctx, db, ow, roomNID, stateAtEvent, event, input.SendAsServer, input.TransactionID,
|
||||
ctx, db, ow, roomNID, stateAtEvent, event.Event, input.SendAsServer, input.TransactionID,
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -234,7 +234,7 @@ func processInviteEvent(
|
|||
return nil
|
||||
}
|
||||
|
||||
outputUpdates, err := updateToInviteMembership(updater, &input.Event, nil)
|
||||
outputUpdates, err := updateToInviteMembership(updater, &input.Event.Event, nil)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
@ -253,8 +253,11 @@ func (u *latestEventsUpdater) makeOutputNewRoomEvent() (*api.OutputEvent, error)
|
|||
latestEventIDs[i] = u.latest[i].EventID
|
||||
}
|
||||
|
||||
// TODO: Room version here
|
||||
roomVersion := gomatrixserverlib.RoomVersionV1
|
||||
|
||||
ore := api.OutputNewRoomEvent{
|
||||
Event: u.event,
|
||||
Event: u.event.Headered(roomVersion),
|
||||
LastSentEventID: u.lastEventIDSent,
|
||||
LatestEventIDs: latestEventIDs,
|
||||
TransactionID: u.transactionID,
|
||||
|
|
|
@ -136,13 +136,14 @@ func updateToInviteMembership(
|
|||
return nil, err
|
||||
}
|
||||
if needsSending {
|
||||
roomVersion := gomatrixserverlib.RoomVersionV1
|
||||
// We notify the consumers using a special event even though we will
|
||||
// notify them about the change in current state as part of the normal
|
||||
// room event stream. This ensures that the consumers only have to
|
||||
// consider a single stream of events when determining whether a user
|
||||
// is invited, rather than having to combine multiple streams themselves.
|
||||
onie := api.OutputNewInviteEvent{
|
||||
Event: *add,
|
||||
Event: (*add).Headered(roomVersion),
|
||||
}
|
||||
updates = append(updates, api.OutputEvent{
|
||||
Type: api.OutputTypeNewInviteEvent,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue