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

235 commits

Author SHA1 Message Date
Andreas Traczyk
ff7acf9932 localvideo: refactor preview component device control
Change-Id: Ibcd88c5a3c73a0e67f94d70bc420845aa7b8c822
2024-03-12 16:33:21 -04:00
Adrien Béraud
ee7818eefb AccountListModel: avoid calling getAccountList when unneeded
Gitlab: #1459
Change-Id: I962f38935acd8e97895587076a448125213fc4bc
2024-02-29 09:24:35 -05:00
Sébastien Blin
79b19aec01 conversation: use account config for send typing indicator
git.jami.net/savoirfairelinux/jami-daemon/-/issues/951

Change-Id: I0d952d6916ad5c4a8c51cbb80998f46665af9141
2024-02-29 09:13:06 -05:00
Sébastien Blin
4c92cb9936 chatview: add check for last sent message
Change-Id: I233d5df05432371adf6b2bdf8e8de25bd7e65058
2024-02-29 09:12:58 -05:00
Sébastien Blin
1c81553245 conversationmodel: do not add wrong call to wrong conversation
GitLab: #1578
Change-Id: Ibe980844acf1b44afb0ea6aa0e105ffa99e5c36f
2024-02-29 09:12:32 -05:00
Sébastien Blin
5c2fec53da conversationmodel: avoid to emit needsHost multiple time
Only do it for current account, this avoid to emit needsHost() for
all accounts with the same conversation

GitLab: #1579
Change-Id: I147b2f72fd4c1000949500309eae1970cdbd033f
2024-02-29 09:12:03 -05:00
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
a0b583aa8d misc: update some strings
Change-Id: I635c527b8a5b83b91f70008ce6471af8f72f6aa9
2024-02-27 15:19:26 -05:00
Sébastien Blin
1ec2d5f27b conversationmodel: fix insert last interaction for conv request
GitLab: #1571
Change-Id: I848c6f8e1867f552a55105a4d528f51a59676ce4
2024-02-21 15:54:42 -05:00
Sébastien Blin
78724c2a7b call: clarify call messages if call fails
Change-Id: I0dca1ef919cb6f60e53c57c3a3ccf81c2333c231
2024-02-21 15:53:04 -05:00
Sébastien Blin
08f3339693
accountconfig: avoid duplication between dhtPort and DHT.port
Also show it in advanced settings

Change-Id: I8de880657530c4a957846ca334332f7ccf79ef8c
2024-02-21 09:03:36 -05:00
Sébastien Blin
402515365d presence: follow daemon changes for presence indicator
Change-Id: Ie82a15da023ab97f133c8beadb8ddeb81b67666f
2024-02-20 12:47:11 -05:00
Sébastien Blin
d40e884a1f misc: remove wrong logs
Change-Id: I4010660c6bef3af553019deb9bcabc65a4b484fc
2024-02-19 16:55:27 -05:00
Sébastien Blin
5371dac882 misc: use BUILD_TESTING like the daemon and update instructions
Change-Id: I5e92e47ada4c4225c68065179245d96723397575
2024-02-19 16:32:04 -05:00
Sébastien Blin
0f62829588 misc: remove legacy mocking inclusion
Change-Id: Ie187f459b136c36fbb65c21fdaa4f05958244474
2024-02-19 16:31:55 -05:00
Sébastien Blin
39da97396c contactmodel: fix add on second request
GitLab: #1572
Change-Id: If588d22b80ea2f77b21f2ddd081ba32fdffefc7c
2024-02-19 13:50:59 -05:00
Sébastien Blin
406edda453 conversationmodel: fix status update for messages other than text
Change-Id: I0f1cb45a6cca9c8e95366c81a9d7813c740e2987
2024-02-19 13:26:08 -05:00
Andreas Traczyk
6b3efff7cc misc: use logical or instead of bitwise
No impact on logic. Just clarifies intention and allows short-circuiting.

Change-Id: If18f9d28cf4f4ead58a4f94b0ba0e4514ac9eea1
2024-02-16 08:14:42 -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
b38e216721 ongoingcallpage: local-preview: add a hide-preview feature
Gitlab: #1555
Change-Id: Ifa196b91fed4d13d1cd0acf535cc3e1802c22a29
2024-02-15 10:46:49 -05:00
Andreas Traczyk
3d3b4612df chat-view: fix loading data transfer items
- 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
2024-02-13 17:06:26 -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
e054fc9592 misc: fix missing account avatar
Change-Id: I69acb78e60e04f74382561e130185a1aca8064d6
2024-02-08 15:31:01 -05:00
lcoursodon
24edba9a2f Qt: migration to 6.6.1
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
2024-02-06 08:48:30 -05:00
François-Simon Fauteux-Chapleau
c8b52262bc Fix empty notification when missing a call
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
2024-01-29 16:18:00 -05:00
François-Simon Fauteux-Chapleau
95e36ef89b tests/qml: fix various issues with the MessageOptions test
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
2024-01-18 21:21:22 -05:00
Sébastien Blin
a4300308dc contactmodel: check if removed before adding
Change-Id: I61b3773539bf6a0774ea487e4f5aae74bd2bc635
2024-01-04 09:45:16 -05:00
Sébastien Blin
815d324118 contactmodel: move profile creation on dedicated thread
This avoid a heavy I/O operation on the main pool

Change-Id: Ic5068d9d1c291b8f27ffc563933d4920af42e890
GitLab: #1450
2024-01-03 13:00:21 -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
9360458b9e misc: bump to daemon 15.0.0
Change-Id: Ifc5d5f4cb5156d75723aac58e1b34ecb5829c2b7
2024-01-03 09:54:47 -05:00
Andreas Traczyk
46a955aa3d misc: fix ups for conversationmodel/messagelistmodel
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
2024-01-03 08:43:50 -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
Sébastien Blin
f524c39c5f contactmodel: do not save profile for account (managed by daemon)
Change-Id: I2943d91ad077892639a60117046665339e95d8fd
2023-12-28 15:21:44 -05:00
Sébastien Blin
93d2201277 contactmodel: avoid crash on incorrect profile
Change-Id: I1aa09e72e7db602a489c1195ab45b897e18370bc
2023-12-22 09:54:22 -05:00
Sébastien Blin
a74b54939d conversationmodel: simplify onContactAdded and fix syncing status
Change-Id: I8e6eb93569a34099e155fe1e397dd1f4e84e890c
2023-12-06 12:56:03 -05:00
Sébastien Blin
5cd2490f24 contactmodel: subscribe presence on conversation accepted
Change-Id: Ic11b651b7347773716088c6ce3784c70655f89b1
2023-12-01 16:11:02 -05:00
Xavier Jouslin de Noray
a8be1f0271 PlatformPluginSupport: add info if plugins are not available for none supported platform
Gitlab: #1404

Change-Id: Iaa43a705d1b5e7cf9b960bdf1863d325e4a5332b
2023-11-27 06:47:58 -05:00
Sébastien Blin
7f414f652e callmodel: remove old TODO
This was causing some weird conference states for swarm-call

https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/916

Change-Id: I87ada927f223bc325eb0f62307c6dda51b330330
2023-11-17 09:42:39 -05:00
Sébastien Blin
c6833d69fb conversationmodel: do not add calls to wrong conversations
newCall already handle everything

Change-Id: I6c9f5b1e50960b3d45e4fde198f0fc67ecfad020
GitLab: #1432
2023-11-17 09:42:39 -05:00
Xavier Jouslin de Noray
cb68ee560c PluginEnabled: remove all unnecessary method to enabled plugin on client
Gitlab: #1382

Change-Id: I5fdef9bfcb5b400c3eefa776ec441b63b0847cca
2023-11-16 07:19:19 -05:00
Andreas Traczyk
3e17a9b247 cmake: windows: add the jami-core to the project
Change-Id: Ieeeb8bbf3d032fb9595b6f76a49ab8027dad7d99
2023-11-14 14:44:30 -05:00
Sébastien Blin
a0f0dd132a cmake: update options (submodule on by default, option for libwrap)
Change-Id: I1b1d30da4c89af12f811075185095830a3a39157
2023-11-07 13:58:36 -05:00
Sébastien Blin
428756e568 contactmodel: do not emit contactAdded for already added contact
Change-Id: I226c804181e88b47d5d361d84caaf0db23e09e6c
2023-11-07 13:20:04 -05:00
Sébastien Blin
04a8dfa468 callmodel: fix mute video
Change-Id: Ic0c05b9099bc21b8ee936cbe3aef641534d55f77
2023-11-07 11:31:21 -05:00
Aline Gondim Santos
d38858c1f3 filesharing: consider audio in the proposed list
When adding/removing a file sharing we must add/remove
not only the video but also the audio media attributes
to the media change proposal.

GitLab: https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/485
Change-Id: Ifa6be8d500a43b1c2494501a4d6a6a6f009fdb62
2023-11-01 13:52:51 -04:00
Aline Gondim Santos
088c367485 filesharing: integrate mediaplayer API
GitLab: https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/485
Change-Id: I148f19eb76a526a5ab38c5f4a83f45ea66e348e4
2023-11-01 13:52:46 -04:00
Sébastien Blin
fc7109950b swarm-call: do not create 1:1 conversation for incoming calls in swarm
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
2023-11-01 13:52:37 -04:00
cberthet
7a759dab7a Push-To-Talk : add global and local ptt
It works with a Pimpl which the right pttlistener.cpp depending
on the platform you are on (macOs, windows or X11). It is a
global PTT which listen to key events during calls. If the
global PTT is not supported, a local PTT is set.

https://git.jami.net/savoirfairelinux/jami-project/-/issues/1402

Change-Id: I8399800966c737bb8e8a656ecbb6af7ac7cdde8c
2023-10-30 09:31:26 -04:00
lcoursodon
6bff3c54f1 TroubleshootingSetting: Connection monitoring
Change-Id: Idf922df701cdf2efc2d167362dca021897d8e2e5
2023-10-23 13:39:13 -04:00