jami-daemon issueshttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues2024-03-06T16:25:35Zhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/870pupnp avoid select() for sockets2024-03-06T16:25:35ZSébastien Blinpupnp avoid select() for sockets`select()` uses FD_SET() that can lead to random crashes unrelated to the number of files authorized per process.
This is used by `pupnp`, this may result in some backtraces like:
```
*** buffer overflow detected ***: terminated
Threa...`select()` uses FD_SET() that can lead to random crashes unrelated to the number of files authorized per process.
This is used by `pupnp`, this may result in some backtraces like:
```
*** buffer overflow detected ***: terminated
Thread 242 "jami" received signal SIGABRT, Aborted.
[Switching to Thread 0x7ffe6cf81640 (LWP 246791)]
__pthread_kill_implementation (no_tid=0, signo=6, threadid=140730726618688) at ./nptl/pthread_kill.c:44
44 ./nptl/pthread_kill.c: No such file or directory.
(gdb) bt
#0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=140730726618688)
at ./nptl/pthread_kill.c:44
#1 __pthread_kill_internal (signo=6, threadid=140730726618688) at ./nptl/pthread_kill.c:78
#2 __GI___pthread_kill (threadid=140730726618688, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3 0x00007ffff2442476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4 0x00007ffff24287f3 in __GI_abort () at ./stdlib/abort.c:79
#5 0x00007ffff24896f6 in __libc_message
(action=action@entry=do_abort, fmt=fmt@entry=0x7ffff25db943 "*** %s ***: terminated\n")
at ../sysdeps/posix/libc_fatal.c:155
#6 0x00007ffff253676a in __GI___fortify_fail
(msg=msg@entry=0x7ffff25db8e9 "buffer overflow detected") at ./debug/fortify_fail.c:26
#7 0x00007ffff25350c6 in __GI___chk_fail () at ./debug/chk_fail.c:28
#8 0x00007ffff25366ab in __fdelt_chk (d=<optimized out>) at ./debug/fdelt_chk.c:25
#9 0x00007ffff3961625 in sock_read_write
(info=info@entry=0x7ffe6cf7aa00, buffer=0x7fff854dc120 "GET /dyndev/uuid:2d27b940-da93-441d-b519-acf1fbd1d460 HTTP/1.1\r\nHOST: 192.168.1.1:5431\r\nDATE: Tue, 11 Jul 2023 16:38:42 GMT\r\nCONNECTION: close\r\nUSER-AGENT: Linux/5.19.0-46-generic, UPnP/1.0, Portable "..., bufsize=bufsize@entry=232, timeoutSecs=timeoutSecs@entry=0x7ffe6cf7a9ec, bRead=bRead@entry=0) at src/genlib/net/sock.c:187
#10 0x00007ffff396183c in sock_write
(info=info@entry=0x7ffe6cf7aa00, buffer=<optimized out>, bufsize=bufsize@entry=232, timeoutSecs=timeoutSecs@entry=0x7ffe6cf7a9ec) at src/genlib/net/sock.c:292
#11 0x00007ffff396480c in http_SendMessage
(info=info@entry=0x7ffe6cf7aa00, TimeOut=TimeOut@entry=0x7ffe6cf7a9ec, fmt=0x7ffff44dda77 "",
fmt@entry=0x7ffff44dda76 "b") at src/genlib/net/http/httpreadwrite.c:698
#12 0x00007ffff3964913 in http_RequestAndResponse
(destination=destination@entry=0x7ffe6cf7ab10, request=0x7fff854dc120 "GET /dyndev/uuid:2d27b940-da93-441d-b519-acf1fbd1d460 HTTP/1.1\r\nHOST: 192.168.1.1:5431\r\nDATE: Tue, 11 Jul 2023 16:38:42 GMT\r\nCONNECTION: close\r\nUSER-AGENT: Linux/5.19.0-46-generic, UPnP/1.0, Portable "..., request_length=232, req_method=req_method@entry=HTTPMETHOD_GET, timeout_secs=<optimized out>,
timeout_secs@entry=30, response=response@entry=0x7ffe6cf7abe0)
at src/genlib/net/http/httpreadwrite.c:788
#13 0x00007ffff3965eb0 in http_Download
(url_str=<optimized out>, timeout_secs=timeout_secs@entry=30, document=document@entry=0x7ffe6cf7ae48, doc_length=doc_length@entry=0x7ffe6cf7ae20, content_type=content_type@entry=0x7ffe6cf7ae50 "\006") at src/genlib/net/http/httpreadwrite.c:897
#14 0x00007ffff39574d0 in UpnpDownloadUrlItem
(url=<optimized out>, outBuf=outBuf@entry=0x7ffe6cf7ae48, contentType=contentType@entry=0x7ffe6cf7ae50 "\006") at src/api/upnpapi.c:3500
#15 0x00007ffff3957545 in UpnpDownloadXmlDoc (url=<optimized out>, xmlDoc=0x7ffe6cf7af48)
at src/api/upnpapi.c:3519
#16 0x00007ffff327342e in jami::upnp::PUPnP::downLoadIgdDescription(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
(this=0x7fff9c001f00, locationUrl="http://192.168.1.1:5431/dyndev/uuid:2d27b940-da93-441d-b519-acf1fbd1d460") at connectivity/upnp/protocol/pupnp/pupnp.cpp:840
#17 0x00007ffff3272ce3 in operator()() const (__closure=0x7fff9c015f50)
at connectivity/upnp/protocol/pupnp/pupnp.cpp:831
#18 0x00007ffff327cf16 in std::__invoke_impl<void, jami::upnp::PUPnP::processDiscoverySearchResult(const string&, const string&, const jami::IpAddr&)::<lambda()>&>(std::__invoke_other, struct {...} &)
(__f=...) at /usr/include/c++/11/bits/invoke.h:61
#19 0x00007ffff327b883 in std::__invoke_r<void, jami::upnp::PUPnP::processDiscoverySearchResult(const string&, const string&, const jami::IpAddr&)::<lambda()>&>(struct {...} &) (__fn=...)
at /usr/include/c++/11/bits/invoke.h:111
--Type <RET> for more, q to quit, c to continue without paging--
#20 0x00007ffff327a739 in std::_Function_handler<void(), jami::upnp::PUPnP::processDiscoverySearchResult(const string&, const string&, const jami::IpAddr&)::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/include/c++/11/bits/std_function.h:290
#21 0x00007ffff38118a7 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
at /home/sblin/Projects/jami-project/client-qt/daemon/src/.libs/libjami.so.0
#22 0x00007ffff28dc2b3 in () at /lib/x86_64-linux-gnu/libstdc++.so.6
#23 0x00007ffff2494b43 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#24 0x00007ffff2526a00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
(gdb)
```
Instead of this, it should use `poll()` to avoid this kind of limitation.https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/968Fix sporadic failures2024-03-05T17:58:43ZSébastien BlinFix sporadic failures```
1) test: jami::test::ConversationTest::testIsComposing (F) line: 986 conversation/conversation.cpp
assertion failed
- Expression: cv.wait_for(lk, 30s, [&]() { return bobData.composing; })
```
```
1) test: jami::test::ConversationM...```
1) test: jami::test::ConversationTest::testIsComposing (F) line: 986 conversation/conversation.cpp
assertion failed
- Expression: cv.wait_for(lk, 30s, [&]() { return bobData.composing; })
```
```
1) test: jami::test::ConversationMembersEventTest::testAddAcceptOfflineThenConnects (F) line: 613 conversation/conversationMembersEvent.cpp
assertion failed
- Expression: cv.wait_for(lk, 60s, [&]() { return !bobData.conversationId.empty(); })
```
```
!!!FAILURES!!!
Test Results:
Run: 4 Failures: 3 Errors: 0
1) test: jami::test::TypersTest::testSetIsComposing (F) line: 203 conversation/typers.cpp
assertion failed
- Expression: cv.wait_for(lk, 5s, [&]() { return bobData.composing[aliceUri]; })
2) test: jami::test::TypersTest::testTimeout (F) line: 229 conversation/typers.cpp
assertion failed
- Expression: cv.wait_for(lk, 5s, [&]() { return bobData.composing[aliceUri]; })
3) test: jami::test::TypersTest::testTypingRemovedOnMemberRemoved (F) line: 254 conversation/typers.cpp
assertion failed
- Expression: cv.wait_for(lk, 5s, [&]() { return aliceData.composing[bobUri]; })
```Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/949composingStatusChanged should be fully managed daemon side2024-03-05T13:50:09ZSébastien BlincomposingStatusChanged should be fully managed daemon sideActually, the daemon only forward the reception of the status change, but a lot of logic is implemented client side:
1. The preference to send/receive typing indicators MUST be moved in daemon (like read status)
2. The 12s timeout shoul...Actually, the daemon only forward the reception of the status change, but a lot of logic is implemented client side:
1. The preference to send/receive typing indicators MUST be moved in daemon (like read status)
2. The 12s timeout should be managed by the daemon
3. If a member of a conversation is removed while typing should be managed by the daemonSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/951Typing indicator still active after member has been kicked out of swarm2024-03-05T13:50:07ZFrançois-Simon Fauteux-ChapleauTyping indicator still active after member has been kicked out of swarm**Scenario**
- Alice creates a swarm and invites Bob and Carol to join
- Bob and Carol accept the invitation and open the swarm
- Alice opens the "Details" panel, right-clicks on Bob's name and clicks on "Kick member"
- Bob starts typin...**Scenario**
- Alice creates a swarm and invites Bob and Carol to join
- Bob and Carol accept the invitation and open the swarm
- Alice opens the "Details" panel, right-clicks on Bob's name and clicks on "Kick member"
- Bob starts typing a message in the swarm he just got kicked out of
**Result**
Both Alice and Carol still see a typing indicator ("Bob is typing...").
Note: As expected, Bob no longer sees typing indicators for Alice/Carol after being kicked out. The bug only occurs in one direction (from Bob to the remaining members of the swarm).Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/956ut_conversationMembersEvent: sporadic failures2024-03-04T18:11:59ZSébastien Blinut_conversationMembersEvent: sporadic failures```
1) test: jami::test::ConversationMembersEventTest::testAddAcceptOfflineThenConnects (F) line: 600 conversation/conversationMembersEvent.cpp
assertion failed
- Expression: cv.wait_for(lk, 60s, [&]() { return !bobData.conversationId.em...```
1) test: jami::test::ConversationMembersEventTest::testAddAcceptOfflineThenConnects (F) line: 600 conversation/conversationMembersEvent.cpp
assertion failed
- Expression: cv.wait_for(lk, 60s, [&]() { return !bobData.conversationId.empty(); })2) test: jami::test::ConversationMembersEventTest::testMemberCannotBanOther (F) line: 920 conversation/conversationMembersEvent.cpp
assertion failed
- Expression: cv.wait_for(lk, 30s, [&]() { return aliceData.errorDetected; })3) test: jami::test::ConversationMembersEventTest::testBanUnbanGotFirstConv (F) line: 1592 conversation/conversationMembersEvent.cpp
assertion failed
- Expression: cv.wait_for(lk, 30s, [&]() { return getMessage(bobData, msgId) && getMessage(bob2Data, msgId); })
```Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/961newOutgoingCall => no call for host (make newOutgoingCall Asyng and change ca...2024-02-28T20:04:42ZSébastien BlinnewOutgoingCall => no call for host (make newOutgoingCall Asyng and change call creation)https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/948Improve AccountStatusMessage synchronization2024-02-23T13:52:34ZSébastien BlinImprove AccountStatusMessage synchronization# Problems
On current master:
+ when you send a message, the message is marked as SENT as soon as one device got the messages
+ state is not kept after a reboot
+ if we say that a message is sent as soon as one other member get the mess...# Problems
On current master:
+ when you send a message, the message is marked as SENT as soon as one device got the messages
+ state is not kept after a reboot
+ if we say that a message is sent as soon as one other member get the message, this must take into account the fact that Jami is distributed and the contact may fetch the message from another device, so this information MUST be synced
+ status wasn't designed for swarm until nowSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/935ut_media_player: failure2024-02-23T13:51:56ZSébastien Blinut_media_player: failure```
!!!FAILURES!!!
Test Results:
Run: 6 Failures: 2 Errors: 0
1) test: jami::test::MediaPlayerTest::testJPG (F) line: 130 media/test_media_player.cpp
assertion failed
- Expression: audio_stream_ == -1
2) test: jami::test::MediaP...```
!!!FAILURES!!!
Test Results:
Run: 6 Failures: 2 Errors: 0
1) test: jami::test::MediaPlayerTest::testJPG (F) line: 130 media/test_media_player.cpp
assertion failed
- Expression: audio_stream_ == -1
2) test: jami::test::MediaPlayerTest::testAudioFile (F) line: 148 media/test_media_player.cpp
assertion failed
- Expression: video_stream_ != -1
```Adrien BéraudAdrien Béraudhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/855Issue if you add an unkown contact by sending text messages - Can't decline a...2024-02-19T16:14:56ZElysIssue if you add an unkown contact by sending text messages - Can't decline a contact request (same contact multiple times in contact list?) Multi-Device issue?using newest version of Jami Windows 10 and Android
just Windows 10 (="username1"): enable "Allow calls from unknown peers" AND "Allow incoming files from unknown contacts"
Steps to reproduce:
1. Windows 10: Remove (NOT block) a contac...using newest version of Jami Windows 10 and Android
just Windows 10 (="username1"): enable "Allow calls from unknown peers" AND "Allow incoming files from unknown contacts"
Steps to reproduce:
1. Windows 10: Remove (NOT block) a contact ("username2") from your contact list; Android keep the Windows 10 user ("username1") in the contact list
1. Android: Write a text message (Android -> Windows 10)
1. Windows 10: You get an invitation
1. Windows 10: Accept the invitation
1. Windows 10: You get an error message "An error occurred while fetching this repository"
1. Windows 10: You only view an invitation but the contact ("username2") won't move to the contact list
1. Windows 10: You have to delete the contact
Now exit Jami (Windows 10) and enter Jami again
Another option: Starting from step 5 mentioned above
1. Windows 10: Now instead of a username you get the identifier of the contact; you accept the contact request
1. Windows 10: You (also) get an error message "An error occurred while fetching this repository"
1. Now exit Jami (just Windows 10)
1. Windows 10: enter Jami again; you get the message "Waiting until [identifier] connects to synchronize the conversation." but after a few seconds still "An error occurred while fetching this repository"
1. Windows 10: Now remove the contact ("username2") it does NOT work
1. Just Windows 10: Exit Jami and enter Jami again: Contact ("username2") is still in the contact list; If you try to remove the contact again it's still not possible
You have to **block** (not delete!) the contact to get rid of it in the contact list
As soon as you unblock the contact you get the **same contact twice** in the contact list: One contact will show just "Swarm created", the other (same) contact will still show "An error occurred while fetching this repository"; If you make a call Android -> Windows 10 the second same contact will receive the call
However - now you can remove the contact and it will be goneSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/210DBus service has wrong filename cx.ring.Ring.service for new XDG application ...2024-02-14T14:09:07ZDennis SchriddeDBus service has wrong filename cx.ring.Ring.service for new XDG application ID net.jami.JamiAfter Ring was renamed to Jami, the [XDG application ID] changed from `cx.ring.Ring` to `net.jami.Jami`. As a result, the DBus service file would also have to be renamed (in `bin/dbus/Makefile.am`).
Having the DBus service file mismatc...After Ring was renamed to Jami, the [XDG application ID] changed from `cx.ring.Ring` to `net.jami.Jami`. As a result, the DBus service file would also have to be renamed (in `bin/dbus/Makefile.am`).
Having the DBus service file mismatch the XDG application ID will prevent the Flatpak version of Jami from working: https://github.com/flathub/net.jami.Jami/issues/15
[XDG application ID]: https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#spec-component-filespechttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/721UPNP - Change port allocation/mapping policy for media (RTP/RTCP ports)2024-02-14T14:07:55ZMohamed ChibaniUPNP - Change port allocation/mapping policy for media (RTP/RTCP ports)RTP and RTCP port numbers are determined using port ranges from user configuration. The ranges are configured per media type (audio and video). The current behavior has few issues such:
- The configuration is limited to 2 streams: one au...RTP and RTCP port numbers are determined using port ranges from user configuration. The ranges are configured per media type (audio and video). The current behavior has few issues such:
- The configuration is limited to 2 streams: one audio stream and one video stream.
- Pre-defined port numbers will conflict with UPNP port mappings.
The required changes are as follows:
- Remove the restriction of media stream count to 2 streams.
- Do not use pre-defined port when requesting UPNP ports.
- Configuration of media port ranges should not be necessary anymore.Backloghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/696ICE/PJNATH - Use a single STUN config to add multiple SRFLX candidates2024-02-14T14:07:53ZMohamed ChibaniICE/PJNATH - Use a single STUN config to add multiple SRFLX candidatesBackloghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/698UPNP/ICE/TCP - ICE/TCP connection using relay should be reset if a UPNP/NAT-P...2024-02-14T14:07:50ZMohamed ChibaniUPNP/ICE/TCP - ICE/TCP connection using relay should be reset if a UPNP/NAT-PMP is availableBackloghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/713Conference layout seems broken after 25+ participants2024-02-14T14:07:15ZSébastien BlinConference layout seems broken after 25+ participants# Scenario
+ Start a conference with 25 participants
+ Another participant join
# Expected
+ The layout should be updated
# Current result
Seems blocked to the previous view# Scenario
+ Start a conference with 25 participants
+ Another participant join
# Expected
+ The layout should be updated
# Current result
Seems blocked to the previous viewBackloghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/584Payment: create message exchange before placing call2024-02-14T14:07:00ZAline Gondim SantosPayment: create message exchange before placing callBacklogAline Gondim SantosAline Gondim Santoshttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/706pjnath/turn_session: Bad TURN session state2024-02-14T14:06:29ZOlivier Dionpjnath/turn_session: Bad TURN session stateIn pjnath/turn_session.c:
```c
1192 PJ_ASSERT_RETURN(sess->state == PJ_TURN_STATE_READY, PJ_EINVALIDOP);
```
w...In pjnath/turn_session.c:
```c
1192 PJ_ASSERT_RETURN(sess->state == PJ_TURN_STATE_READY, PJ_EINVALIDOP);
```
where `sess->state` has the value `PJ_TURN_STATE_DESTROYING`.
Discovered by: agent's scenario `make-call`
Passive agent log: [passive.log.gz](/uploads/a6476e40a8be86c7059f9e22674d1b67/passive.log.gz)
Active agent log: [make-call.log.gz](/uploads/fc06004cdc28de838667332216a08c3a/make-call.log.gz)
Backtrace trace, see Thread 51: [gdb.txt](/uploads/7f47530f51acdd00aee0e527cf0e570f/gdb.txt)
Tested on jami-daemon@07804eb312350a1ec896c7f271464ca2b3475869Backloghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/811search message function doesn't take into account edited (and deleted) messages2024-02-14T14:05:21ZNicolas Vengeonsearch message function doesn't take into account edited (and deleted) messagesScenario: call searchConversation function to get filtered messages from the conversation
Expected result: return a list of filtered messages from the conversation, excluding deleted
messages and including editions
Actual result: only r...Scenario: call searchConversation function to get filtered messages from the conversation
Expected result: return a list of filtered messages from the conversation, excluding deleted
messages and including editions
Actual result: only return messages before edition and deletionSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/844ConnectionManager onShutdown avoid retrigger2024-02-14T14:04:25ZSébastien BlinConnectionManager onShutdown avoid retrigger```
channel->onShutdown([w = weak(), serverId]() {
// Run on main thread to avoid to be in mxSock's eventLoop
runOnMainThread([serverId, w]() {
auto shared = w.l...```
channel->onShutdown([w = weak(), serverId]() {
// Run on main thread to avoid to be in mxSock's eventLoop
runOnMainThread([serverId, w]() {
auto shared = w.lock();
if (!shared)
return;
std::lock_guard<std::mutex> lk(shared->gitServersMtx_);
shared->gitServers_.erase(serverId);
});
});
```
```
info->ice_->setOnShutdown([eraseInfo]() {
runOnMainThread([eraseInfo = std::move(eraseInfo)] { eraseInfo(); });
});
```Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/945Emojis not delete when deleted message2024-02-12T20:58:46ZXavier Jouslin de NorayEmojis not delete when deleted message## How to report a bug
## One bug = one bug report
If you have multiple issues, please file separate bug reports. It will be much easier to track bugs that way.
## Avoid duplicates
Search for similar problem - update existing issue i...## How to report a bug
## One bug = one bug report
If you have multiple issues, please file separate bug reports. It will be much easier to track bugs that way.
## Avoid duplicates
Search for similar problem - update existing issue instead of creating new one.
## Bug report form
## Describe your environment
Please specify the following:
- Jami version: Eleutheria - 20231228-01
- Device model: phone
- Android version: 9
- What build you are using: Play Store
## Steps to reproduce
- Can you reproduce the bug: at will
- Steps:
1. create a message
2. add emojis
3. delete the message
- Actual result: the emojis still here
- Expected result: should delete the emojis with the deletion of message
## Additional informationhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/750Wrong username in contact list after adding an account and import leads to "S...2024-02-09T19:58:29ZElysWrong username in contact list after adding an account and import leads to "Swarm: Is false"?Not sure if you can reproduce but I think these were the steps I reproduced this bug (maybe I need to change my description and the steps later)
- Jami (Windows 10): Click add account
- Jami (Windows 10): I now add my own account (I alr...Not sure if you can reproduce but I think these were the steps I reproduced this bug (maybe I need to change my description and the steps later)
- Jami (Windows 10): Click add account
- Jami (Windows 10): I now add my own account (I already have the same user account on my android device)
- I use the option "Import from another device"
- Now all my contacts from the android device are also transferred except one contact (I have three contacts in this test; My own user account "test1"; another user account"test2"; and a "real" contact)
- However the other user account "test2" does not show up but a version like 7b2d4af12345... ( I didn't check if matches the "test2" account)
- I delete the 7b2d4af12345... contact
- After some time (over 30 seconds or more?) I get an invitation (Windows 10) of the user account "test2" with the "real" name "test2"(but I think also the Android version of Jami sent me an invitation) (Maybe related?: https://git.jami.net/savoirfairelinux/jami-project/-/issues/1449#note_36195 ) so no 7b2d4af12345... etc.
- Even if I accept (just Windows 10 or even both: Android and Windows 10) I just see "You have accepted the conversation request. Waiting until "test2" connects to synchoronize the conversation"
- Now I exit Jami just Windows 10
- Suddenly "test2" is in contact list **but my own account is gone **(just in the contact list of course)
- As soon as I exit Jami (Windows 10) and enter again my own account in the contact list is visible again
So the issues should be at least that I get a 89dfs0if... contact in the contact list instead of a user name and sometimes
Note: Android: I never deleted the "real"contact (just one in past so I get "Swarm: Is true") but my other account "test2" was often deleted and re-added so maybe that's also the issue? (Although I reproduced (another) issue if I use the Windows 10 client)
----
another issue?
In the contact list: my own account "test1" and my other account "test2" show "Swarm: Is false";
However my third contact shows "Swarm: Is true"
This happend after I followed the steps mentioned above