1
0
Fork 0
mirror of https://git.jami.net/savoirfairelinux/jami-client-qt.git synced 2025-07-15 04:55:23 +02:00
Commit graph

13 commits

Author SHA1 Message Date
Andreas Traczyk
610c27f751 contactmodel: refactor profile loading
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
2024-02-28 14:53:28 -05:00
Sébastien Blin
d5349490f5 conversation: follow daemon changes for sending status
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
2024-02-15 16:15:51 -05:00
Andreas Traczyk
7650f45d6f misc: libclient: remove legacy account database migration mechanism
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
2024-02-15 15:16:00 -05:00
Andreas Traczyk
38b7880d5f misc: improve logging for the client and libclient projects
- 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
2024-02-12 11:14:17 -05:00
Sébastien Blin
84150e8977 misc: bump copyright to 2024
Change-Id: I8d5f968fbedbc884c91416246049a0ef4cd652eb
2024-01-03 09:54:49 -05:00
Sébastien Blin
32b76c8da4 messagelist: use history given from daemon (except SIP accounts)
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
2024-01-02 15:22:10 -05:00
Amin Bandali
8d46acedf1 misc: Update copyright years to 2023
Change-Id: Idf38e82631a4e22540aa5dec8ec2db0ab4a38c2e
2023-02-06 01:47:15 -05:00
Nicolas Vengeon
d06902e3b7 Feature: unpin location sharing map
- Refactoring
- Unpined map
- handle multiple maps (one map per account)

Change-Id: I2b0abf284ccfe27b986f03915c5942d721403211
Gitlab: #901
2022-12-27 12:12:31 -05:00
Nicolas Vengeon
7bb5ad0ee0 Emoji: Implement emoji-reactions
Change-Id: I83f27e86a6a7ee2140dc3028a4e183dcb8de8a27
GitLab: #875
2022-12-14 16:06:53 -05:00
Nicolas Vengeon
e5b54ad787 feature: show and share user location
copyright OpenLayers v7.1.0: ol.css
copyright OpenLayers v7.1.0: ol.js

GitLab: #867

Change-Id: I4e01f6d9727d56541d1b44023f26959ebe4fbe26
Signed-off-by: Nicolas Vengeon <nicolas.vengeon@savoirfairelinux.com>
2022-11-23 14:05:36 -05:00
Sébastien Blin
90ae50ee5f misc: rename DRing->libjami
Change-Id: I15d382406687cc506c1456ce43286ad6b0f23529
2022-10-29 16:53:42 -04:00
Sébastien Blin
553bd421ff conferences: support multistream
In a conference, with this patch, the user is able to share
a media while keeping the camera. The mute button for the camera
only control the camera and we use requestMediaChange to add medias.
To stop sharing a media, the user will click on the dedicated button.
If the peer is not compatible with multistream, the behavior will
be the same as before

https://git.jami.net/savoirfairelinux/jami-project/-/issues/1429
Change-Id: If5e0634be6d0d06900ad82554b32a524fd4db36c
2022-07-11 11:43:43 -04:00
Amin Bandali
e0b3b4adec misc: vendor libjamiclient into 'src/libclient/'
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
2022-06-08 16:28:57 -04:00