cf jami-docs/developer/delivery-status
+ Basically this patch uses the new SwarmMessage.status to show
current interaction status.
+ setRead only updates the status if the interaction is newer (else,
because signal are not guaranteed to be ordered, this can cause the
lastDisplayed_ to be incorrect).
+ Some old code is removed and unused signal
+ MessageReceived updates status if needed
GitLab: #1487
Change-Id: I4d4d5dce8dc12ab638e89e3f8431810b29a72087
- Avoids manually building local file URIs which was causing long load times for conversations on Windows.
- Fixes an issue where missing images were caused by a interaction updates erasing the message bodies.
Change-Id: I4c65f73cf9f46da5a9ae899940cb205cb34ffae2
When a user misses a call, they receive a message saying so in the chat
and get a notification for that message, but the notification's body was
empty instead of matching the message's content.
Change-Id: I24971d1d0a976ea3ab15ac30c4e9ed33fdf3d760
Removes some remaining excess complexity in the way interactions are managed by the client. Removes raw iterator access and provides thread-safe alternatives.
Change-Id: I482bf599de869245f96c4aab418127f30508ef41
With Jami-Daemon >= 14.0.0, the client doesn't need to construct
itself the history. This part is now handled by the daemon.
This patch uses the new API:
+ loadConversationMessages->loadConversation
+ SwarmMessageReceived/SwarmMessageUpdated/ReactionAdded/ReactionRemoved
+ remove MessageReceived
+ ConversationLoaded->SwarmLoaded
+ No need to use loadConversationUntil, the daemon will load whatever
the client needs.
+ No need to clear cache, just reset the body and emit data changes
Everything should work like before (even re-translation & changing
preview preference)
Change-Id: Iaf1fa3e84e8e157ae2d0bec210977f9a34415ebc
There was no way to differentiate a 1:1 incoming call and a call
from a swarm, because username couldn't be checked. Now, create
conversation only if it's a 1:1 call
Change-Id: I0094967914b4888d083b9adc1d2b11de467d6f48
To be able to show calls that are transfered, we must catch new calls
from callstatechanged signal. Move all logic from newincomingcall to
callstatechanged.
Change-Id: Ibd3ff5f8b4009895b3165348fd1638956f5f66d9
This use case has been observed when taking a look at the system tray
icon, which uses conversation model's notificationsCount() to define
whether or not to show a red dot. As we don't want this for muted
conversations these are ignored.
Change-Id: Ic185de9170dfcbfbd8ffc3513676dd90471f3baa
We sort the invites by last interactions. However on swarm, there
is no interaction yet. Add one with the received timestamp given
by the daemon.
(Regression appears because we were showing trust request before
not conversation requests)
Change-Id: Ic7f4d1a5d485325c95a19c2c38ae9c74630829ce
GitLab: #956
Because in a swarm you can talk with non contacts, we should at
least retrieve the username when possible.
Change-Id: Ie01cd10cc1231fc4024bd5a08c30c08d69e8e7f0
GitLab: #948
Show notification when a peer is sharing its position on the non
current conversation.
This needed a lot of changes. Now we store shared position via
accountId + peer.
This also fix location icons and keep state when changing from
one account to another.
Change-Id: I8c1848890efa09f6e296e9da779a355167e4d3d4
GitLab: #888
+ Add call buttons to start a new call
+ React to events from the swarm
+ call interactions (Join call/Call ended, etc)
+ active calls area
+ Add call management logic in LRC
+ Feature is enabled via the experimental checkbox
https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/312
Change-Id: I83fd20b5e772097c0792bdc66feec69b0cb0009a
Handle application/edited-message type to support message edition.
Previous bodies are saved in the interaction to be able to get the
original post to avoid unwanted editions.
While loading a conversation, we store the editions in a temporary
map that we link once the edited message is detected. This work
because we can't edit a message before this message exists.
PreviousBodies in interaction.h contains every previous body detected
and the client can show previous version of the message in a popup.
Deleting a message works the same way, just that any message
with an empty body is not shown.
https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/316
Change-Id: Ib158abd16ad4b629532de11694e88d86a12d72a8
+ Remove "Accept files from unknown senders" because since swarm
we can't get files from non contacts are the conversation is not
cloned, and non swarm files are ignored
+ Rename "ignore the swarm" to "Mute conversation" as ignore is
unclear
Change-Id: Ifced8f8efe841e2345d50530ee313e6b95b35920