mirror of
https://github.com/matrix-org/dendrite.git
synced 2026-01-14 09:33:09 -06:00
Add join response if we're actually joined to the room
This commit is contained in:
parent
b66cf465e5
commit
44002e033f
|
|
@ -3,6 +3,8 @@ package streams
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
|
"github.com/matrix-org/gomatrixserverlib"
|
||||||
|
|
||||||
"github.com/matrix-org/dendrite/syncapi/types"
|
"github.com/matrix-org/dendrite/syncapi/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -39,12 +41,17 @@ func (p *NotificationDataStreamProvider) IncrementalSync(
|
||||||
return from
|
return from
|
||||||
}
|
}
|
||||||
|
|
||||||
// We're merely decorating existing rooms.
|
// Add notification data based on the membership of the user
|
||||||
for roomID, jr := range req.Response.Rooms.Join {
|
for roomID, counts := range countsByRoom {
|
||||||
counts := countsByRoom[roomID]
|
if req.Rooms[roomID] != gomatrixserverlib.Join {
|
||||||
if counts == nil {
|
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
// If there's no join response, add a new one
|
||||||
|
jr, ok := req.Response.Rooms.Join[roomID]
|
||||||
|
if !ok {
|
||||||
|
jr = *types.NewJoinResponse()
|
||||||
|
}
|
||||||
|
|
||||||
jr.UnreadNotifications = &types.UnreadNotifications{
|
jr.UnreadNotifications = &types.UnreadNotifications{
|
||||||
HighlightCount: counts.UnreadHighlightCount,
|
HighlightCount: counts.UnreadHighlightCount,
|
||||||
NotificationCount: counts.UnreadNotificationCount,
|
NotificationCount: counts.UnreadNotificationCount,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue