mirror of
https://github.com/strukturag/nextcloud-spreed-signaling.git
synced 2025-04-11 06:11:18 +00:00
Fix check for async room messages received while not joined to a room.
This commit is contained in:
parent
26f9edd476
commit
078768f9c8
1 changed files with 7 additions and 2 deletions
|
@ -340,7 +340,12 @@ func (s *ClientSession) GetRoom() *Room {
|
|||
}
|
||||
|
||||
func (s *ClientSession) getRoomJoinTime() time.Time {
|
||||
return time.Unix(0, atomic.LoadInt64(&s.roomJoinTime))
|
||||
t := atomic.LoadInt64(&s.roomJoinTime)
|
||||
if t == 0 {
|
||||
return time.Time{}
|
||||
}
|
||||
|
||||
return time.Unix(0, t)
|
||||
}
|
||||
|
||||
func (s *ClientSession) releaseMcuObjects() {
|
||||
|
@ -1169,7 +1174,7 @@ func (s *ClientSession) processNatsMessage(msg *NatsMessage) *ServerMessage {
|
|||
if msg.Message.Event.Target == "room" {
|
||||
// Can happen mostly during tests where an older room NATS message
|
||||
// could be received by a subscriber that joined after it was sent.
|
||||
if msg.SendTime.Before(s.getRoomJoinTime()) {
|
||||
if joined := s.getRoomJoinTime(); joined.IsZero() || msg.SendTime.Before(joined) {
|
||||
log.Printf("Message %+v was sent before room was joined, ignoring", msg.Message)
|
||||
return nil
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue