diff options
Diffstat (limited to 'syncapi/streams/stream_presence.go')
-rw-r--r-- | syncapi/streams/stream_presence.go | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/syncapi/streams/stream_presence.go b/syncapi/streams/stream_presence.go index 6d5ec54b..9a6c5c13 100644 --- a/syncapi/streams/stream_presence.go +++ b/syncapi/streams/stream_presence.go @@ -111,10 +111,15 @@ func (p *PresenceStreamProvider) IncrementalSync( continue } } - presence.ClientFields.LastActiveAgo = presence.LastActiveAgo() - if presence.ClientFields.Presence == "online" { - currentlyActive := presence.CurrentlyActive() - presence.ClientFields.CurrentlyActive = ¤tlyActive + + if _, known := types.PresenceFromString(presence.ClientFields.Presence); known { + presence.ClientFields.LastActiveAgo = presence.LastActiveAgo() + if presence.ClientFields.Presence == "online" { + currentlyActive := presence.CurrentlyActive() + presence.ClientFields.CurrentlyActive = ¤tlyActive + } + } else { + presence.ClientFields.Presence = "offline" } content, err := json.Marshal(presence.ClientFields) |