Fixed logic error which was causing screen sharing to stop working on certain Wayland environments.
GitLab: #1676
Change-Id: Idf3beb97a53d2eb88e082cee710be56c90c6df05
This fixes the no-libwrap build, which was broken by commit
96c00ff019 due to an additional header
file included in interaction.h
GitLab: #1828
Change-Id: Ic3490a64fdc1514e0b6533a380cb7115568ae9f1
This patch adds code in the interaction::Info::init function so that the
"body" and "transferStatus" fields are always set when an Info struct is
constructed for a message of type DATA_TRANSFER.
This removes some code duplication in conversationmodel.cpp, where these
fields were being set as an extra step after construction in three
different places.
It also fixes a bug in the ConversationModelPimpl::slotMessageUpdated
function, which did *not* set the "body" of DATA_TRANSFER messages. The
body was therefore empty instead of containing a file path, which is
what caused the image preview bug described in the following issue:
GitLab: #1671
The patch also reverts a change that was made in the
MessageListModel::update function by commit
d2eba1d91e. This change was a workaround
for the above bug, but it is no longer necessary (and it broke message
deletion, which relies on the body of the deleted message being set to
the empty string).
GitLab: #1825
Change-Id: I5848b93a12c1ef7b3735c5c6db6b32a9bbc4041d
99254f8d02 introduced 2 issues:
- transfer messages not notifying the UI
- some file URLs being erased after loading the conversation
This commit addresses both of them.
Gitlab: #1671
Change-Id: I67a003ea1149c27e749efffe496f4c9ce86615ea
+ Add button to delete messages on file transfer
+ Show "Deleted media" on deleted files.
+ Update last interaction
+ Update icon for saving file, we're in 2024, no more floppy disk
Change-Id: I607b1a6beda443db85c60d8cf95a9aae29ce1f7c
GitLab: #1287
This update fixes an issue where a stale account list might be used
in AccountListModel by synchronizing list invalidation with a newly
introduced signal (accountsReordered). This change prevents a data race
that could occur due to the asynchronous nature of setting the account
order over D-Bus, or when queuing the signal handling for
accountsChanged, which is emitted only once the reordering is saved.
As a result, QAbstractItemModel mutations are now performed within AccountListModel instead of in the UI.
Gitlab: #1638 (Account list in popup is incorrect after selection)
Change-Id: I7ed6eeb45eb319f21e40554f3d023ad24e139a6f
This allow to show the correct sending/sent/state for the interaction
separated from the status of the dataTransfer. Else, we see a sent
check for a file even if the peer didn't receive the file
Change-Id: I15b9f0abc6a26a2ffd007be26827e9a37e859bca
If we're a member of a group swarm, we will receive profiles from
non contact (the other members of a conversation).
This patch try to get from cache before calling getContact() to be
able to retrieve profiles from non contacts if stored by the daemon
Change-Id: I864f1d5dd9f65232751e170b930606d23241d283
We do not need to write an empty profile since the daemon fully
manages the profile. Just update it from cache when new profile
is detected
GitLab: #1627
Change-Id: I31035f0666925d13f339f387e614f148b0eece8b
getContacts() is called before sync is finished. This should be
done like conversations, after first initializing.
This fix the presence showing after sync.
GitLab: #1627
Change-Id: I4ec9b7e34b5bd93b9ae4437e6c6719dbc3b78a98
In the current implementation, the chatViewContainer of callStackView
is not destroyed for a swarm conference call because there are no
signals for call changes.This patch ensures chatViewContainer is used
when there is no call.
GitLab: #1625
Change-Id: Iefc39b747d92543244d30aa987eda134ff0a03f3
The function which is responsible for muting the camera when accepting
a call in audio assumes that the call's mediaList has already been
initialized, but this wasn't actually the case. This caused a bug where
the 'Accept in audio' button behaved exactly like the 'Accept in video'
button.
GitLab: #1621
Change-Id: I26251f51862cf5cd9b6d4daaf15270943c0e3c4e
This commit replaces a StackLayout with a Loader allowing us to load initial and ongoing call views dynamically based on the current conversation's call state.
This may fix several issues related to conversation loading including a possible uncaught binding loop based on observing CurrentConversation.id changes.
- small header clean up
Change-Id: Idfc723d8b39f19aafb026c19f26590910b5c26cd
Only do it for current account, this avoid to emit needsHost() for
all accounts with the same conversation
GitLab: #1579
Change-Id: I147b2f72fd4c1000949500309eae1970cdbd033f
Loading the profile elements from disk is now deferred to consumption. Implements a basic caching mechanism for the displayname and avatar elements.
Gitlab: #1459
Change-Id: Ic5aeec6649c198f617b9269409ded647c7536b8f
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
Removes all migration mechanisms and support for database versions that haven't been used for several years. Also cleans up some includes.
Change-Id: Iaf071a455f77dd4daa57f16f9924703961aa64e0
- 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
- Declares global logging categories for libclient and the app
- Introduces some macros for categorized logging
- Removes the noisy namedirectory logs by default
- Logs file/line number URIs in debug mode
Change-Id: I9dadadc6e93ef91cc70d206b7225aeb7a06f8773
This commit makes the necessary changes to migrate from Qt 6.5.3 to
Qt 6.6.1 and fixes the following issues:
- EditedPopup.qml: "layout polish loop" and "recursive rearrange"
errors (GitLab: #1510) as well as an unreported bug where text was
clipped instead of elided
- BaseContextMenu.qml: QML warning ("Created graphical object was not
placed in the graphics scene.")
The daemon is also bumped in order to include a patch for a build issue
on openSUSE Leap (GitLab: #1552).
GitLab: #1466
Change-Id: I12df2f84067ebe961368879e08ff7ef275d93395
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
This commit fixes three issues related to tst_MessageOptions.qml:
1) There was no test to check that the call to createSIPAccount() at the
beginning of test_createMessageOptionsPopup() actually succeeded
2) The created account was not deleted at the end of the test
3) The test would occasionally crash due to an uncaught
std::out_of_range exception thrown by the
AccountModelPimpl::slotAccountDetailsChanged function. I've modified
the function to issue a warning instead, which makes it consistent
with AccountModelPimpl::slotVolatileAccountDetailsChanged and avoids
throwing an exception from a Qt slot (which is considered undefined
behavior according to the Qt documentation)
Change-Id: I4d939b29f27ee27de673aea7046997ef756fbcee