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
If there was too much following merge commits, sometimes the
conversation was not correctly loaded.
Moreover, the lastMessageUID was not correctly calculated from
time to time, leading to empty conversations in the smartlist.
Change-Id: I1224269c5df72936ae51f34211ce3f63dbf606ff
use the size from the daemon if the file is downloaded, else
use the size from the commit.
Change-Id: Ia4e7123558e93a1ab0879feab9a141ceefaf183a
GitLab: #833
Asking jami to launch another instance with ./jami-qt jami:xxx
will search for "xxx" inside the application and select the
conversation if found.
This allow to support webpage with <a href="jami:username">
For GNU/Linux, in the .desktop file, x-scheme-handler/jami is
added.
For packaging, we will need to determine if the scheme is handled
automatically. For now, to test, we need to add:
x-scheme-handler/jami=jami-qt.desktop;
in "~/.config/mimeapps.list" (and jami-qt.desktop) should
be in a valid path.
Change-Id: Ibbb6e8942f1873d81a57640bdf6f839885981be3
GitLab: #655
+ Update status for swarm
+ Show read status like android (right if 1 reader, under the bubble
if more)
+ Display a sending status
Change-Id: I653e3573c4dc75950cc274dd01859d9335e0177f
A signal exists for showing errors to the user to make failing cases
more explicit. With this patch, errors detected are displayed to
the end user so that they know that an error occured and what
kind of error occured.
Change-Id: Ib2d4d4fdb171235e0598de0f1c190b8fd0fcc336
+ Remove readOnly from conversation's as it was never used
and not necessary in multi swarm as you can re-add members anyway
so it's never read only.
+ Makes non swarm conversations just readable.
Users can save whatever they want and replace old non migrated
conversations to new swarm.
Change-Id: I8aa2521bc524b6159d7ba0b613834438e293e09e
As it's sent over the DHT, the max value is 64k, also, even if sent
as a SIP message (if member was already connected and we add a new
non 1:1 swarm with this contact), the sendSIPMessage will fail due
to a too large message (PJSIP_EMSGTOOLONG).
Change-Id: I7908809fe2c3f6e08f9a4b9c6f8aac654ab86c42
Because the call and the conversation's requests are not related,
we can receive a call before the conversation's request. In this
case, a duplicate was created when accepting the call.
Moreover, accepting a call is now separated from accepting a contact,
like the android client (and accepting a conversation needs an explicit
action from the user).
Change-Id: I7c3eb34b7e121b63f1b8c99d084a5165054670d5
For multiple swarms, the description will be shown from the profile,
for core dialogs, the best Id is used.
Change-Id: Ieb7d5f143c1a85c4c629a5a8a03850fa1ebddf63
This is libjamiclient from the jami-libclient.git repository as of
767c45b8b09806ac05cbada720864df93588c047, with the following changes:
* src/libclient/newaccountmodel.cpp:
(NewAccountModelPimpl::removeFromAccounts): The lock wait inside
'#ifdef CHK_FREEABLE_BEFORE_ERASE_ACCOUNT' was not updated when the
type of 'accounts' was changed over the years from this:
std::map<std::string, account::Info>
to this:
std::map<QString, std::pair<account::Info, std::shared_ptr<Database>>>
Basically we need to get the 'first' of the pair for 'account::Info'.
So we now do that.
* src/libclient/avmodel.cpp:
* src/libclient/callbackshandler.cpp:
* src/libclient/contactmodel.cpp:
* src/libclient/conversationmodel.cpp:
* src/libclient/database.cpp:
* src/libclient/namedirectory.cpp:
* src/libclient/newaccountmodel.cpp:
* src/libclient/newcallmodel.cpp:
* src/libclient/newdevicemodel.cpp:
* src/libclient/peerdiscoverymodel.cpp:
* src/libclient/pluginmodel.cpp:
* src/libclient/smartinfohub.cpp:
* src/libclient/vcard.h:
* src/libclient/authority/storagehelper.cpp: Replace Qt's 'foreach'
with 'Q_FOREACH' and its 'emit' with 'Q_EMIT' because in the client-qt
code base we have '-DQT_NO_KEYWORDS' to avoid conflicts with other
libraries we use.
* cmake/FindLibJami.cmake: Import cmake/FindRing.cmake from the
jami-libclient.git repository. Then, rename RING_BUILD_DIR to
LIBJAMI_BUILD_DIR (though the old name is still supported for now).
Also update other references of Ring to Jami. Further, add additional
calls to 'find_library' to make sure specified local paths for libjami
are checked before system-wide ones (in case of older/obsolete libjami
being available system-wide, which might happen on GNU/Linux systems).
* translations/lrc_*.ts: Import translation files from the libclient
repository. The message location paths were corrected by running
"sed -i 's|../src|&/libclient|g' lrc_*.ts" in 'translations/'.
.tx/config: Add section for the newly-imported libclient translations.
* CMakeLists.txt: Reformat, plus various fixes and cleanups, such as
changing indentation to 2 spaces and wrapping lines at 70 characters,
renaming the parent directory of translations from 'ring' to 'jami',
and using all lowercase function calls. Also add copyright headers.
* src/app/appsettingsmanager.cpp:
(AppSettingsManager::loadTranslations):
* src/app/utilsadapter.cpp (UtilsAdapter::supportedLang): Update to
adapt to the renaming of the parent directory of translations from
'ring' to 'jami'.
GitLab: #748
Change-Id: I86e3b0fb30e554755023e7b858b6a0d132cd59ab