mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-12-24 07:13:09 -06:00
Don't run the latest events updater at all for KindOld
This commit is contained in:
parent
2f6b009fdb
commit
35d2972494
|
|
@ -85,6 +85,7 @@ func (r *Inputer) WriteOutputEvents(roomID string, updates []api.OutputEvent) er
|
||||||
logger = logger.WithFields(log.Fields{
|
logger = logger.WithFields(log.Fields{
|
||||||
"event_type": updates[i].NewRoomEvent.Event.Type(),
|
"event_type": updates[i].NewRoomEvent.Event.Type(),
|
||||||
"event_id": updates[i].NewRoomEvent.Event.EventID(),
|
"event_id": updates[i].NewRoomEvent.Event.EventID(),
|
||||||
|
"is_fwd_extrem": updates[i].NewRoomEvent.IsForwardExtremity,
|
||||||
"adds_state": len(updates[i].NewRoomEvent.AddsStateEventIDs),
|
"adds_state": len(updates[i].NewRoomEvent.AddsStateEventIDs),
|
||||||
"removes_state": len(updates[i].NewRoomEvent.RemovesStateEventIDs),
|
"removes_state": len(updates[i].NewRoomEvent.RemovesStateEventIDs),
|
||||||
"send_as_server": updates[i].NewRoomEvent.SendAsServer,
|
"send_as_server": updates[i].NewRoomEvent.SendAsServer,
|
||||||
|
|
|
||||||
|
|
@ -136,17 +136,18 @@ func (r *Inputer) processRoomEvent(
|
||||||
return event.EventID(), rejectionErr
|
return event.EventID(), rejectionErr
|
||||||
}
|
}
|
||||||
|
|
||||||
if err = r.updateLatestEvents(
|
if input.Kind == api.KindNew {
|
||||||
ctx, // context
|
if err = r.updateLatestEvents(
|
||||||
roomInfo, // room info for the room being updated
|
ctx, // context
|
||||||
stateAtEvent, // state at event (below)
|
roomInfo, // room info for the room being updated
|
||||||
input.Kind, // kind of event
|
stateAtEvent, // state at event (below)
|
||||||
event, // event
|
event, // event
|
||||||
input.SendAsServer, // send as server
|
input.SendAsServer, // send as server
|
||||||
input.TransactionID, // transaction ID
|
input.TransactionID, // transaction ID
|
||||||
input.HasState, // rewrites state?
|
input.HasState, // rewrites state?
|
||||||
); err != nil {
|
); err != nil {
|
||||||
return "", fmt.Errorf("r.updateLatestEvents: %w", err)
|
return "", fmt.Errorf("r.updateLatestEvents: %w", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// processing this event resulted in an event (which may not be the one we're processing)
|
// processing this event resulted in an event (which may not be the one we're processing)
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,6 @@ func (r *Inputer) updateLatestEvents(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
roomInfo *types.RoomInfo,
|
roomInfo *types.RoomInfo,
|
||||||
stateAtEvent types.StateAtEvent,
|
stateAtEvent types.StateAtEvent,
|
||||||
kind api.Kind,
|
|
||||||
event gomatrixserverlib.Event,
|
event gomatrixserverlib.Event,
|
||||||
sendAsServer string,
|
sendAsServer string,
|
||||||
transactionID *api.TransactionID,
|
transactionID *api.TransactionID,
|
||||||
|
|
@ -71,7 +70,6 @@ func (r *Inputer) updateLatestEvents(
|
||||||
updater: updater,
|
updater: updater,
|
||||||
roomInfo: roomInfo,
|
roomInfo: roomInfo,
|
||||||
stateAtEvent: stateAtEvent,
|
stateAtEvent: stateAtEvent,
|
||||||
kind: kind,
|
|
||||||
event: event,
|
event: event,
|
||||||
sendAsServer: sendAsServer,
|
sendAsServer: sendAsServer,
|
||||||
transactionID: transactionID,
|
transactionID: transactionID,
|
||||||
|
|
@ -97,7 +95,6 @@ type latestEventsUpdater struct {
|
||||||
roomInfo *types.RoomInfo
|
roomInfo *types.RoomInfo
|
||||||
stateAtEvent types.StateAtEvent
|
stateAtEvent types.StateAtEvent
|
||||||
event gomatrixserverlib.Event
|
event gomatrixserverlib.Event
|
||||||
kind api.Kind
|
|
||||||
transactionID *api.TransactionID
|
transactionID *api.TransactionID
|
||||||
rewritesState bool
|
rewritesState bool
|
||||||
// Which server to send this event as.
|
// Which server to send this event as.
|
||||||
|
|
@ -144,33 +141,29 @@ func (u *latestEventsUpdater) doUpdateLatestEvents() error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
var updates []api.OutputEvent
|
// Work out what the latest events are. This will include the new
|
||||||
var err error
|
// event if it is not already referenced.
|
||||||
if u.kind == api.KindNew {
|
if err := u.calculateLatest(
|
||||||
// Work out what the latest events are. This will include the new
|
oldLatest,
|
||||||
// event if it is not already referenced.
|
types.StateAtEventAndReference{
|
||||||
if err = u.calculateLatest(
|
EventReference: u.event.EventReference(),
|
||||||
oldLatest,
|
StateAtEvent: u.stateAtEvent,
|
||||||
types.StateAtEventAndReference{
|
},
|
||||||
EventReference: u.event.EventReference(),
|
); err != nil {
|
||||||
StateAtEvent: u.stateAtEvent,
|
return fmt.Errorf("u.calculateLatest: %w", err)
|
||||||
},
|
}
|
||||||
); err != nil {
|
|
||||||
return fmt.Errorf("u.calculateLatest: %w", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Now that we know what the latest events are, it's time to get the
|
// Now that we know what the latest events are, it's time to get the
|
||||||
// latest state.
|
// latest state.
|
||||||
if err = u.latestState(); err != nil {
|
if err := u.latestState(); err != nil {
|
||||||
return fmt.Errorf("u.latestState: %w", err)
|
return fmt.Errorf("u.latestState: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// If we need to generate any output events then here's where we do it.
|
// If we need to generate any output events then here's where we do it.
|
||||||
// TODO: Move this!
|
// TODO: Move this!
|
||||||
updates, err = u.api.updateMemberships(u.ctx, u.updater, u.removed, u.added)
|
updates, err := u.api.updateMemberships(u.ctx, u.updater, u.removed, u.added)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("u.api.updateMemberships: %w", err)
|
return fmt.Errorf("u.api.updateMemberships: %w", err)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
update, err := u.makeOutputNewRoomEvent()
|
update, err := u.makeOutputNewRoomEvent()
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue