mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-12-17 20:03:10 -06:00
Hopefully fix some of the sync batch tokens
This commit is contained in:
parent
c6d0fa3fc2
commit
5dfbf0b2be
|
|
@ -20,7 +20,6 @@ import (
|
||||||
"database/sql"
|
"database/sql"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"strconv"
|
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
|
|
@ -634,16 +633,8 @@ func (d *SyncServerDatasource) getResponseWithPDUsForCompleteSync(
|
||||||
stateEvents = removeDuplicates(stateEvents, recentEvents)
|
stateEvents = removeDuplicates(stateEvents, recentEvents)
|
||||||
jr := types.NewJoinResponse()
|
jr := types.NewJoinResponse()
|
||||||
jr.Timeline.PrevBatch = types.NewPaginationTokenFromTypeAndPosition(
|
jr.Timeline.PrevBatch = types.NewPaginationTokenFromTypeAndPosition(
|
||||||
types.PaginationTokenTypeTopology, backwardTopologyPos, 0,
|
types.PaginationTokenTypeStream, backwardTopologyPos, 0,
|
||||||
).String()
|
).String()
|
||||||
// TODO: do we want short-form here? adds complexity elsewhere
|
|
||||||
if prevPDUPos := recentStreamEvents[0].StreamPosition - 1; prevPDUPos > 0 {
|
|
||||||
// Use the short form of batch token for prev_batch
|
|
||||||
jr.Timeline.PrevBatch = strconv.FormatInt(int64(prevPDUPos), 10)
|
|
||||||
} else {
|
|
||||||
// Use the short form of batch token for prev_batch
|
|
||||||
jr.Timeline.PrevBatch = "1"
|
|
||||||
}
|
|
||||||
jr.Timeline.Events = gomatrixserverlib.ToClientEvents(recentEvents, gomatrixserverlib.FormatSync)
|
jr.Timeline.Events = gomatrixserverlib.ToClientEvents(recentEvents, gomatrixserverlib.FormatSync)
|
||||||
jr.Timeline.Limited = true
|
jr.Timeline.Limited = true
|
||||||
jr.State.Events = gomatrixserverlib.ToClientEvents(stateEvents, gomatrixserverlib.FormatSync)
|
jr.State.Events = gomatrixserverlib.ToClientEvents(stateEvents, gomatrixserverlib.FormatSync)
|
||||||
|
|
@ -857,10 +848,8 @@ func (d *SyncServerDatasource) addRoomDeltaToResponse(
|
||||||
jr := types.NewJoinResponse()
|
jr := types.NewJoinResponse()
|
||||||
|
|
||||||
jr.Timeline.PrevBatch = types.NewPaginationTokenFromTypeAndPosition(
|
jr.Timeline.PrevBatch = types.NewPaginationTokenFromTypeAndPosition(
|
||||||
types.PaginationTokenTypeTopology, backwardTopologyPos, 0,
|
types.PaginationTokenTypeStream, backwardTopologyPos, 0,
|
||||||
).String()
|
).String()
|
||||||
// Use the short form of batch token for prev_batch
|
|
||||||
jr.Timeline.PrevBatch = strconv.FormatInt(int64(prevPDUPos), 10)
|
|
||||||
jr.Timeline.Events = gomatrixserverlib.ToClientEvents(recentEvents, gomatrixserverlib.FormatSync)
|
jr.Timeline.Events = gomatrixserverlib.ToClientEvents(recentEvents, gomatrixserverlib.FormatSync)
|
||||||
jr.Timeline.Limited = false // TODO: if len(events) >= numRecents + 1 and then set limited:true
|
jr.Timeline.Limited = false // TODO: if len(events) >= numRecents + 1 and then set limited:true
|
||||||
jr.State.Events = gomatrixserverlib.ToClientEvents(delta.stateEvents, gomatrixserverlib.FormatSync)
|
jr.State.Events = gomatrixserverlib.ToClientEvents(delta.stateEvents, gomatrixserverlib.FormatSync)
|
||||||
|
|
@ -874,8 +863,6 @@ func (d *SyncServerDatasource) addRoomDeltaToResponse(
|
||||||
lr.Timeline.PrevBatch = types.NewPaginationTokenFromTypeAndPosition(
|
lr.Timeline.PrevBatch = types.NewPaginationTokenFromTypeAndPosition(
|
||||||
types.PaginationTokenTypeStream, backwardTopologyPos, 0,
|
types.PaginationTokenTypeStream, backwardTopologyPos, 0,
|
||||||
).String()
|
).String()
|
||||||
// Use the short form of batch token for prev_batch
|
|
||||||
lr.Timeline.PrevBatch = strconv.FormatInt(int64(prevPDUPos), 10)
|
|
||||||
lr.Timeline.Events = gomatrixserverlib.ToClientEvents(recentEvents, gomatrixserverlib.FormatSync)
|
lr.Timeline.Events = gomatrixserverlib.ToClientEvents(recentEvents, gomatrixserverlib.FormatSync)
|
||||||
lr.Timeline.Limited = false // TODO: if len(events) >= numRecents + 1 and then set limited:true
|
lr.Timeline.Limited = false // TODO: if len(events) >= numRecents + 1 and then set limited:true
|
||||||
lr.State.Events = gomatrixserverlib.ToClientEvents(delta.stateEvents, gomatrixserverlib.FormatSync)
|
lr.State.Events = gomatrixserverlib.ToClientEvents(delta.stateEvents, gomatrixserverlib.FormatSync)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue