When the connection with other participants is lost those participants
are shown dimmed and with a loading spinner. However, when the MCU is
used that only covers receiving audio and video from those participants.
Other participants can not hear or see the local participant until the
sender peer object has connected. Therefore now the local video / avatar
is dimmed and shows a loading spinner like done with the remote
participants when the sender peer object is not connected.
Note that when the MCU is used the sender participant will always
reconnect, so there is no separate "isLoading" property like the one
used for remote participants (which, moreover, is needed only when the
MCU is not used).
When the MCU is not used the connections are peer to peer between
partipants, so the already existing dimming and loading spinner on the
remote participants views already show whether those participants can
hear and see the local participant or not.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
This will be needed to show a loading icon on the wrapper, as it is not
possible to show it directly on the video.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
When the MCU is used there will be a sender peer connection (the so
called "own peer"). The ICE connection state of that peer connection is
now exposed in LocalCallParticipantModel in the same way as in
CallParticipantModel. However, unlike the CallParticipantModel, the
LocalCallParticipantModel is always set and the peer object set or unset
on it as needed; if there is no peer object set the connection state
will not be set.
When the MCU is not used there is no sender peer connection (nor any
other peer associated to the LocalCallParticipantModel), so in that case
the connection state attribute will not be set either.
Besides that some logs were also added for the ICE connection state
changes of the own peer, similar to the logs already present for the
peer connection of the other participants.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Only show one notification for unread messages, either for new messages
or for mentions.
When switching from "new messages" to "you have been mentionned",
discard the former notification.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
When fetching new messages in the current conversation, also scan them
for mentions to update the conversation store's unreadMention flag if
necessary.
This makes a mention notification or the counter bubble highlight
color update more quickly without having to wait for the conversation
list reload.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
As soon as we receive new messages from the "lookForNewMessages"
action, they are counted and added to the number of known unread
messages.
This makes the store update and counter in the left sidebar update more
quickly.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Replace icon with MessageText when in call.
Counter bubble now lets hover and click through.
Display two notifications when mentionned.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
When in a call and the sidebar is collapsed, whenever new unread
messages arrive, a bubble will be displayed on top of the button that
opens the sidebar.
If a mention exists, the bubble will appear highlighted.
Whenever a new unread message or new mention arrives while in a call
with the sidebar closed, a notification will appear once.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Co-authored-by: Joas Schilling <213943+nickvergessen@users.noreply.github.com>