mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-12-31 10:43:10 -06:00
Remove ToPresenceStatus
Use Presence struct field
This commit is contained in:
parent
b59f20e546
commit
2e6eb4e0a9
|
|
@ -150,9 +150,9 @@ func GetPresence(req *http.Request,
|
||||||
resp.StatusMsg = presence.StatusMsg
|
resp.StatusMsg = presence.StatusMsg
|
||||||
resp.CurrentlyActive = lastActive <= time.Minute*5
|
resp.CurrentlyActive = lastActive <= time.Minute*5
|
||||||
if !resp.CurrentlyActive {
|
if !resp.CurrentlyActive {
|
||||||
presence.PresenceStatus = types.Unavailable
|
presence.Presence = types.Unavailable
|
||||||
}
|
}
|
||||||
resp.Presence = presence.PresenceStatus.String()
|
resp.Presence = presence.Presence.String()
|
||||||
return util.JSONResponse{
|
return util.JSONResponse{
|
||||||
Code: http.StatusOK,
|
Code: http.StatusOK,
|
||||||
JSON: resp,
|
JSON: resp,
|
||||||
|
|
|
||||||
|
|
@ -176,7 +176,7 @@ func (r *FederationInternalAPI) sendPresenceData(
|
||||||
ev := eduserverAPI.FederationPresenceSingle{
|
ev := eduserverAPI.FederationPresenceSingle{
|
||||||
CurrentlyActive: lastActiveTS < time.Minute*5,
|
CurrentlyActive: lastActiveTS < time.Minute*5,
|
||||||
LastActiveAgo: int(lastActiveTS.Milliseconds()),
|
LastActiveAgo: int(lastActiveTS.Milliseconds()),
|
||||||
Presence: presence.Presence,
|
Presence: presence.Presence.String(),
|
||||||
UserID: presence.UserID,
|
UserID: presence.UserID,
|
||||||
StatusMsg: presence.StatusMsg,
|
StatusMsg: presence.StatusMsg,
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,7 @@ import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
|
@ -577,8 +578,14 @@ func (t *txnReq) handlePresence(ctx context.Context, e gomatrixserverlib.EDU) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
for _, presence := range payload.Push {
|
for _, presence := range payload.Push {
|
||||||
|
p := strings.TrimSpace(strings.ToLower(presence.Presence))
|
||||||
|
v, ok := types.KnownPresence[p]
|
||||||
|
if !ok {
|
||||||
|
util.GetLogger(ctx).WithField("presence", p).Warnf("dropping unknown presence")
|
||||||
|
continue
|
||||||
|
}
|
||||||
timestamp := gomatrixserverlib.AsTimestamp(now.Add(-(time.Millisecond * time.Duration(presence.LastActiveAgo))))
|
timestamp := gomatrixserverlib.AsTimestamp(now.Add(-(time.Millisecond * time.Duration(presence.LastActiveAgo))))
|
||||||
if err := eduserverAPI.SetPresence(ctx, t.eduAPI, t.userAPI, presence.UserID, presence.StatusMsg, types.ToPresenceStatus(presence.Presence), timestamp); err != nil {
|
if err := eduserverAPI.SetPresence(ctx, t.eduAPI, t.userAPI, presence.UserID, presence.StatusMsg, v, timestamp); err != nil {
|
||||||
util.GetLogger(ctx).WithError(err).Error("unable to send presence data to edu server")
|
util.GetLogger(ctx).WithError(err).Error("unable to send presence data to edu server")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue