mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-12-25 15:53:09 -06:00
use reverse topo ordering to find latest extrem
This commit is contained in:
parent
fd90849802
commit
ed9e3fc385
|
|
@ -64,12 +64,19 @@ func (r *InboundPeeker) PerformInboundPeek(
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
// XXX: is this actually the latest of the latest events?
|
|
||||||
latestEvents, err := r.DB.EventsFromIDs(ctx, []string{latestEventRefs[0].EventID})
|
latestEvents, err := r.DB.EventsFromIDs(ctx, []string{latestEventRefs[0].EventID})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
response.LatestEvent = latestEvents[0].Headered(info.RoomVersion)
|
var sortedLatestEvents []gomatrixserverlib.Event
|
||||||
|
for _, ev := range latestEvents {
|
||||||
|
sortedLatestEvents = append(sortedLatestEvents, ev.Event)
|
||||||
|
}
|
||||||
|
sortedLatestEvents = gomatrixserverlib.ReverseTopologicalOrdering(
|
||||||
|
sortedLatestEvents,
|
||||||
|
gomatrixserverlib.TopologicalOrderByPrevEvents,
|
||||||
|
)
|
||||||
|
response.LatestEvent = sortedLatestEvents[0].Headered(info.RoomVersion)
|
||||||
|
|
||||||
// XXX: do we actually need to do a state resolution here?
|
// XXX: do we actually need to do a state resolution here?
|
||||||
roomState := state.NewStateResolution(r.DB, *info)
|
roomState := state.NewStateResolution(r.DB, *info)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue