14 Commits

Author SHA1 Message Date
86d3bb6644 ArchiveAccountManager: add support for p2p account import
Gitlab: #930
Change-Id: I76f07a81c4887d0dc127d74bc6c4de2e9f4f2ee8
2025-03-06 12:19:47 -05:00
d15b4f7961 test: remove certstore test and ice test from the daemon
certstore test and ice test are moved to DHTnet project.

Change-Id: Iefba61c36d5790df5753fefd97b0eaa40f15ad0d
2024-04-29 13:38:18 -05:00
fab9009a1c conversation: improve typers management
Now, a client should not do any logic and not store preferences
client side.
+ When a member is removed while banned, the typing indication
is updated
+ Timeout is computed both for sender and receiver
+ Sending and receiving a composing status is managed by the
account's config.

GitLab: #951
Change-Id: Iba9441736eec4f71695bfbd609d4b9e8b6adcb73
2024-02-28 09:04:27 -05:00
78e3c5e880 test: remove ice_media_cand_exchange
There were no useful test as it duplicates test for ICE connectivity
and doesn't test media

Change-Id: Ifde558bf44bbd60911385760c209eb4ccab9dc12
2024-02-21 11:39:07 -05:00
842128f09b jamiaccount: redo presence design
Green indicator is not understandable for the majority of users.
This patch introduces a new approach to this status. API doesn't
change, so this is 100% backward compatible but introduces new
possibilities:

1. The status sent to the client is now 0=offline (no device found
on the DHT), 1=dht_presence (at least a device is found on the DHT),
2=connected (with a TCP + SIP channel, so ready to exchange data).
2. Publish can now be used on a Jami Account. Status is ignored,
but custom note can be added. e.g. "Lunch time!"
This status is sent via a PIDF XML status as described in RFC3863
(and already supported by SIP account) to connected peers (or for
future connections).

Several scenarios are tested in ut_presence

Change-Id: I87d987bc69e97f92a0c9f4751069e52ad69ea0fc
2024-02-19 14:03:28 -05:00
09ec8e6f43 conversation: re-design sending/sent status
The goal of this patch is to allow the clients to get a better
sent/read status from the daemon.

API doesn't change much, but internal logic got some changes. For the
client:
+ SwarmMessage now contains a map<string,int> status where string is the
  uri of a member, int is the status (0 = sending, 1 = sent, 2 = read)
+ cancelMessage is removed as not used anymore (sendMessage with flag=1
  will edit a message)
+ getMessageStatus is removed as the status is sent in the SwarmMessage
+ accountMessageStatusChanged is now emitted for swarm messages when a
  fetch or setDisplay occurs. Client must handle this signal correctly.
+ Previous code to manage last displayed, fetched status is now merged
  with message status
+ Sync info is done when the sync is opened, else status are not updated
  correctly

GitLab: #948
Change-Id: I60763d4de8a995c6fc9f6df6434e266211f8dc2f
2024-02-15 13:52:39 -05:00
1085874379 New API for connection monitoring
GitLab: #851
Change-Id: I3bbb529eccb3dbb6389621dbfc38f5cf081a98ad
2023-08-15 15:41:47 -04:00
c6f9250758 meson: update tests
Change-Id: I0a72cd58d0c3822ecb99366f2e96c10eb81d7900
2023-02-04 00:34:16 +03:00
a835266fbb unittest: add plugins
Create a minimal test for the plugins system.

GitLab: #745

Change-Id: I17d48860ce24cfdc5423d4dcc3cb44bb4d4531f6
2022-09-01 10:38:48 -03:00
23cf27865c recorder: fix some recorder bugs
+ Fix recording in an audio only call
+ Fix crash if deinit the recorder without remote video
+ Add some tests

Change-Id: Ie78a632f6a2ecb3eae4f53ae8f25c8ecbf5c5091
GitLab: #719
2022-07-12 11:32:18 -04:00
d1bc939090 jamiaccount: add test for migrations
Accounts can see their certificates expire. When it's the case, a
migration is needed. However, several regressions can happen, because
this behaviour can be tricky to test correctly. In this patch, a
test is added to validate that the migration is done whenever the
certificate expires.

+ OpenDHT needs to be bumped in order to be able to change the validity
period of a certificate.
+ In ArchiveAccountManager, a method is added to change the validity
of a certificate in the chain.
+ This patch also fixes a crash when a migration occurs directly on
the archive (info_ was null causing a segfault).
+ Finally, cleanup some signatures unused in JamiAccount.

GitLab: #684 (this is some preparative work)
Change-Id: I901bc67fd63ce2ab26ded64662f8333d3a0eed50
2022-01-26 15:18:07 -05:00
256743d590 meson: update tests
Change-Id: I834b8f24f94e639ab65272a2ff7e5ac4ea84c725
2022-01-05 12:15:55 -05:00
ba3a411ca3 daemon: Rename dring occurrences in code and file names to jamid.
Automated using the following commands:

  $ mv src/{dring,jami}
  $ git grep -l src/dring | xargs sed -i 's,src/dring,src/jami,g'
  $ git grep -l '#include "dring/' | \
    xargs sed -i 's,#include "dring/,#include "jami/,g'
  $ git grep -l 'dring.h' | xargs sed -i 's,dring.h,jami.h,g'

And finally,

  $ git grep -l 'dring' | xargs sed -i 's,dring,jami,g'

  $ files=$(find -name '*dring*' | sort)
  $ for f in $files; do mkdir -p "$(dirname "$f")"; \
      mv "$f" "$(echo $f | sed 's/dring/jami/g')"; done

To resolve a bad renaming favorably:

  $ git grep -l -i AlsaCarjami | \
    xargs sed -i -E 's/([Aa])lsaCarjami/\1lsaCardRingtone/g'

The above renaming command is not perfect, so some hand-tuning was
required to complete it.

* src/manager.cpp (Manager::ManagerPimpl::retrieveConfigPath):
Preserve the dring.yml configuration file name, until we add something
to migrate (rename) it to jami.yml.
* man/dring.pod: Delete.
* bin/dbus/jamid.pod: Move to ...
* man/jamid.pod: here.
* bin/dbus/meson.build (jamid_targets): Normalize man section to the
pre-existing 1 and adjust accordingly.
* src/jami/def.h (dring_EXPORTS): Rename to ...
(jami_EXPORTS): ... this.

change-Id: I9828be6da9c711ab2f22c4d1b9539fea89d7b6fb
2021-07-15 10:57:26 -04:00
387f6988cd build: add support for meson
Change-Id: I331522a09257d4ae787893ff72c270886c1aa210
Reviewed-by: Sébastien Blin <sebastien.blin@savoirfairelinux.com>
2020-05-21 11:50:30 -04:00