mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-12-06 22:43:10 -06:00
Merge branch 'main' of github.com:matrix-org/dendrite into s7evink/device-list-updater-again
This commit is contained in:
commit
51770e2366
|
|
@ -17,6 +17,7 @@ package query
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"sort"
|
"sort"
|
||||||
|
|
||||||
|
|
@ -56,6 +57,12 @@ func (querier *Queryer) QueryNextRoomHierarchyPage(ctx context.Context, walker r
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If the context is canceled, we might still have discovered rooms
|
||||||
|
// return them to the client and let the client know there _may_ be more rooms.
|
||||||
|
if errors.Is(ctx.Err(), context.Canceled) {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
// pop the stack
|
// pop the stack
|
||||||
queuedRoom := unvisited[len(unvisited)-1]
|
queuedRoom := unvisited[len(unvisited)-1]
|
||||||
unvisited = unvisited[:len(unvisited)-1]
|
unvisited = unvisited[:len(unvisited)-1]
|
||||||
|
|
@ -112,6 +119,11 @@ func (querier *Queryer) QueryNextRoomHierarchyPage(ctx context.Context, walker r
|
||||||
|
|
||||||
pubRoom := publicRoomsChunk(ctx, querier, queuedRoom.RoomID)
|
pubRoom := publicRoomsChunk(ctx, querier, queuedRoom.RoomID)
|
||||||
|
|
||||||
|
if pubRoom == nil {
|
||||||
|
util.GetLogger(ctx).WithField("room_id", queuedRoom.RoomID).Debug("unable to get publicRoomsChunk")
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
discoveredRooms = append(discoveredRooms, fclient.RoomHierarchyRoom{
|
discoveredRooms = append(discoveredRooms, fclient.RoomHierarchyRoom{
|
||||||
PublicRoom: *pubRoom,
|
PublicRoom: *pubRoom,
|
||||||
RoomType: roomType,
|
RoomType: roomType,
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ func GetEvent(
|
||||||
rsAPI api.SyncRoomserverAPI,
|
rsAPI api.SyncRoomserverAPI,
|
||||||
) util.JSONResponse {
|
) util.JSONResponse {
|
||||||
ctx := req.Context()
|
ctx := req.Context()
|
||||||
db, err := syncDB.NewDatabaseTransaction(ctx)
|
db, err := syncDB.NewDatabaseSnapshot(ctx)
|
||||||
logger := util.GetLogger(ctx).WithFields(logrus.Fields{
|
logger := util.GetLogger(ctx).WithFields(logrus.Fields{
|
||||||
"event_id": eventID,
|
"event_id": eventID,
|
||||||
"room_id": rawRoomID,
|
"room_id": rawRoomID,
|
||||||
|
|
@ -56,6 +56,7 @@ func GetEvent(
|
||||||
JSON: spec.InternalServerError{},
|
JSON: spec.InternalServerError{},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
defer db.Rollback() // nolint: errcheck
|
||||||
|
|
||||||
roomID, err := spec.NewRoomID(rawRoomID)
|
roomID, err := spec.NewRoomID(rawRoomID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue