16976 Commits

Author SHA1 Message Date
68fc552fca jamiaccount: use MessageChannelHandler for connection status
Change-Id: Icb3d5de46b45c8097a0e6080bbb1bb3b60503dce
2025-04-30 13:01:22 -04:00
2c615dbc8a ScreenSharing: allow for custom FPS video streams
The previews of the tabs and screens during the selection is only ran
at 1 FPS to limit memory usage.

https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1242

Change-Id: I63739a1716afa82cb1c8e3961dde01d8600bae13
2025-04-29 14:22:52 -04:00
6402af906d cmake: copy files used by ut_plugins
GitLab: #1124
Change-Id: I427816d21f1f7177a305bec37fa71eef42b1755e
2025-04-25 15:37:49 -04:00
dc300e1c9c cmake: copy files used by ut_media_player
GitLab: #1124
Change-Id: Iaeac4b3cec40edb5633b2db346c3bcc167cc054a
2025-04-25 14:46:09 -04:00
8bdfb7715b cmake: add missing compile definition
The RING_ACCEL macro was not defined when compiling the unit tests with
the JAMI_VIDEO_ACCEL option enabled, which caused a heap buffer overflow
when running ut_media_decoder and resulted in the test failing in CI
with a "free(): invalid pointer" error.

GitLab: #1124
Change-Id: I333502a570224d9dd52a2b4e5e8ebe86d96e41a6
2025-04-25 14:04:12 -04:00
95832cfc9d audio: Windows: listen for device list change events
Modifies the Portaudio layer to listen for device list change
events and react accordingly.

Gitlab: #1120
Change-Id: Iba21ec5baf02fc8377923d6085e496e142ceac07
2025-04-23 16:57:13 -04:00
4662710e5a contrib: update dhtnet
Change-Id: Id2ff4b719131139925889fec7a803be7851a16eb
2025-04-23 16:36:25 -04:00
e8239bc8d2 sipvoiplink: pass peer certificate to account for id check
Change-Id: Idfeb34de40109b530a91013fdf8d737df8aaa7a0
2025-04-23 15:54:27 -04:00
eec358c1e9 iOS notification: ensure account is registered
When a notification is received, the account should be
registered, regardless of whether we need to load conversations.

Change-Id: Icb68605d0b7bbee94ce4b49ba34e9ff878c66215
2025-04-23 14:33:06 -04:00
2771304c70 conversation: fix build error on Windows
It seems that msvc doesn't support using the '+' operator to concatenate
an std::filesystem::path and a string, but that the '+=' operator works.

GitLab: #1118
Change-Id: I153b47458c5ec8c690cea9cd173c9054b115090d
2025-04-22 11:59:21 -04:00
17524a8c42 conversation: fix partial file transfer issues
GitLab: #1118
Change-Id: I4de38d343022ec2712a7e649d73fbdb1da068eb3
2025-04-22 11:03:12 -04:00
1dcd67dac0 message_engine: remove check which blocks send
When experiencing connectivity changes, a users registration
state might be ERROR_NETWORK, which would cause the message
not to send. This caused an issue with usage of jami over
a local network. If a device would disconnect from wifi/eth,
the various channels they had open with other local users
would keep alive but messages could not be sent.

Change-Id: Id3219fce31545b8102e9589b82aad32968d50f64
2025-04-21 10:51:17 -04:00
fec77c4f89 jamiaccount: open sip connection when needed only
Change-Id: I9cfebadb157e24e029004ec04e6a170e4e3c0923
2025-04-21 10:30:26 -04:00
00d757a24c contrib: update opendht
GitLab: #1123
Change-Id: I4d72e89adc4ab946b3a058d3523179554d13ffcf
2025-04-18 12:18:05 -04:00
6a77844911 cmake: copy file used by ut_conversation
GitLab: #1124
Change-Id: Ib28ece652a3fb849a126fc28f04cb35a87c47fee
2025-04-17 15:09:46 -04:00
1b2d8ba592 cmake: add missing tests
GitLab: #1124
Change-Id: I010607a95603caec89710fe2bcb587fd2c602ed6
2025-04-17 14:25:28 -04:00
c210225d73 contrib: get ffnvcodec from GitHub
We already do this on Windows, but the Linux build has failed at least
two or three times in CI in the past year due to git.videolan.org being
temporarily unavailable.

Change-Id: I78bb1d147ee469d188789ee5268e219d811108e2
2025-04-16 13:26:12 -04:00
356c3975a4 Windows-build: improve search for jom.exe
Change-Id: I8695b0774f930841f8667c97f3a7642f98de78a7
2025-04-16 11:52:26 -04:00
8a28f27702 Windows-build: improve handling failures in gnutls build-steps
Change-Id: I765959e1ac73ca8d0315d1ee85b18cbb0b4cf92b
2025-04-16 11:51:25 -04:00
0e60561d77 contrib: always depend on toolchain.cmake when using cmake
Change-Id: I99f4194635d6a2cf26a4cef58880c947817d6909
2025-04-10 19:25:12 -04:00
a0eab28c23 manager: cleanup
Change-Id: I765f7ebe02079ae91fa84e6fa7d54c9cfbada016
2025-04-10 16:00:40 -04:00
28afcbfd90 gitserver: improve logs
Change-Id: I940952e1f805a1a8bb3f3b0de9de626147e3c4e7
2025-04-10 15:18:21 -04:00
33f4269115 logger: use fmt for gnutls, pjsip logging
Change-Id: Ic282ac90339ecff26b8b195626059d2bf4f02d28
2025-04-10 15:18:21 -04:00
98cbdd359f server_account_manager: log cleanup
Change-Id: I1c8f8515998967c0e76173a8e65de3ef8e85343c
2025-04-10 15:18:21 -04:00
1ff95cdbf8 manager: update log level env variables
Use scoped environment variable names
for custom log levels:
DHTLOGLEVEL -> JAMI_LOG_DHT
SIPLOGLEVEL -> JAMI_LOG_SIP
RING_TLS_LOGLEVEL -> JAMI_LOG_TLS

Change-Id: Ic2dc29413382b5072a7aadb9356eb5b19514674d
2025-04-10 15:18:21 -04:00
cfa26ea4fc conversations: fix conversation Id
This patch fixes the conversation Id used when creating
conversations from iOS notifications extension.

Change-Id: Ifcf6c414b978e12aa1d7c5f4bd34536a07b7137f
2025-04-10 13:41:10 -04:00
750a3f2c3d utf8_utils: enable OPTIMIZE
Change-Id: I78dc58bd3c626b212f0527bb21efbd689cf93802
2025-04-10 13:40:34 -04:00
bfe687dbba conversation: fix message status computation
This patch is a complete rewrite of the algorithm used in the
addToHistory function to compute the status (SENDING, SENT or
DISPLAYED) of the added messages. This fixes a bug where some messages
would sometimes be incorrectly marked as being in the SENDING state,
even though more recent messages were known to have been SENT or
DISPLAYED.

GitLab: #1042
Change-Id: Ibfe0aeee57523348a5f8430492814572e607090e
2025-04-10 13:36:02 -04:00
7edd420ffa conversation: refactor addToHistory
The addToHistory function currently iterates over the list of commits to
add only once. This patch refactors the function so that the message
status computations are done in a separate loop from the rest of the
message handling logic. This will make it easier to fix a bug in the
message status computation in a subsequent patch.

GitLab: #1042
Change-Id: I3fceb10057292f84bc8c5e9d668fed7290ace8f2
2025-04-10 13:36:02 -04:00
62fe7c866a conversation: skip loading if conversation Id is empty
When loading from the notification extension, check if the
conversation Id is empty. This can happen when cloning a
conversation or during resubscribe.
In such cases, we only need to start the account.

Change-Id: Ia59b88cbf00a594621b61a1d534b18cb3805c827
2025-04-10 11:42:54 -04:00
79b8f3a085 contrib: update libarchive
Gitlab: #1122
Change-Id: I9d0aca488b52744c4b089c000f17a70d334eb54b
2025-04-09 13:53:16 -04:00
4d46e99e29 contrib: update jsoncpp
Gitlab: #1122
Change-Id: Ia80eb6f1b90c663419a6cbe25f416afee742e3c3
2025-04-09 13:53:16 -04:00
68fe75b1d3 contrib: update yaml-cpp
Gitlab: #1122
Change-Id: I2a03716fd9d493d41dd0ec8f87759a0d2fb2de5d
2025-04-09 13:53:16 -04:00
81a48595ef contrib: update llhttp
Gitlab: #1122
Change-Id: I31d290cd8ebf623a2aa91a6c279d6637952135ce
2025-04-09 13:53:16 -04:00
2b090f88d8 contrib: update msgpack
Gitlab: #1122
Change-Id: I1173ddbb2d9b5625a759dcbb0d6449c1d88efc63
2025-04-09 13:53:16 -04:00
13dcc658f0 contrib: update opendht
Gitlab: #1122
Change-Id: Ib0332c86e310aea03f5ea31d89e6ab932a8d741c
2025-04-09 13:53:16 -04:00
0dbdbd34c9 contrib: update opus
Gitlab: #1122
Change-Id: I5c7d0c74b2eb07ecf537451a8052b8907b99d0fb
2025-04-09 13:53:16 -04:00
e7f8f9926c contrib: update restinio
Gitlab: #1122
Change-Id: I0d09d8733e427843e34963b0c911c5109b0bb0ec
2025-04-09 13:53:16 -04:00
42c62ecc22 contrib: update required opendht version to 3.3
Change-Id: Ide2ef47acda8c423bfa14355e42ecdb3afbb7c36
2025-04-09 13:53:16 -04:00
63f4e2043a message channel: route messages through onTextMessage
Change-Id: I4f39abfb8cba90b428554b1972cf6ed72b7682e5
2025-04-09 11:52:51 -04:00
b7be61ef9e conversation: verify conversationId before cloning
This patch validates the conversationId before proceeding with
cloning. Otherwise, an empty conversationId could lead to
accidental removal of the entire conversations directory.

https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1982
Change-Id: I428247498bb7533b12dadb8a479779e228e6dfb6
2025-04-09 10:46:55 -04:00
3f45561abf build: use _FILE_OFFSET_BITS=64
Allows to use 64 bits file APIs on 32 bits POSIX systems.

Gitlab: #1122
Change-Id: Ie9ec07c7027b09ada8daf49c5bf3663dd9ff939d
2025-04-09 10:02:14 -04:00
12f603f7d9 contrib: always use CMAKE_BUILD_SHARED_LIBS=OFF
Change-Id: I72d6d80ef3dea7a868acb4fea0f65ff6882e743c
2025-04-09 10:02:06 -04:00
fe20fea2ef cmake: fix inconsistent test names
Some of the unit test executables had different names depending on
whether they were built via CMake or Autotools.

Change-Id: Ie09ba448e0101035e69d95fc639a8bce0251759b
2025-04-03 11:47:45 -04:00
279d6515ea contrib: don't build opendht documentation
The CMake option to build OpenDHT's documentation was already disabled
on Linux but not on Windows.

Change-Id: I66b29e68cc64596ca3066122c27facd871620d05
2025-03-30 17:42:04 -04:00
ece7c37097 archive: report write error
Change-Id: I29fcc7b078799abb3d8c5aba9a7bcb8f48357d2a
2025-03-27 22:51:16 -04:00
252a6bf10f log: cleanup and uniformize
Change-Id: I5bc21822a8c754951a92ac7be8dd2e4af78cce6f
2025-03-27 21:54:07 -04:00
7b40c5f2cb json: use toString
Use a single static instance of Json::StreamWriterBuilder
instead of creating a new one repeatedly.
Move json-related symbols to their own namespace.

Change-Id: I5145a71d7b19fd2aac158b51774e964ce772311b
2025-03-26 10:32:12 -04:00
49b4d63f43 build: fix incorrect use of LIBJAMI_TESTABLE macro
The LIBJAMI_TESTABLE macro was always defined, so using it in ifdef
directives had no effect.

Change-Id: I0f7ac906c70a90230cf224f9dc001712e1d5ca86
2025-03-25 15:32:43 -04:00
c231523ef2 unitTest: fix broken conversation tests
Commit 86d3bb6 accidentally broke two conversation tests by removing
necessary waiting periods.

GitLab: #1117
Change-Id: Idebd037b2bf9083f59a108455fea82f2203a3ece
2025-03-24 17:13:43 -04:00