Commit Graph

15759 Commits

Author SHA1 Message Date
9d846f66ae conversation: link file before announcing commit
A sent file was linked after the commit was announced
to the client and to other devices, which was causing various
race conditions.

We add a new onCommit callback allowing to take action after a commit
is made and before it's announced to clients and other devices,
and we use this callback to link the file.

Change-Id: If5c64271b08a71749e5bf84426c5a6ecb9806ea6
2022-10-18 15:49:36 -04:00
34f1077e2f x246: fix for iOS and cleanup
Change-Id: Ib26c2977182e61dc25eb2beb9670bc5268757fad
2022-10-18 13:05:31 -04:00
c48e278951 pupnp: use std::string_view
Change-Id: I932f58c87bd8324bf79d7a88310bf6365b63b2f3
2022-10-18 10:39:36 -04:00
190892f425 fix: do not accept new unmuted media
If a new stream is requested, and the client-qt does not specifically
states that it should be not mute, then accept muted media.

GitLab: #770

Change-Id: I1d9d6bdddfb40216d1750d4246e63745773033a6
2022-10-18 09:01:28 -04:00
e186d925c4 fmt: fix minimum version detection
FMT_COMPILE is needed

Change-Id: Ic7f7948d2816dc0017f9b780046e4ce9f31b4c9c
2022-10-17 15:51:22 -04:00
6aa8ee35e9 misc: bump onnx
Change-Id: If37b12f2d5588c087aaef639568cd9cd2015f136
2022-10-17 13:37:30 -04:00
59cb825df5 jamiaccount: avoid deadlock when sending a SIP message
shutdownSIPConnection must not be called in pjsip callback (can be
called in shutdownSIPConnection)

GitLab: #775
Change-Id: I4d05d38e863c0f2b1f4e72d2fc827d17ca4bad8b
2022-10-17 10:56:59 -04:00
632643de48 misc: fix warnings by using libfmt
Change-Id: I7c22af5885e6e0386f4723d68bfee727faf8d068
2022-10-15 12:28:58 -04:00
87f1fd467b contrib: update libfmt
Change-Id: Iada47d9ac1fadb7717a171eb4e4e4d332fa83096
2022-10-15 12:28:52 -04:00
8abb7a04dc nodejs: fix libjami linking and ConversationPreferencesUpdated binding
Change-Id: I3a444c818210fbdb3c5873fea63fc75af5101b44
2022-10-12 16:02:00 -04:00
d570b2b38f conference: add recording to participant infos
So that everybody in the conference can know who is recording

Change-Id: Ibc2d670560c086e2fd1925cab6bb5ea12f563a73
GitLab: #699
2022-10-11 13:45:12 -04:00
bf886711b5 upnp: Fix possible race conditions
Although not harmful, the race conditions could make Jami hang for many seconds
when closing the library.

Change-Id: I88186adbcde309671de6502a22e52ab440f61f4b
2022-10-07 23:04:06 -04:00
03f2da3674 misc: use to_int
Change-Id: I5493a8fd395edb0219b15d83717f1d1f371d571c
2022-10-07 14:14:12 -04:00
dc15893107 string utils: add to_int
Change-Id: I8c3ef6c6aee6b326bf917d3bcb8fc53857072cc3
2022-10-07 14:14:09 -04:00
426c064f5e jamiaccount: send proxy to client through volatile details
Change-Id: Ia1d00fcb5f043f06f8ad93c391083b2c38e35aea
2022-10-07 13:28:28 -04:00
224152f7a4 libguile-jami: Expect user to call jami:init and jami:fini
Exit hooks are only called when in a REPL.  Thus, provide the user with bindings
for initialization and finalization of the daemon.  The syntax `with-jami' can be
used to ensure that finalization happens if initialization succeed.

Change-Id: I2f84a76844866a1de06300cde26618c8576045e5
2022-10-07 12:20:59 -04:00
6fb7210fbf pupnp: bump
Change-Id: Ieaa87654df3eebf6f2b0e74e45e69df80f6cfab0
2022-10-07 11:26:28 -04:00
92f557f6de contrib: update x264
Change-Id: If0e90df14266533e5ff38d58cb4dd34876dbce32
2022-10-06 15:11:46 -04:00
a4ff4abe70 swarm: add method to save user's preferences
This store user's preferences per conversation into
conversation_data/<convId>/preferences
In this way, the daemon is able to sync this file across devices
and remove preferences at the same time we remove the conversation.

For now, only support "color" and "ignoreNotifications"

The preferences are synced via partial SyncMsg sent across devices.

Change-Id: I8fe74cc06733ad61d45d721e0264b1941d4cf122
2022-10-06 14:47:30 -04:00
baf2510ffd account_manager: log error if trust request is not sent
Change-Id: Iac15b1cbefadb2b438029f53608542ba577e28af
2022-10-06 10:33:36 -04:00
b7dd425660 misc: set frame time_base when decoding
To properly get the time_base and framerate in the plugins,
we need to set the frame properties when decoding.

GitLab: https://git.jami.net/savoirfairelinux/jami-plugins/-/issues/23

Change-Id: I69a2235c46b13a15414c4d01821cc1eba5b73987
2022-10-06 08:47:06 -04:00
7b6d544630 Dockerfile: Add guile-3.0-dev
Change-Id: Ie472c28a510e801f347263c26e3241ad2bfdd98f
2022-10-05 11:04:49 -04:00
462e95d326 contact: sync conversationId
Change-Id: I4fd53b924a086e95893e2486e5a4b5b9243025f7
2022-10-04 15:28:15 -04:00
5d88d74e5a conference: fix call between same device
+ Do not setMuted if socketPair not created

GitLab: #769

Change-Id: I4443ed4d381e1729f9d479a84a1b577c79bf2e2e
2022-10-04 15:13:22 -04:00
a7a8420178 nodejs: add composing indicators
Change-Id: I3a1109e0acc64aed296abe19a198d71253cd4364
2022-10-03 14:21:05 -04:00
b16308eaf2 contrib: Remove Guile
Use the system version instead.

Change-Id: I9f7886c73cdb4a70251eef79b1125919a4396eb5
2022-09-30 11:39:58 -04:00
3ef2038acc message engine: only save non-empty message lists
Change-Id: I222a7f6aa81ccf40e5c7037b86c26e4c82f5155b
2022-09-29 13:59:16 -04:00
ff66cac231 contrib: update vpx
Change-Id: I02057d31ede36eff218c2d06d20a4e7d2e49cc7b
2022-09-29 12:04:23 -04:00
85a550e883 misc: fix ut_sip build
Change-Id: Iffedd964cb6848df8172cdc557d7cee3656ebca4
2022-09-28 08:06:03 -04:00
5c55f5efa8 Add jami.pc
Change-Id: If13a246aa50953c99d72937daeb7866de2d82e8d
2022-09-22 10:08:37 -04:00
ea327ff28e Rename libring to libjami
Change-Id: Id123f733759d6147f0f8fb9975b21fd8b0f1e558
2022-09-22 10:08:36 -04:00
0ac8c2341f Dockerfile: add missing dependencies
Change-Id: I15fc7859a645f51918df0a911ae3ba1d077f6211
2022-09-18 15:31:27 -04:00
c482366eb8 contrib: detect vpx from system
Change-Id: Ia493ea8d6375e923185d3b8fccdf94ce669f07fe
2022-09-18 15:31:11 -04:00
52228283fd nodejs: fix build with clang
Change-Id: Id980bc5eecf11424e32dc14275b2dba6862aae24
2022-09-18 12:53:34 -04:00
02ac61d4d7 agent: Bundle bindings as a shared library
Instead of creating an agent executable, bundle the bindinds into a shared
library.  That way, we're adding an extension that Guile can load at runtime.
This shared library can be installed along with libjami so that users can use
the full power of Scheme to control their Jami accounts.

Also create a `guile-wraper' that compiles against the configuration flags.
This is necessary when building libjami with ASAN because then the executable
either has to LD_PRELOAD ASAN or compile against it.  This minimal wrapper
really just boot guile and start a REPL.

Change-Id: I984d211ff03322b102ebe8650950ac8487711e9d
2022-09-16 16:39:48 -04:00
44f4b0037f agent/utils: Add more integer types and remove ensure_type
Guile already checks for the type of its objects before converting to C.  Thus
we don't have to do the check ourself.

The check is still made in `apply_to_guile' to avoid packing values unnecessary
if the procedure is not really a procedure.  The check is also made when
registering callbacks because of their delayed nature.

Change-Id: Id879c04d119884ad1226ed2495b880681125bccc
2022-09-16 16:39:48 -04:00
a6148e7420 agent: Remove AGENT_ASSERT in favor of Guile exception
Instead of crashing the agent every time there's an error, just throw an
exception that can be handled by the user.

Change-Id: I18ac929e54b9cda6485754ccd52325db7dff66d9
2022-09-16 16:39:48 -04:00
3eb7416985 Add Dockerfile to build in a Docker container
update readme for instruction on how to build in Docker

Change-Id: I6c450db3502ea6f96407b745fffc22a791976a33
2022-09-16 16:00:35 -04:00
edeeda0b20 ice_transport: remove useless stop
as the destructor take care of everything now, also it fix some
sporadic crashes in ConnectionManager

Change-Id: I5115c0493cb006ffcbe32ae53565edd3e3d1e98c
GitLab: #764
2022-09-16 11:06:46 -04:00
2bf69dcae8 misc: fix ut_recorder
GitLab: #761

Change-Id: Iebcb1dfed3ebd1919c99e00b9528f3e09a77683c
2022-09-15 10:16:03 -04:00
1cc1af80aa peer_connection: ice must be always true
This avoid the TlsSocketEndpoint to use an invalidated ICE.

GitLab: #763
Change-Id: If89a70521e523e19c38fd61c20c483b89a9b6413
2022-09-09 13:04:51 -04:00
206112b579 agent/main: Remove atexit(Dring::fini)
DRing::fini is currently unsafe for atexit.

Change-Id: If4643a5f5455190351c45eebad816cba5b8c642f
2022-09-09 07:48:45 -04:00
bcabb5f764 mic: fix conversationMembersEvent
Change-Id: Ib595ab696edddd0271b85933b26c591b078ad21c
2022-09-08 16:45:37 -04:00
76226044f5 Revert "fileutils: migrate to boost::nowide"
Causes issues with yaml-cpp. Reverting temporarily until we fix the issue.

Change-Id: I2df0823554ad87880bc965bdff4f4707a6129789
2022-09-08 14:23:55 -04:00
cc2f9efb47 misc: fix tests
+ search method was incorrect if no type provided
+ some tests were not waiting for correct signals

Change-Id: If6ba59829defb168f51c4a8e25f2054cd649b8c2
2022-09-08 14:07:31 -04:00
05ff5b3bfe fileutils: migrate to boost::nowide
Change-Id: Iceae2a19ce3febce62f7916af8b4242e06a7e1d4
2022-09-08 13:13:13 -04:00
95b580b573 nodejs: add binding for MessagesFound
Change-Id: Ifc2d7853ba58311356a4c33e80987424f3bff283
2022-09-07 16:35:03 -04:00
7509c5c311 misc: fix tests build
Change-Id: I238f452f77e10c16ebc5f69bef1b768f44e57e2e
2022-09-07 15:41:23 -04:00
0d23dff746 contrib: fix secp256k1 build on iOS
Fix x86_64 build on Apple silicon.

Change-Id: I233a1e4f48d52a5f9dc56090c864c957a69a2221
2022-09-06 20:45:24 -04:00
1fa8dfe69c contrib: homogeneize jsoncpp versions across platforms
Seems that JSONcpp symbols changed between 1.7.4/1.7.6 causing
some versions to fail.
We already uses 1.9.3 since a long time on other platforms
and ubuntu 22 got a version recent enough too.

Change-Id: I21a4c44ee1359a7d89e45770cb2bad9f2eb00cce
GitLab: #824
2022-09-06 15:38:58 -04:00