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
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