Commit Graph

15768 Commits

Author SHA1 Message Date
b28a5cb85d convmodule: avoid incorrect states
In some cases the file "contacts" was badly synced. Also, if for any
reason "contacts" is not correctly formed, we may be able to fix it.

This patch handles two cases of failures:

1. If the contact details doesn't contain any conversationId BUT
a 1:1 conversation is found with this contact, we update the
conversationId in the details.

2. If, for some reason, multiple 1:1 conversations are detected
with the same contact, we only keep the one in the details, as
it should be the correct one.

This should fix the fact that for some conversation, calls are not
written in the history (cause getOneToOneConversation() returns
nothing).

Change-Id: I5dd9fc51999540d8a4230f8fdce828a461da752a
2022-10-21 12:07:05 -04:00
f894f2587f misc: fix compilation warnings
Change-Id: Ic01845c26653338719b76410878aece456ac93cc
2022-10-20 19:50:00 -04:00
abe357f513 doc: removing obsolete agent build instructions
Guile is no longer in contrib so this documentation is obsolete.

Change-Id: I884cf03b5d1fa677f6cf8036bd5b0dffec4dda88
2022-10-20 13:38:07 -04:00
7dd5138bca misc: fix compilation warnings
Change-Id: I36869baf37ccd52d7204b6cd9f5a6c4e0c4a3a17
2022-10-20 11:52:51 -04:00
b680c1cb86 unittest: add test to check broken participant
Change-Id: I2e8e7c6ff7da0cb71db135184522e92f25aca0f3
GitLab: #779
2022-10-20 11:52:45 -04:00
483b2b97ae ut_conversation: fix build
Change-Id: I7362b02cc1fd557cf454ccc29d60ff88a53f4afc
2022-10-20 09:26:55 -04:00
c0afc3ab8d plugins: avoid getting system language every time
GitLab: #780

Change-Id: I50e5dff097c4573f24f9ba6c25fa38e2857479ae
2022-10-19 18:09:20 -03:00
8e0c09256a misc: fix compilation warnings
Change-Id: Ifa30deb2740f80c6c6d222c5984a118e71037c2e
2022-10-19 14:27:02 -04:00
9b2bb28f27 conference: correctly remove peer if crashed
Change-Id: I2c64b42dd7ad290dede7d7633eacc6bc20ed95ea
GitLab: #779
2022-10-19 13:58:14 -04:00
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