Commit Graph

19 Commits

Author SHA1 Message Date
3fa3f7bad9 update sdbus-cpp to 2.1.0 and adjust daemon for breaking changes
Change-Id: I94835a8edead6e9a3b22a5a47b8605afc7bad286
2025-08-01 11:44:58 -04:00
0920927895 Revert "update sdbus-cpp to 2.1.0 and adjust daemon for breaking changes"
This reverts commit 4a99991086.

Reason for revert: temporary revert since this breaks the build on most distros that we currently support, including Ubuntu 24.04, and sdbus-cpp 2.0 is not backward compatible with older systemd versions.

GitLab: #1141
Change-Id: I3d50c0a433bd63d7dc76a2659258cf9e38bbbc29
2025-08-01 11:21:31 -04:00
4a99991086 update sdbus-cpp to 2.1.0 and adjust daemon for breaking changes
The daemon sources were adjusted via the ChatGPT-provided sed snippet:

find . -name '*.cpp' -o -name '*.hpp' | while read -r file; do
  sed -i \
    -e 's/\(AdaptorInterfaces([^,]*,\) *"\([^"]*\)"/\1 sdbus::ObjectPath("\2")/' \
    -e 's/\(createSessionBusConnection(\) *"\([^"]*\)"/\1 sdbus::ServiceName("\2")/' \
    -e 's/\(createSystemBusConnection(\) *"\([^"]*\)"/\1 sdbus::ServiceName("\2")/' \
    "$file"
done

Fixes: #1141
Change-Id: I9d7b75814c66cdd8a12432c349f5df7b3e6796cd
2025-07-22 15:35:28 -04:00
86d3bb6644 ArchiveAccountManager: add support for p2p account import
Gitlab: #930
Change-Id: I76f07a81c4887d0dc127d74bc6c4de2e9f4f2ee8
2025-03-06 12:19:47 -05:00
cbf9457ae7 name directory: allow unicode names
GitLab: #1097
Change-Id: I742d1306007b3ae4908ee2d46bd5275d1ce2c99a
2025-01-30 17:12:44 -05:00
b85165ae1a copyright: happy new year!
Change-Id: I2753c58c12d167ee5f7454e5a2ed893991c90e24
2025-01-08 11:02:33 -05:00
b8bf25e0f9 updateProfile: Add Filetype
To enhance the flexibility and scalability of this API, we can include the filetype parameter.

Change-Id: I0fcb69a1073ac2cb4576d7a701e5339c1c5db5de
2024-11-21 16:56:47 -04:00
a1bba4d761 updateProfile: use int32 for flag
Change-Id: Ia844cbac3ffb529d5ee55c0c589c94a06e37fb73
2024-11-20 11:54:54 -05:00
leo
24da65974f updateProfile: add flag to support base64 avatar format
Added a flag (0 for avatar path, 1 for base64 image) to enhance API flexibility, allowing avatar support without local image storage. This change accommodates clients, such as iOS, that do not save images locally.

Change-Id: I914c14d9b38b97d1126bd2d1de4523d987e422ee
2024-11-15 08:23:50 -05:00
cfa1732c73 updateProfile: New API for Setting displayName and Avatar
This new API integrates vCard logic within the daemon, allowing clients to only provide a path. It sends the updated data directly to other connected peers to synchronize information (cached connections). The API can also be used to remove a displayName or avatar, meaning you must always supply either a displayName or an avatar to use it.

Change-Id: I6d9bdb29ce86ce3721911cf5cf7eb836ef976110
2024-11-12 17:04:20 -05:00
e2503d3a4f update license
Change-Id: I8b9e25f99da5945684e265d3923b74065c8ef8eb
2024-11-11 22:42:19 -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
ba09b11b42 conversation: add new loadConversationUntil and SwarmMessageVect type
GitLab: #831

Change-Id: I8e2aa205629735df043618a87e54ae6a43e6ca3f
2024-01-09 09:42:03 -05:00
40dddee226 misc: update copyright to 2024
Change-Id: I829473d42b2b90f26ed2d93bbde063a21ce0952c
2024-01-02 17:26:29 -05:00
c1519ba4ec AccountArchive: allow to unlock with raw key instead of password
Change-Id: Ic8b28a32f64862ac2dfae074d06f4eac470ab7e1
2024-01-02 17:18:06 -05:00
8468f15927 conversation: move logic of message management in daemon
This heavily changes the API for the client. The goal here is
to move the logic to construct the history to show in the daemon
and not the client. This has several advantages:

1. Logic is common across every platforms, so bugs should not be
platform-specific
2. Client got less logic
3. Signal are simplified, if an edition comes, "MessageUpdated"
will be triggered instead MessageReceived.
4. Some tests are added for linearizing the history.
5. Search on edition is fixed.

Tests got heavily re-written, but the content didn't change (2 tests
are added, the rest is simplification).

GitLab: #831
Change-Id: Ie7c81077067e9e49db1dd396829c9225c0512c16
2023-12-28 16:05:40 -05:00
1085874379 New API for connection monitoring
GitLab: #851
Change-Id: I3bbb529eccb3dbb6389621dbfc38f5cf081a98ad
2023-08-15 15:41:47 -04:00
e4cca14861 sdbus-cpp: emit signal on io queue
Else, we can see several deadlock (closeVideoInput() will wait
forever, because a signal is emitted before the method is finished
causing a deadlock in sdbus-cpp)

Change-Id: I87d5a5d51e80f3b75e60354595f8c618def361ff
2023-06-01 14:12:18 -04:00
3dd5f4ebfd dbus: use sdbus-c++ for dbus communications
Change-Id: If10740b4fd192a1043c5f83adc9072fe67df7862
2023-05-29 11:57:03 -04:00