Commit Graph

535 Commits

Author SHA1 Message Date
7509382335 jamiaccount: remove too big payload for request
Because the encoded avatar can be greater than 64k, a SIP message
will fail, and the trust request may not be sent.

https: //git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1491
https: //git.jami.net/savoirfairelinux/jami-client-android/-/issues/1537
Change-Id: Ieba2db521a3c7e72890be75d3578f93e496dc968
2024-01-12 09:40:03 -05:00
6665114f65 test: fix sporadic failure in conversation_call
Change-Id: Ib7b61be24c94d79ef426a2c93021188b6dbae040
2024-01-12 09:40:03 -05:00
3c3370a6f1 test: add test for keeping reaction on edition
Change-Id: Ibeb67458e76cf413a53120fe3382bf625c7f0de8
2024-01-09 11:55:47 -05:00
2b14e50fe6 test: fix ut_routing_table
setKnownNodes is asynchronous, so the connecting nodes are added
after.

Change-Id: I87d41f65697f6d697c647d891eb254f9c53119ee
2024-01-03 12:52:16 -05:00
1ada7f7b56 misc: fix ut_migration, ut_revoke, ut_namedirectory
Change-Id: I98e2318c9774cc00af77d3f4bbc1d5149c13edc3
2024-01-03 10:00:10 -05:00
6addbbc160 misc: remove <std::mutex> template
Not needed in c++17

Change-Id: Icf3c7b7781dbf829db2770a750cf10ec8fbeef45
2024-01-03 08:37:46 -05:00
40dddee226 misc: update copyright to 2024
Change-Id: I829473d42b2b90f26ed2d93bbde063a21ce0952c
2024-01-02 17:26:29 -05:00
c1519ba4ec AccountArchive: allow to unlock with raw key instead of password
Change-Id: Ic8b28a32f64862ac2dfae074d06f4eac470ab7e1
2024-01-02 17:18:06 -05:00
8065504bb0 tests: fix testAddAcceptOfflineThenConnects
Change-Id: I0e0248d167af0e81cef828ef3c1e3746d974aaed
2024-01-02 12:11:41 -05:00
2364669831 tests: remove invalid tests
Sending a 1:1 message after a removeContact doesn't create a new
invite anymore

Change-Id: I0faf4a8134bb5d45672637364bd06fbbe6b20661
2023-12-28 16:05:40 -05:00
8468f15927 conversation: move logic of message management in daemon
This heavily changes the API for the client. The goal here is
to move the logic to construct the history to show in the daemon
and not the client. This has several advantages:

1. Logic is common across every platforms, so bugs should not be
platform-specific
2. Client got less logic
3. Signal are simplified, if an edition comes, "MessageUpdated"
will be triggered instead MessageReceived.
4. Some tests are added for linearizing the history.
5. Search on edition is fixed.

Tests got heavily re-written, but the content didn't change (2 tests
are added, the rest is simplification).

GitLab: #831
Change-Id: Ie7c81077067e9e49db1dd396829c9225c0512c16
2023-12-28 16:05:40 -05:00
1300db57be test: fix build for ut_routing_table ut_swarm_spread
Change-Id: I37eb0bc50ffcc29e65f74e29027a8307f525596a
2023-12-15 11:47:27 -05:00
057cb34917 conversation_module: parallelize loadConversations()
and avoid to call it twice

Change-Id: I75e7943a2552c1834f697a616b0c115955122abf
2023-12-14 23:10:26 -05:00
8b7afc852a swarm_manager: freely connect to nodes with a p2p link
setKnownNodes will add new nodes that may be already connected
with a TCP link, but maintainBuckets may not choose those nodes,
delaying the bootstrap.
If we detect a new node that we're already connected with, we can
add it in the list of nodes we want to connect with.

Change-Id: I422a32495693e1e2d925a3af127a4a59903c1833
2023-12-08 10:25:17 -05:00
e7245b1b31 test: fix build for test_media_player
Change-Id: I4f5ae81b391bda69c32ee3214e3fdef4b7cbfdb1
2023-12-04 15:28:45 -05:00
40c99f0549 tests: add test for audio file
Change-Id: Ie67ad8f18ef453dd7de8e3ef201d77e54843ca33
2023-12-04 13:26:48 -05:00
4392c72206 conversation_module: avoid double conversation for same contact
If we receive a conversation request for a contact where we
already have a conversation, we can just accept the new one.

GitLab: #924
Change-Id: I9e5d0f7302567ce488c52b45377117f034cd5da5
2023-11-28 13:25:54 -05:00
191396aa1b conversation_module: retry to sync if first connection fails
If first connection fails and presence is not tracked, the
conversation will not sync until the receiver restarts its jami,
causing the conversation to be stuck a very long time even if
peer is online and can sync.
In this patch, if we receives a trust request, we retry to sync
(this will be the case because the sender will re-send a trust
request to the contact who is still detected as an invited member)

GitLab: #922
Change-Id: I8866ceda98d50b0ddd2ea5402ef34f067f560e97
2023-11-22 15:15:53 -05:00
63172ddf16 PluginEnable: fix plugin load when first installation finish
Gitlab: #1382

Change-Id: Ie14258d453cb0f8c1e4c14a5ed473b57941c3b0e
2023-11-22 08:47:11 -05:00
1f4cd3d548 conference: improve audio-only handling
1. When a audio-only participant leaves, the video mixer is updated
and all audio-only streams are now removed.
2. If a audio-only calls try to join a swarm-call, it was hanging
due to a bad number of medias. So ignore video for audio-only calls.

GitLab: #917
Change-Id: Ifdd66e2ab138c078ef9e9c1402a07a6ae6a36b00
2023-11-17 11:24:11 -05:00
cc98f1d0e8 media_player: add ability to play images
JPG/PNG sharing in video calls is broken since we use the media
player to share all the files

Change-Id: Ib85e65405faf46e8b5ff7e4bc7d745af69b1f360
2023-11-17 11:18:20 -05:00
4e0e842a78 misc: fix testJoinAfterMuteHost
Change-Id: I6372066ec95fdd80d7e754946757a8dfdcbd38d6
2023-11-16 15:15:15 -05:00
a5a46c0385 filesharings: integrate audio stream
GitLab: #485
Change-Id: I0ae7c23da2a1f2384699639cc0de58f8f05b33ec
2023-11-01 11:02:32 -04:00
809600018b filesharing: use mediaplayer
GitLab: #485
Change-Id: Ie3f129cd0cee14a97764eb22ee2b5f530a3f3023
2023-11-01 11:02:32 -04:00
42cc4e03e0 unit-test: fix ut_syncHistory
Change-Id: I932ef0cfcae7336bf1319c46c2e5f29febe18df2
2023-10-25 13:07:40 -04:00
107787671b ut_conference: add participant addition mute state test
Change-Id: I11227e44e2cbb0b0671626c9ca0fe4949494b495
2023-10-24 09:28:14 -04:00
ad3be1650c misc: windows: remove UWP/store files and code
Change-Id: I4875e4d76f5da442eace0204052d536c65545d3f
2023-10-18 15:20:37 -04:00
23ecb71e03 jamiaccount: use current media list when answering a swarm call
Else, the mute state is ignored, causing the new member to be able
to listen from the host even if the host muted itself.

https://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1351
Change-Id: Ic0e4f7ac99fd945847f47c9e2e4573fa1d6a1b1a
2023-10-04 12:29:49 -04:00
37760d6037 misc: fix testFileutils (remove testCopy)
Change-Id: I2f41093e1a5ef4ec31b5e3ba1c9a79c8b9e7826c
2023-10-01 13:04:57 -04:00
24f2d1d654 sendFile: use filesystem::path
Change-Id: I259a0ca7cdc7d98f89d93ecf37c362af16d9cf85
2023-09-29 04:58:35 -04:00
6c077db720 remove audiobuffer
Change-Id: I85ce6b6b8596a755648b20ade3aabc314e4e259a
2023-09-27 23:47:41 -04:00
f19b0fad9b contrib: update dhtnet
Change-Id: I30915805e03c2600f038fe465e744163d81a4b08
2023-09-25 16:38:21 -04:00
3bbac87283 fix: ut and agents
Change-Id: I3b9fd9da90d153b2b4ce8254fa14216ea87eb7bd
2023-09-22 08:31:52 -03:00
737e2f117c migrate to std::filesystem
Change-Id: I0ecc36493d10399c72a52aa1aa2dad48ee182296
2023-09-21 11:12:26 -04:00
5cc09a758a misc: fix ut_conversation_call
GitLab: #1356
Change-Id: I15d0633ea97283bee31e3dd5dcb382c0d8156f7f
2023-09-20 12:08:16 -04:00
86d147d080 jamiaccount: do not open swarm channels with banned devices
Change-Id: I30a9173b556b24b749735efea24f825eed8b0819
2023-09-19 09:39:49 -04:00
06462489e8 migrate to std::filesystem
Change-Id: I51c2058d9916c0f7307ce026aa08fc6b060fa85e
2023-09-18 17:43:47 -04:00
299e0c4a91 conversation: use certificates from repository during validation
If a new device is doing some actions for the first time, the merge
will detect a new certificate that is not yet in the certificate
store (unless if the sender is the new device).
This will block the validation. So, instead, use the certificate
in the processed commit.

GitLab: #892
Change-Id: I0ab492e700a2aa7ef4258e2bf711117f67e29fae
2023-09-18 09:01:56 -04:00
459e58a6d2 conversation_module: fix remove on replay
When a trust request is confirmed with an old conversationId, new
messages will be transferred and the conversation will be replaced
to avoid duplicates.
However, because erasePending() wasn't used after a lock, the
removal was failing with "operation not permitted" causing a duplicate
to stay.
A test is added to avoid any further regression.

Change-Id: Ic0fd960005a064ddd7b410f014f67d9125e50446
2023-09-12 09:55:26 -04:00
51b8738ed8 ut_plugins: fix reparsing manifest
Change-Id: Id199f9210d0b05981fa9345b4ae689a3fd155041
2023-09-05 15:05:50 -03:00
a1d7fe48b8 resampler: remove testAudioBuffer
Change-Id: I87c76fda35713df72376a30c307fe76feb40e65d
2023-09-01 14:25:02 -04:00
c6926445e5 update dhtnet and cleanup fileutils
Change-Id: I051dfe0522f20592d70f4286a104bc7029488186
2023-09-01 09:49:05 -04:00
83a5a8556c test/fileutils: remove obsolete tests
code have been moved to dhtnet

Change-Id: I694539fb6cd5bc821a00097a479cb4ea3ea097e3
2023-08-30 13:48:39 -04:00
61239ae822 Manifest: add parser to get the good translation for plugin description
Change-Id: Ice250eba3a638f8eae52a14edc7a68d7e08597cf
2023-08-23 08:41:12 -04:00
1085874379 New API for connection monitoring
GitLab: #851
Change-Id: I3bbb529eccb3dbb6389621dbfc38f5cf081a98ad
2023-08-15 15:41:47 -04:00
54bac6bdfd Revert "jamiaccount: do not open swarm channels with banned devices"
This reverts commit eb641097e3.

Reason for revert: no patch in dhtnet

Change-Id: I11d0ea6bca9b570073e0d41c31144572cecbd6f8
2023-08-11 14:43:58 -04:00
eb641097e3 jamiaccount: do not open swarm channels with banned devices
Else, opening p2p socket will allow the peer to perform call actions
causing weird experiences where a banned contact is calling the user.

GitLab: #886
Change-Id: Ia76ddda03f41b6eaf6b937c11c362aa72d983cd5
2023-08-11 14:43:33 -04:00
979c1f731a conversationrepository: handle invalid display name
If the signature creations fails due to an invalid display name, the
signature will use the device Id instead.

GitLab: #885
Change-Id: Ifddf0c8afec03f26f43aebe12e56d028ca5200d0
2023-08-10 13:13:35 -04:00
73c934ea9b tests: fix resampler test
Change-Id: Ic71def12141bad509b6578953105d0dac9242ae3
2023-07-28 15:17:24 -04:00
25f6415265 switch to dhtnet
Change-Id: Ib53b7e170df59f873fbd85f6e7d4bf338d04cb9c
2023-07-27 12:51:32 -04:00