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
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
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
as the destructor take care of everything now, also it fix some
sporadic crashes in ConnectionManager
Change-Id: I5115c0493cb006ffcbe32ae53565edd3e3d1e98c
GitLab: #764
+ search method was incorrect if no type provided
+ some tests were not waiting for correct signals
Change-Id: If6ba59829defb168f51c4a8e25f2054cd649b8c2
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
This will setup the correct environment for each tests and echo tests that are
running. Users can extend this with the TESTS_ENVIRONMENT variable.
Change-Id: I7aa0f04721251a6ea48cb4c2e7c2238f95d67267
To apply translations, first try to read if the JAMI_LANG variable is
set, if not, try to get the system language.
GitLab: #747
Change-Id: Ie458abcc07c0d0fd151172e172fe1418e5f06e7f
This gives to clients the ability to perform search for messages
with several parameters (account's id, conversation's id, author,
period, max number).
(To discuss) This patch introduces the search API, and a signal
(MessagesFound) to return a result.
GitLab: https://git.jami.net/savoirfairelinux/jami-project/-/issues/1382
Change-Id: Ibc4665449fa0da71a015d1d18d6d0d3209331d43
+ Some code were unused
+ Ask for profiles in one to one after a clone, this
allow to get the profile after adding/removing/re-adding
the contact as the peer will not know and got a cache
where they sent the avatar before.
+ Update unit-test
Change-Id: Ide1df647dbec63f343b60c1c622d1a214f4c3016
+ In jamiaccount, if a requestSIPConnection was failing, all subcalls
were stopped causing the main call to fail if not connected. In this
patch we only stop the subcall linked to that request.
+ In connectionmanager, if a request failed, we stopped all other
connections instead of just using the id of the request.
This fix calls whenever somebody called a contact right after the
contact changed its connectivity (and the keep-alive is not sent).
Change-Id: I0d9b14795aad37363de992cb29d4d4ca44668285
This patch increase fetched conversation number earlier,
so ConversationSyncFinished would not be emitted in case when
second call to fetchNewCommits happened before receiving callback
from onNeedSocket_.
Change-Id: I72263768426fcce671029fd165323ce89e49e91b
Several improvements are included with this patch:
1. confirmed is resetted when account is removed, this allow to
send a request when conversation is added back and reset the
whole matrix, avoiding duplicates
2. Banned can be due to harrasement. In this case, keeping the
conversation like the old behavior (pre-swarm) is better, to keep
proofs. Also re-adding back a contact is immediate if it was a
mistake as the conversation is kept back.
https://git.jami.net/savoirfairelinux/jami-project/-/issues/1449
Change-Id: I13da8ce9bd431b91ce7b7d455dae561358c62f10
Removing a contact was not actually closing all connections, causing
the remote contact to be able to call even if it was banned if there
was more than two channels opened.
Rewrite closeConnectionsWith as it was unused to use it to close
connections with the banned contact.
https://git.jami.net/savoirfairelinux/jami-project/-/issues/1449
Change-Id: I147f437370a553f0682b0cea060720a6c473f8a2
upper layer should not need to interact with the IceTransport
directly and only uses the API of the socket endpoint.
Change-Id: Iea65b03b37e87e9a7ab542ba88be5a2c6790ae98
GitLab: #703
Let the IceTransport layer stopped it's current read if destroyed
(as it uses a peerChannel, this channel should be cancelled to
let upper layer stop correctly all operations).
Call the shutdown callback whenever the ICE is really destroyed
(so caller must not re-use the ICE pointer).
Finally, remove some dirty underlyingIce() accesses in peer_connection
Change-Id: Icca73d9af273297a558121ffddc991ac6617ece2
GitLab: #703
This is a first version. This avoid "insufficent bytes"' errors due
to the pack with a max size of 8k (which can be the case)
In a future version, the SyncMsg will be splitted in partial data
to only use the necessary size and could take any wanted size.
Change-Id: Ic4b86a8ac8c3c49063e5650fefbb1f969b458db6
This patch updates libressl repo source, since according
to https://github.com/libressl-portable/openbsd/issues/128,
releases from libressl-portable could be regenerated.
Change-Id: If050a282341ccec76eb85ab78d44e10508b22f9d
We could recheck for the video device capabilities whenever the
devices list is requested. This can avoid having a virtualcamera,
like OBS, with mismatching information from what is available on the system.
GitLab: https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/747
Change-Id: I012cfb71e12c8e9965b9d112e3ff0488c7cb285c
Virtual camera with non conventional fps where not working
properly due to a mismatch between the framerate rational in
daemon and AVRational in ffmpeg.
GitLab: https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/478
Change-Id: Ida3a575be1dedae0e581257e38bf7469154a6ef5