savoirfairelinux issueshttps://git.jami.net/groups/savoirfairelinux/-/issues2021-02-15T15:42:21Zhttps://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/253Swarm: invalid message order2021-02-15T15:42:21ZGuillaume HellerSwarm: invalid message orderScenario:
* Same account on two different devices A and B
* Send message either from device A or device B
* Messages sent from device A are not displayed in the correct order on device B
![image](/uploads/3847d53f6b734dd9dbee39baf93e...Scenario:
* Same account on two different devices A and B
* Send message either from device A or device B
* Messages sent from device A are not displayed in the correct order on device B
![image](/uploads/3847d53f6b734dd9dbee39baf93ea821/image.png)Albert Babí OllerAlbert Babí Ollerhttps://git.jami.net/savoirfairelinux/jami-client-ios/-/issues/109Calling a number with spaces in SIP fails2021-02-15T15:23:02ZStéphane GuillouCalling a number with spaces in SIP failsWhen calling a number with an SIP account, if the number includes spaces (which iOS does automatically to increase readability), the call fails.
For example, +32 123 45 67 89 vs +32123456789: the first one would do nothing (while it see...When calling a number with an SIP account, if the number includes spaces (which iOS does automatically to increase readability), the call fails.
For example, +32 123 45 67 89 vs +32123456789: the first one would do nothing (while it seems it is trying to connect, showing the call screen, but no sound), whereas the second one would work.
I am not sure how dependent this is from the SIP service it connects to (I am with DiamondCard.us), but I think Jami should remove the spaces if they exist in the first place anyway, before placing the call?Kateryna KostiukKateryna Kostiukhttps://git.jami.net/savoirfairelinux/jami-client-macos/-/issues/272Crash on "remove conversation"2021-02-15T15:23:00ZAdrien BéraudCrash on "remove conversation"[logs_crash_MacOs_20210207.rtf](/uploads/68a3fed7e09a8fb47c3788e1052d8209/logs_crash_MacOs_20210207.rtf)[logs_crash_MacOs_20210207.rtf](/uploads/68a3fed7e09a8fb47c3788e1052d8209/logs_crash_MacOs_20210207.rtf)Kateryna KostiukKateryna Kostiukhttps://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/272GNU/Linux: inhibit screen saver while in a call2021-02-15T15:22:45ZSébastien BlinGNU/Linux: inhibit screen saver while in a call# Scenario
+ Do a call
+ Stay X minutes while the screensaver come
# Expected
Because we are in a call, the screen should stay on
# Current
The screensaver is coming
https://stackoverflow.com/questions/31498114/how-to-programmatica...# Scenario
+ Do a call
+ Stay X minutes while the screensaver come
# Expected
Because we are in a call, the screen should stay on
# Current
The screensaver is coming
https://stackoverflow.com/questions/31498114/how-to-programmatically-prevent-linux-computer-from-sleeping-or-turning-on-screeAlbert Babí OllerAlbert Babí Ollerhttps://git.jami.net/savoirfairelinux/jami-client-ios/-/issues/115Notifications does not works2021-02-15T15:22:43ZKateryna KostiukNotifications does not worksThe iOS device could not receive notifications because the certificate expired.The iOS device could not receive notifications because the certificate expired.Kateryna KostiukKateryna Kostiukhttps://git.jami.net/savoirfairelinux/jami-client-gnome/-/issues/1250HELP S.O.S. JAMI UBUNTU 20.102021-02-13T11:56:46ZVERO JEAN-LUCveroniquejeanluc@lilo.orgHELP S.O.S. JAMI UBUNTU 20.10![JAMI_OLD_BOG_INSTALLATION](/uploads/7b021704e90f57375ca8db4de87cacae/JAMI_OLD_BOG_INSTALLATION.png)
Impossible de mettre à jour ni même d’installer à nouveau jami à partir de jami.net ?
Quelqu’un aurait-il une solution ? Merci
Voici ce...![JAMI_OLD_BOG_INSTALLATION](/uploads/7b021704e90f57375ca8db4de87cacae/JAMI_OLD_BOG_INSTALLATION.png)
Impossible de mettre à jour ni même d’installer à nouveau jami à partir de jami.net ?
Quelqu’un aurait-il une solution ? Merci
Voici ce que dit le terminal :
verojean@verojean:~$ sudo apt-get update && sudo apt-get install jami
Atteint :1 http://archive.ubuntu.com/ubuntu focal InRelease
Atteint :2 http://fr.archive.ubuntu.com/ubuntu focal InRelease
Atteint :3 http://fr.archive.ubuntu.com/ubuntu focal-updates InRelease
Atteint :4 http://fr.archive.ubuntu.com/ubuntu focal-backports InRelease
Réception de :5 http://security.ubuntu.com/ubuntu focal-security InRelease [109 kB]
Atteint :6 https://dl.jami.net/nightly/ubuntu_20.10 ring InRelease
109 ko réceptionnés en 2s (47,9 ko/s)
Lecture des listes de paquets… Fait
Lecture des listes de paquets… Fait
Construction de l’arbre des dépendances
Lecture des informations d’état… Fait
Certains paquets ne peuvent être installés. Ceci peut signifier
que vous avez demandé l’impossible, ou bien, si vous utilisez
la distribution unstable, que certains paquets n’ont pas encore
été créés ou ne sont pas sortis d’Incoming.
**L’information suivante devrait vous aider à résoudre la situation : **
Les paquets suivants contiennent des dépendances non satisfaites :
** jami : Dépend: libqt5core5a (>= 5.14.1) mais 5.12.8+dfsg-0ubuntu1 devra être installé**
** Dépend: jami-daemon (= 20210205.3.176eed9~dfsg1-1) mais ne sera pas installé**
E: Impossible de corriger les problèmes, des paquets défectueux sont en mode « garder en l’état ».
verojean@verojean:~$
Pour l’instant seul JAMI 20210105 est installé en secours, mais je ne vois que les identifiants et pas les noms d’utilisateurs…https://git.jami.net/savoirfairelinux/jami-client-android/-/issues/889Screenshare button shouldn't be available for audio-only calls2021-02-11T23:23:55ZNick EconopoulyScreenshare button shouldn't be available for audio-only calls
## Describe your environment
Jami 20201222-01 installed via F-Droid
Moto G 4th generation, Android 7.0
## Steps to reproduce
Make (or pick up) an audio call from the Android app.
- Expected result: Screenshare button shouldn't b...
## Describe your environment
Jami 20201222-01 installed via F-Droid
Moto G 4th generation, Android 7.0
## Steps to reproduce
Make (or pick up) an audio call from the Android app.
- Expected result: Screenshare button shouldn't be there because there's no video stream to share the screen over
- Actual result: Screenshare button appears in audio calls (clicking it does nothing, of course)https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/431ASAN crash in tls_session2021-02-11T00:20:24ZSébastien BlinASAN crash in tls_session```
[1612800089.886|61512|ice_transport.cpp :763 ] [ice:0x627000261100]: Setup default candidates
[1612800089.886|61512|ice_transport.cpp :753 ] [ice:0x627000261100] added host stun config for TCP transport
[1612800089.886|61512|ice_tr...```
[1612800089.886|61512|ice_transport.cpp :763 ] [ice:0x627000261100]: Setup default candidates
[1612800089.886|61512|ice_transport.cpp :753 ] [ice:0x627000261100] added host stun config for TCP transport
[1612800089.886|61512|ice_transport.cpp :753 ] [ice:0x627000261100] added host stun config for TCP transport
[1612800089.886|61512|ice_transport.cpp :888 ] [ice:0x627000261100]: Add generic local reflexive candidates [172.16.21.46:9 : 208.88.110.46:9] for comp 1
[1612800089.886|61512|ice_transport.cpp :753 ] [ice:0x627000261100] added host stun config for TCP transport
[1612800089.886|61512|ice_transport.cpp :289 ] [ice (TCP)] added turn server '158.69.203.11', port 3478
[1612800089.895|62703|sip_utils.cpp :252 ] Registered thread 0x7f6dd193c4f8 (0x3F01D)
[1612800089.928|61471|ice_transport.cpp :1467 ] [ice:0x627000081900] ice send failed: Ignored (PJ_EIGNORED)
[1612800089.928|62270|tls_session.cpp :1675 ] [TLS] fatal error in recv: The TLS connection was non-properly terminated.
[1612800089.928|62262|tls_session.cpp :1532 ] [TLS] shutdown
[1612800089.928|62262|ice_transport.cpp :1467 ] [ice:0x627000081900] ice send failed: Ignored (PJ_EIGNORED)
[1612800089.928|62262|tls_session.cpp :903 ] [TLS] transport failure on tx: errno = 5
AddressSanitizer:DEADLYSIGNAL
=================================================================
==258077==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000694 (pc 0x7f6e3292ce44 bp 0x7f6e2d9f9090 sp 0x7f6e2d9f8a08 T1)
==258077==The signal is caused by a WRITE memory access.
==258077==Hint: address points to the zero page.
#0 0x7f6e3292ce43 in gnutls_transport_set_errno (/usr/lib/x86_64-linux-gnu/libgnutls.so.30+0x76e43)
#1 0x557f564ef0e3 in jami::tls::TlsSession::TlsSessionImpl::sendRaw(void const*, unsigned long) /home/sblin/ring-project/daemon/src/security/tls_session.cpp:902
#2 0x557f564ef41a in jami::tls::TlsSession::TlsSessionImpl::sendRawVec(iovec const*, int) /home/sblin/ring-project/daemon/src/security/tls_session.cpp:915
#3 0x557f564e9a8e in operator() /home/sblin/ring-project/daemon/src/security/tls_session.cpp:607
#4 0x557f564e9abf in _FUN /home/sblin/ring-project/daemon/src/security/tls_session.cpp:608
#5 0x7f6e328f0ea8 (/usr/lib/x86_64-linux-gnu/libgnutls.so.30+0x3aea8)
#6 0x7f6e328e7240 (/usr/lib/x86_64-linux-gnu/libgnutls.so.30+0x31240)
#7 0x7f6e328ea68f in gnutls_record_send2 (/usr/lib/x86_64-linux-gnu/libgnutls.so.30+0x3468f)
#8 0x557f564ee6a3 in jami::tls::TlsSession::TlsSessionImpl::send(unsigned char const*, unsigned long, std::error_code&) /home/sblin/ring-project/daemon/src/security/tls_session.cpp:854
#9 0x557f564f6ce7 in jami::tls::TlsSession::write(unsigned char const*, unsigned long, std::error_code&) /home/sblin/ring-project/daemon/src/security/tls_session.cpp:1632
#10 0x557f5628b2da in jami::TlsSocketEndpoint::write(unsigned char const*, unsigned long, std::error_code&) /home/sblin/ring-project/daemon/src/peer_connection.cpp:366
#11 0x557f55fc3bd7 in jami::MultiplexedSocket::write(unsigned short const&, unsigned char const*, unsigned long, std::error_code&) /home/sblin/ring-project/daemon/src/jamidht/multiplexed_socket.cpp:471
#12 0x557f55fc5ec6 in jami::ChannelSocket::write(unsigned char const*, unsigned long, std::error_code&) /home/sblin/ring-project/daemon/src/jamidht/multiplexed_socket.cpp:679
#13 0x557f565e08e6 in jami::tls::ChanneledSIPTransport::send(pjsip_tx_data*, void const*, int, void*, void (*)(pjsip_transport*, void*, long)) /home/sblin/ring-project/daemon/src/jamidht/channeled_transport.cpp:298
#14 0x557f565dc2e3 in operator() /home/sblin/ring-project/daemon/src/jamidht/channeled_transport.cpp:103
#15 0x557f565dc335 in _FUN /home/sblin/ring-project/daemon/src/jamidht/channeled_transport.cpp:104
#16 0x557f566f81b2 in pjsip_transport_send (/home/sblin/ring-project/daemon/bin/dring+0xf781b2)
#17 0x557f566f24d8 in stateless_send_transport_cb (/home/sblin/ring-project/daemon/bin/dring+0xf724d8)
#18 0x557f566f2839 in stateless_send_resolver_callback (/home/sblin/ring-project/daemon/bin/dring+0xf72839)
#19 0x557f566f6087 in pjsip_resolve (/home/sblin/ring-project/daemon/bin/dring+0xf76087)
#20 0x557f566f4525 in pjsip_endpt_send_request_stateless (/home/sblin/ring-project/daemon/bin/dring+0xf74525)
#21 0x557f56704600 in tsx_send_msg (/home/sblin/ring-project/daemon/bin/dring+0xf84600)
#22 0x557f56704911 in tsx_on_state_null (/home/sblin/ring-project/daemon/bin/dring+0xf84911)
#23 0x557f56707d2e in pjsip_tsx_send_msg (/home/sblin/ring-project/daemon/bin/dring+0xf87d2e)
#24 0x557f5670a327 in pjsip_dlg_send_request (/home/sblin/ring-project/daemon/bin/dring+0xf8a327)
#25 0x557f560808a8 in jami::im::sendSipMessage(pjsip_inv_session*, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&) /home/sblin/ring-project/daemon/src/im/instant_messaging.cpp:167
[1612800090.220|62703|ice_transport.cpp :561 ] [ice:0x627000261100] TCP initialization success
[1612800090.220|62703|ice_transport.cpp :623 ] [ice:0x627000261100] as master
[1612800090.220|62703|ice_transport.cpp :729 ] [ice:0x627000261100] (local) ufrag=1ca60700, pwd=549c8e553e8b102d45c70f4a
[1612800090.220|62201|ice_transport.cpp :1572 ] Add remote ICE candidate: Hc0a80252 1 TCP 2130706431 192.168.2.82 65301 typ host tcptype passive
[1612800090.220|62201|ice_transport.cpp :1572 ] Add remote ICE candidate: Hc0a80252 1 TCP 2130706175 192.168.2.82 9 typ host tcptype active
[1612800090.220|62201|ice_transport.cpp :1572 ] Add remote ICE candidate: Hd0b6f662 1 TCP 2130706431 fe80::aede:48ff:fe00:1122 65302 typ host tcptype passive
[1612800090.220|62201|ice_transport.cpp :1572 ] Add remote ICE candidate: Hd0b6f662 1 TCP 2130706175 fe80::aede:48ff:fe00:1122 9 typ host tcptype active
[1612800090.221|62201|ice_transport.cpp :1572 ] Add remote ICE candidate: Sc0a80252 1 TCP 1694498303 184.144.159.132 9 typ srflx tcptype active
[1612800090.221|62201|ice_transport.cpp :1572 ] Add remote ICE candidate: Hc0a80252 1 TCP 2130706431 192.168.2.82 9 typ host tcptype active
[1612800090.221|62201|ice_transport.cpp :1572 ] Add remote ICE candidate: Rc0fc8cec 1 TCP 16777215 192.252.140.236 10452 typ relay tcptype passive
[1612800090.221|62201|ice_transport.cpp :1075 ] [ice:0x627000261100] negotiation starting (7 remote candidates)
[1612800090.221|62201|connectionmanager.cpp:585 ] [Account e77342fdc0671835] [CNX] connection accepted, DHT reply to d5e472a00e9bce0e716054efda72f46fb3092817
#26 0x557f56342ec7 in jami::SIPCall::sendTextMessage(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/sblin/ring-project/daemon/src/sip/sipcall.cpp:943
#27 0x557f56160688 in operator() /home/sblin/ring-project/daemon/src/conference.cpp:293
#28 0x557f5616a676 in operator() /home/sblin/ring-project/daemon/src/manager.h:975
#29 0x557f5616c070 in _M_invoke /usr/include/c++/9/bits/std_function.h:300
#30 0x557f55cd7c3b in std::function<void ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688
#31 0x557f562be79d in jami::ScheduledExecutor::loop() /home/sblin/ring-project/daemon/src/scheduled_executor.cpp:124
#32 0x557f562bccb4 in operator() /home/sblin/ring-project/daemon/src/scheduled_executor.cpp:28
#33 0x557f562c13dd in __invoke_impl<void, jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > /usr/include/c++/9/bits/invoke.h:60
#34 0x557f562c1392 in __invoke<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > /usr/include/c++/9/bits/invoke.h:95
#35 0x557f562c133f in _M_invoke<0> /usr/include/c++/9/thread:244
#36 0x557f562c1315 in operator() /usr/include/c++/9/thread:251
#37 0x557f562c12f9 in _M_run /usr/include/c++/9/thread:195
#38 0x7f6e320f8d83 (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0xd6d83)
#39 0x7f6e3271b608 in start_thread /build/glibc-eX1tMB/glibc-2.31/nptl/pthread_create.c:477
#40 0x7f6e31de6292 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x122292)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV (/usr/lib/x86_64-linux-gnu/libgnutls.so.30+0x76e43) in gnutls_transport_set_errno
Thread T1 created by T0 here:
#0 0x7f6e32d16805 in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x3a805)
#1 0x7f6e320f9048 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0xd7048)
#2 0x557f562bcf1c in jami::ScheduledExecutor::ScheduledExecutor() /home/sblin/ring-project/daemon/src/scheduled_executor.cpp:29
#3 0x557f561a69ae in jami::Manager::ManagerPimpl::ManagerPimpl(jami::Manager&) /home/sblin/ring-project/daemon/src/manager.cpp:451
#4 0x557f561aa13e in jami::Manager::Manager() /home/sblin/ring-project/daemon/src/manager.cpp:730
#5 0x557f561a9f05 in jami::Manager::instance() /home/sblin/ring-project/daemon/src/manager.cpp:706
#6 0x557f55d05ccd in DRing::init(DRing::InitFlag) /home/sblin/ring-project/daemon/src/ring_api.cpp:57
#7 0x557f55bdb71f in DBusClient::initLibrary(int) /home/sblin/ring-project/daemon/bin/dbus/dbusclient.cpp:245
#8 0x557f55bd02a1 in DBusClient::DBusClient(int, bool) /home/sblin/ring-project/daemon/bin/dbus/dbusclient.cpp:108
#9 0x557f55bcf9af in void __gnu_cxx::new_allocator<DBusClient>::construct<DBusClient, int&, bool&>(DBusClient*, int&, bool&) (/home/sblin/ring-project/daemon/bin/dring+0x44f9af)
#10 0x557f55bcf773 in void std::allocator_traits<std::allocator<DBusClient> >::construct<DBusClient, int&, bool&>(std::allocator<DBusClient>&, DBusClient*, int&, bool&) (/home/sblin/ring-project/daemon/bin/dring+0x44f773)
#11 0x557f55bcf3a4 in std::_Sp_counted_ptr_inplace<DBusClient, std::allocator<DBusClient>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<int&, bool&>(std::allocator<DBusClient>, int&, bool&) (/home/sblin/ring-project/daemon/bin/dring+0x44f3a4)
#12 0x557f55bced6a in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<DBusClient, std::allocator<DBusClient>, int&, bool&>(DBusClient*&, std::_Sp_alloc_shared_tag<std::allocator<DBusClient> >, int&, bool&) (/home/sblin/ring-project/daemon/bin/dring+0x44ed6a)
#13 0x557f55bce8bd in std::__shared_ptr<DBusClient, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<DBusClient>, int&, bool&>(std::_Sp_alloc_shared_tag<std::allocator<DBusClient> >, int&, bool&) (/home/sblin/ring-project/daemon/bin/dring+0x44e8bd)
#14 0x557f55bcdd7e in std::shared_ptr<DBusClient>::shared_ptr<std::allocator<DBusClient>, int&, bool&>(std::_Sp_alloc_shared_tag<std::allocator<DBusClient> >, int&, bool&) (/home/sblin/ring-project/daemon/bin/dring+0x44dd7e)
#15 0x557f55bcd2ae in std::shared_ptr<DBusClient> std::allocate_shared<DBusClient, std::allocator<DBusClient>, int&, bool&>(std::allocator<DBusClient> const&, int&, bool&) (/home/sblin/ring-project/daemon/bin/dring+0x44d2ae)
#16 0x557f55bcc8de in std::shared_ptr<DBusClient> std::make_shared<DBusClient, int&, bool&>(int&, bool&) (/home/sblin/ring-project/daemon/bin/dring+0x44c8de)
#17 0x557f55bcb651 in main /home/sblin/ring-project/daemon/bin/main.cpp:218
#18 0x7f6e31ceb0b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
==258077==ABORTING
✘ sblin@sblin-pbody ~/ring-project/daemon master
```https://git.jami.net/savoirfairelinux/jami-project/-/issues/1180nightly vs stable binary repo (mint)2021-02-10T13:53:13Zfelixnightly vs stable binary repo (mint)A friend had an issue with a recently installed jami on mint 20.1 (audio/video did not work).
They had followed the instructions on https://jami.net/download-jami-linux/#open-modal-linux-mint-20-64-bit and so ended up with a nighly buil...A friend had an issue with a recently installed jami on mint 20.1 (audio/video did not work).
They had followed the instructions on https://jami.net/download-jami-linux/#open-modal-linux-mint-20-64-bit and so ended up with a nighly build (around 5. Feb) from https://dl.jami.net/nightly/ubuntu_20.04/, installed through apt.
There is https://dl.jami.net/stable/ubuntu_20.04/ and I suggested to try the stable version instead (currently December 2020). That version worked much better, and they only had to replace "nightly" by "stable" in the list URL.
I wonder why the official instructions point to the nightly repo. Please consider to change it to stable, for mint or more generally.
many thanks
felixhttps://git.jami.net/savoirfairelinux/jami-client-ios/-/issues/103Crash on startup when in landscape mode2021-02-10T12:39:53ZerrhammrCrash on startup when in landscape modeI’m running Jami 3.07(20201211) on an iPad with iPadOS 14.2.
When the iPad is in landscape orientation, I cannot start Jami at all. It crashes within a few seconds without showing the UI. It only shows the Jami logo centered on screen a...I’m running Jami 3.07(20201211) on an iPad with iPadOS 14.2.
When the iPad is in landscape orientation, I cannot start Jami at all. It crashes within a few seconds without showing the UI. It only shows the Jami logo centered on screen and then the app just crashes immediately.
When the screen is oriented in portrait mode, the app starts just fine.
When I start the app in portrait mode and then rotate the screen to landscape, the app keeps running as expected without crashing.
This behavior occurs on first start (before setting up an account) and on every subsequent start (after an account has been set up). But only in landscape mode.Kateryna KostiukKateryna Kostiukhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/433x264 contrib doesn't build on Debian 92021-02-09T17:54:38ZMaxim Cournoyerx264 contrib doesn't build on Debian 9The nasm version is too old on Debian 9 for our current version of x264, whose build fails with:
```
Found no assembler
Minimum version is nasm-2.13
If you really want to compile without asm, configure with --disable-asm.
```The nasm version is too old on Debian 9 for our current version of x264, whose build fails with:
```
Found no assembler
Minimum version is nasm-2.13
If you really want to compile without asm, configure with --disable-asm.
```Maxim CournoyerMaxim Cournoyerhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/411Connectivity/ICE: First call occasionnally fails if a peer is in a remote loc...2021-02-08T19:58:26ZSébastien BlinConnectivity/ICE: First call occasionnally fails if a peer is in a remote location (e.g. Europe)# Scenario
+ IPv4 only
+ No UPNP
+ TURN (only receiver)
+ Alice in North America. Bob in Europe
+ Alice call Bob
# Current result
+ Sometimes first call doesn't work (ICE nego failed), but second call works. Like TURN doesn't allow Al...# Scenario
+ IPv4 only
+ No UPNP
+ TURN (only receiver)
+ Alice in North America. Bob in Europe
+ Alice call Bob
# Current result
+ Sometimes first call doesn't work (ICE nego failed), but second call works. Like TURN doesn't allow Alice fast enough and the connection (but authorized for second connection)
# Advancement
In fact the is two reason I can see:
+ One side can stop negotiating too soon (just check its candidate, but the other one succeed a candidate after this). We should let some time to the ICE negotiation to be sure to not fail
+ on_connect_complete in stun_sock MUST handle status != success. Now it just fail and don't retry candidate when necessary like other connections.
Fixed by https://git.jami.net/savoirfairelinux/ring-daemon/-/commit/4463ed9eeb66c4c30b2b98e8cdd05ba5843349f9Sébastien BlinMohamed ChibaniSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/334UPNP/NAT-PMP - Provision port mapping to avoid delay2021-02-08T15:31:50ZMohamed ChibaniUPNP/NAT-PMP - Provision port mapping to avoid delayOn some UPNP/NAT-PMP implementations, port mapping requests may take up to few seconds to be granted. In the current daemon version, the port mapping requests are made just before ICE negotiation starts, which causes the connectivity che...On some UPNP/NAT-PMP implementations, port mapping requests may take up to few seconds to be granted. In the current daemon version, the port mapping requests are made just before ICE negotiation starts, which causes the connectivity check on those ports to fail if the mapping is not granted quickly enough.Mohamed ChibaniMohamed Chibanihttps://git.jami.net/savoirfairelinux/jami-client-macos/-/issues/221Daemon, can't rebind to same DHT port2021-02-07T15:19:20ZSébastien BlinDaemon, can't rebind to same DHT portThe macos client seems to not close the DHT port sometimes, and relaunching the client leads to a "Address already in use"The macos client seems to not close the DHT port sometimes, and relaunching the client leads to a "Address already in use"Backloghttps://git.jami.net/savoirfairelinux/jami-client-android/-/issues/878call: show remote recording indication2021-02-05T23:39:29ZAdrien Béraudcall: show remote recording indicationIteration 27Amirhossein NaghshzanAmirhossein Naghshzanhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/426sdp: heap-use-after-free error2021-02-05T18:11:27ZSébastien Blinsdp: heap-use-after-free error```
oiplink.cpp :841 ] [call:6904029422356513] INVITE@0x6190002e27a8 state changed to 6 (DISCONNCTD): cause=200, tsx@0x61d000214928 status 200 (OK)
[1612448064.314|55209|sipcall.cpp :1096 ] [call:6904029422356513] add remote ICE...```
oiplink.cpp :841 ] [call:6904029422356513] INVITE@0x6190002e27a8 state changed to 6 (DISCONNCTD): cause=200, tsx@0x61d000214928 status 200 (OK)
[1612448064.314|55209|sipcall.cpp :1096 ] [call:6904029422356513] add remote ICE candidate: R9e45cb33 2 UDP 16777214 158.69.203.51 20263 typ relay
=================================================================
==55208==ERROR: AddressSanitizer: heap-use-after-free on address 0x619000233560 at pc 0x55d92bc72209 bp 0x7f095e2faf50 sp 0x7f095e2faf40
READ of size 4 at 0x619000233560 thread T1
#0 0x55d92bc72208 in jami::Sdp::getIceCandidates[abi:cxx11](unsigned int) const /home/sblin/ring-project/daemon/src/sip/sdp.cpp:737
#1 0x55d92bcdd45d in operator() /home/sblin/ring-project/daemon/src/sip/sipcall.cpp:1094
#2 0x55d92bcdd9ac in jami::SIPCall::getAllRemoteCandidates() /home/sblin/ring-project/daemon/src/sip/sipcall.cpp:1107
#3 0x55d92bce1270 in jami::SIPCall::startIceMedia() /home/sblin/ring-project/daemon/src/sip/sipcall.cpp:1405
#4 0x55d92bce0b9f in operator() /home/sblin/ring-project/daemon/src/sip/sipcall.cpp:1369
#5 0x55d92bce93d4 in operator() /home/sblin/ring-project/daemon/src/manager.h:975
#6 0x55d92bcefb24 in _M_invoke /usr/include/c++/9/bits/std_function.h:300
#7 0x55d92b66ffcb in std::function<void ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688
#8 0x55d92bc56b65 in jami::ScheduledExecutor::loop() /home/sblin/ring-project/daemon/src/scheduled_executor.cpp:124
#9 0x55d92bc5507c in operator() /home/sblin/ring-project/daemon/src/scheduled_executor.cpp:28
#10 0x55d92bc597a5 in __invoke_impl<void, jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > /usr/include/c++/9/bits/invoke.h:60
#11 0x55d92bc5975a in __invoke<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > /usr/include/c++/9/bits/invoke.h:95
#12 0x55d92bc59707 in _M_invoke<0> /usr/include/c++/9/thread:244
#13 0x55d92bc596dd in operator() /usr/include/c++/9/thread:251
#14 0x55d92bc596c1 in _M_run /usr/include/c++/9/thread:195
#15 0x7f096ca11d83 (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0xd6d83)
#16 0x7f096e970608 in start_thread /build/glibc-eX1tMB/glibc-2.31/nptl/pthread_create.c:477
#17 0x7f096c6ff292 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x122292)
0x619000233560 is located 736 bytes inside of 1024-byte region [0x619000233280,0x619000233680)
freed by thread T72 here:
#0 0x7f096f2ae7cf in __interceptor_free (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10d7cf)
#1 0x55d92c0dfcb2 in pj_pool_destroy_int (/home/sblin/ring-project/daemon/bin/dring+0xf45cb2)
previously allocated by thread T72 here:
#0 0x7f096f2aebc8 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10dbc8)
#1 0x55d92c0d8807 in default_block_alloc (/home/sblin/ring-project/daemon/bin/dring+0xf3e807)
Thread T1 created by T0 here:
#0 0x7f096f1db805 in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x3a805)
#1 0x7f096ca12048 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0xd7048)
#2 0x55d92bc552e4 in jami::ScheduledExecutor::ScheduledExecutor() /home/sblin/ring-project/daemon/src/scheduled_executor.cpp:29
#3 0x55d92bb3ed3e in jami::Manager::ManagerPimpl::ManagerPimpl(jami::Manager&) /home/sblin/ring-project/daemon/src/manager.cpp:451
#4 0x55d92bb424ce in jami::Manager::Manager() /home/sblin/ring-project/daemon/src/manager.cpp:730
#5 0x55d92bb42295 in jami::Manager::instance() /home/sblin/ring-project/daemon/src/manager.cpp:706
#6 0x55d92b69e05d in DRing::init(DRing::InitFlag) /home/sblin/ring-project/daemon/src/ring_api.cpp:57
#7 0x55d92b573aaf in DBusClient::initLibrary(int) /home/sblin/ring-project/daemon/bin/dbus/dbusclient.cpp:245
#8 0x55d92b568631 in DBusClient::DBusClient(int, bool) /home/sblin/ring-project/daemon/bin/dbus/dbusclient.cpp:108
#9 0x55d92b567d3f in void __gnu_cxx::new_allocator<DBusClient>::construct<DBusClient, int&, bool&>(DBusClient*, int&, bool&) (/home/sblin/ring-project/daemon/bin/dring+0x3cdd3f)
#10 0x55d92b567b03 in void std::allocator_traits<std::allocator<DBusClient> >::construct<DBusClient, int&, bool&>(std::allocator<DBusClient>&, DBusClient*, int&, bool&) (/home/sblin/ring-project/daemon/bin/dring+0x3cdb03)
#11 0x55d92b567734 in std::_Sp_counted_ptr_inplace<DBusClient, std::allocator<DBusClient>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<int&, bool&>(std::allocator<DBusClient>, int&, bool&) (/home/sblin/ring-project/daemon/bin/dring+0x3cd734)
#12 0x55d92b5670fa in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<DBusClient, std::allocator<DBusClient>, int&, bool&>(DBusClient*&, std::_Sp_alloc_shared_tag<std::allocator<DBusClient> >, int&, bool&) (/home/sblin/ring-project/daemon/bin/dring+0x3cd0fa)
#13 0x55d92b566c4d in std::__shared_ptr<DBusClient, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<DBusClient>, int&, bool&>(std::_Sp_alloc_shared_tag<std::allocator<DBusClient> >, int&, bool&) (/home/sblin/ring-project/daemon/bin/dring+0x3ccc4d)
#14 0x55d92b56610e in std::shared_ptr<DBusClient>::shared_ptr<std::allocator<DBusClient>, int&, bool&>(std::_Sp_alloc_shared_tag<std::allocator<DBusClient> >, int&, bool&) (/home/sblin/ring-project/daemon/bin/dring+0x3cc10e)
#15 0x55d92b56563e in std::shared_ptr<DBusClient> std::allocate_shared<DBusClient, std::allocator<DBusClient>, int&, bool&>(std::allocator<DBusClient> const&, int&, bool&) (/home/sblin/ring-project/daemon/bin/dring+0x3cb63e)
#16 0x55d92b564c6e in std::shared_ptr<DBusClient> std::make_shared<DBusClient, int&, bool&>(int&, bool&) (/home/sblin/ring-project/daemon/bin/dring+0x3cac6e)
#17 0x55d92b5639e1 in main /home/sblin/ring-project/daemon/bin/main.cpp:218
#18 0x7f096c6040b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
Thread T72 created by T62 here:
#0 0x7f096f1db805 in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x3a805)
#1 0x7f096ca12048 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0xd7048)
#2 0x55d92bc552e4 in jami::ScheduledExecutor::ScheduledExecutor() /home/sblin/ring-project/daemon/src/scheduled_executor.cpp:29
#3 0x55d92bf752f1 in jami::tls::ChanneledSIPTransport::ChanneledSIPTransport(pjsip_endpoint*, int, std::shared_ptr<jami::ChannelSocket> const&, jami::IpAddr const&, jami::IpAddr const&, std::function<void ()>&&) /home/sblin/ring-project/daemon/src/jamidht/channeled_transport.cpp:46
#4 0x55d92bd1e11b in std::_MakeUniq<jami::tls::ChanneledSIPTransport>::__single_object std::make_unique<jami::tls::ChanneledSIPTransport, pjsip_endpoint*&, pjsip_transport_type_e&, std::shared_ptr<jami::ChannelSocket> const&, jami::IpAddr&, jami::IpAddr&, std::function<void ()> >(pjsip_endpoint*&, pjsip_transport_type_e&, std::shared_ptr<jami::ChannelSocket> const&, jami::IpAddr&, jami::IpAddr&, std::function<void ()>&&) /usr/include/c++/9/bits/unique_ptr.h:857
#5 0x55d92bd18f30 in jami::SipTransportBroker::getChanneledTransport(std::shared_ptr<jami::ChannelSocket> const&, std::function<void ()>&&) /home/sblin/ring-project/daemon/src/sip/siptransport.cpp:452
#6 0x55d92b7f7d6a in jami::JamiAccount::cacheSIPConnection(std::shared_ptr<jami::ChannelSocket>&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, dht::Hash<20ul> const&) /home/sblin/ring-project/daemon/src/jamidht/jamiaccount.cpp:3880
#7 0x55d92b7d2eeb in operator() /home/sblin/ring-project/daemon/src/jamidht/jamiaccount.cpp:2311
#8 0x55d92b80d31c in _M_invoke /usr/include/c++/9/bits/std_function.h:300
#9 0x55d92bfa94b5 in std::function<void (dht::Hash<20ul> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<jami::ChannelSocket>)>::operator()(dht::Hash<20ul> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<jami::ChannelSocket>) const /usr/include/c++/9/bits/std_function.h:688
#10 0x55d92bf8f2b0 in operator() /home/sblin/ring-project/daemon/src/jamidht/connectionmanager.cpp:766
#11 0x55d92bf98b45 in _M_invoke /usr/include/c++/9/bits/std_function.h:300
#12 0x55d92b9675c0 in std::function<void (dht::Hash<20ul> const&, std::shared_ptr<jami::ChannelSocket> const&)>::operator()(dht::Hash<20ul> const&, std::shared_ptr<jami::ChannelSocket> const&) const /usr/include/c++/9/bits/std_function.h:688
#13 0x55d92b958895 in jami::MultiplexedSocket::Impl::onRequest(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned short) /home/sblin/ring-project/daemon/src/jamidht/multiplexed_socket.cpp:258
#14 0x55d92b9592d3 in operator() /home/sblin/ring-project/daemon/src/jamidht/multiplexed_socket.cpp:286
#15 0x55d92b95fb80 in _M_invoke /usr/include/c++/9/bits/std_function.h:300
#16 0x55d92c11df19 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() (/home/sblin/ring-project/daemon/bin/dring+0xf83f19)
#17 0x7f095611e4c7 (<unknown module>)
Thread T62 created by T39 here:
#0 0x7f096f1db805 in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x3a805)
#1 0x7f096ca12048 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0xd7048)
Thread T39 created by T1 here:
#0 0x7f096f1db805 in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x3a805)
#1 0x7f096ca12048 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0xd7048)
SUMMARY: AddressSanitizer: heap-use-after-free /home/sblin/ring-project/daemon/src/sip/sdp.cpp:737 in jami::Sdp::getIceCandidates[abi:cxx11](unsigned int) const
Shadow bytes around the buggy address:
0x0c328003e650: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c328003e660: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c328003e670: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c328003e680: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c328003e690: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
=>0x0c328003e6a0: fd fd fd fd fd fd fd fd fd fd fd fd[fd]fd fd fd
0x0c328003e6b0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c328003e6c0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c328003e6d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c328003e6e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c328003e6f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
Shadow gap: cc
==55208==ABORTING
```https://git.jami.net/savoirfairelinux/jami-client-android/-/issues/668Video upside down with front camera2021-02-05T15:23:59ZRémi BorfigatVideo upside down with front camera- Jami version: 20190824-01
- Device model: Fairphone 2
- Android version: 7.1.2
- What build you are using: F-droid (20190824-01)
## Steps to reproduce
- Can you reproduce the bug: At will
- Steps:
1. Launch Jami
...- Jami version: 20190824-01
- Device model: Fairphone 2
- Android version: 7.1.2
- What build you are using: F-droid (20190824-01)
## Steps to reproduce
- Can you reproduce the bug: At will
- Steps:
1. Launch Jami
2. Call a contact with video
- Actual result: Video feed from front camera upside down
- Expected result: Video feed from front camera upright direction
## Additional information
The problem concerns only the front camera: swapping to the rear camera during a call displays the normal video orientation. Bug already reported to Fairphone with the stock camera app and apparently linked to the driver: https://bugtracker.fairphone.com/project/fairphone-android-7/issue/167
However, with the same phone and OS, no problem with other video messaging apps.https://git.jami.net/savoirfairelinux/jami-client-android/-/issues/573android: sometimes the phone still not wake up2021-02-05T15:19:56ZSébastien Blinandroid: sometimes the phone still not wake upLaterSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-client-android/-/issues/615Make system calls2021-02-05T15:18:01ZFrançois Naggar-TremblayMake system callsWhen multiple calling apps are present, invoking a call gives the user the option to choose which app to use. When Jami is selected, nothing happens.When multiple calling apps are present, invoking a call gives the user the option to choose which app to use. When Jami is selected, nothing happens.https://git.jami.net/savoirfairelinux/jami-client-android/-/issues/562Jami take long time to start on boot !2021-02-05T15:16:43ZNokia808Jami take long time to start on boot !Hi. My mobile is Honor X8 (128 GB). I'm now on:
* Android 9
* EMUI: 9.0.1
* version number: 9.0.1.156 (SP53C185E3R1P1)
I notice that Jami take long time to start automatically on boot ! If I power OFF my device then - after 3 minutes -...Hi. My mobile is Honor X8 (128 GB). I'm now on:
* Android 9
* EMUI: 9.0.1
* version number: 9.0.1.156 (SP53C185E3R1P1)
I notice that Jami take long time to start automatically on boot ! If I power OFF my device then - after 3 minutes - power it ON again then it Jami need about 4 - 10 minutes (yes at one time it take up to 10 minutes) to start automatically ! This is long time & should be shorter ......
This not only happens on power OFF/ON the mobile. But also, when merely restart mobile.
This can create illusion for user that Jami not started automatically at booting at all, & this what, in fact, happened with me ........
Please, your kind fix for that .....