savoirfairelinux issueshttps://git.jami.net/groups/savoirfairelinux/-/issues2024-02-08T18:58:54Zhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/21SIP register fails: No username on digest authentication2024-02-08T18:58:54ZAlba MendezSIP register fails: No username on digest authenticationThis bug has been driving me mad for quite some time. I just installed Ring for Ubuntu 16.04 following official instructions, opened, set up a SIP account with hostname=10.139.205.101, username=10, password=test and it fails to register....This bug has been driving me mad for quite some time. I just installed Ring for Ubuntu 16.04 following official instructions, opened, set up a SIP account with hostname=10.139.205.101, username=10, password=test and it fails to register.
My Asterisk server sends:
From: "main" <sip:10@10.139.205.101>;tag=8005b703-201b-47e8-be88-03d7564a5ba8
To: "main" <sip:10@10.139.205.101>;tag=as3f952c47
...
WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="0074f5d0"
And Ring then sends:
From: "main" <sip:10@10.139.205.101>;tag=8005b703-201b-47e8-be88-03d7564a5ba8
To: "main" <sip:10@10.139.205.101>
...
Authorization: Digest , realm="asterisk", nonce="0074f5d0", uri="sip:10.139.205.101", response="631415fcf3715907a48f11fec1e6a880", algorithm=MD5
i.e. notice the space and comma after `Digest`
ring-daemon version 2018-07-07. Bug could be on upstream, for some reason username is not set on `pjsip/src/pjsip/sip_auth_client.c` when adding the Authorization header, [header printed here](https://github.com/asterisk/pjproject/blob/106ec876a371b57bb3db8231a55cb5f368e6266b/pjsip/src/pjsip/sip_auth_msg.c#L73).Next major releaseSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/29Temporary IPv6 addresses can cause PJSIP to fail2022-11-14T21:52:31ZJami BotTemporary IPv6 addresses can cause PJSIP to failIssue generated from Tuleap's migration script.
**Originally submitted by: Maxim Cournoyer (mcournoyer)**
\* Environment:
This problem seems to affect mostly GNU/Linux and macOS systems configured to change their iPv6 address often, a...Issue generated from Tuleap's migration script.
**Originally submitted by: Maxim Cournoyer (mcournoyer)**
\* Environment:
This problem seems to affect mostly GNU/Linux and macOS systems configured to change their iPv6 address often, as a privacy measure. It would affect any platform that gathers a sufficient number of temporary IPv6 addresses.
\* Reproduce steps:
1. Register multiple IPv6 addresses:
A script used to generate those temporary IPv6 addresses can be found here: https://gitlab.savoirfairelinux.com/snippets/116
That script and the accompanying 'gen-random-ipv6.sh' should be placed in the same directory. The IFDEV and IPV6\_PREFIX should be adjusted to match your network device and IPv6 prefix, respectively. It is important that the IFDEV environment matches the \*currently\* used network interface if you have many, otherwise the problem will not be triggered.
Run the script like this: sudo ./add-ipv6-addresses.sh
2. Launch Ring and try to place a call.
\* Expected result:
The call should succeed.
\* Actual result (as seen in the daemon's debug output):
[1513801602.823|14926|ice\_transport.cpp :429 ] [ice:0x2fa48b0] initialization success
[1513801602.823|14926|ice\_transport.cpp :482 ] ICE as master
[1513801602.829|14926|ice\_transport.cpp :576 ] [ice:0x2fa48b0] (local) ufrag=2567c1bd, pwd=51e44a5d
[1513801602.829|12099|sipcall.cpp :776 ] [call:10040259774347710226] fill SDP with ICE transport 0x2d97040
dring: ../src/pjmedia/sdp.c:187: pjmedia\_sdp\_attr\_add: Assertion `\*count < (32\*2 + 4)' failed.
Abandon (core dumped)
A patch addressing the issue is in review here: https://gerrit-ring.savoirfairelinux.com/\#/c/8462/Next major releaseSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/42Add ringing timeout2022-11-14T21:52:32ZHugo LefeuvreAdd ringing timeoutCurrently there is no timeout for emitted calls. If a peer is connected but doesn't answer a call, then this call will ring 'forever', at least until the user manually aborts it or peer becomes unreachable.
We should implement such a ti...Currently there is no timeout for emitted calls. If a peer is connected but doesn't answer a call, then this call will ring 'forever', at least until the user manually aborts it or peer becomes unreachable.
We should implement such a timeout.Next major releaseHugo LefeuvreHugo Lefeuvrehttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/44Error during config save leads to major loss of config and account related data2022-11-14T21:52:32ZHugo LefeuvreError during config save leads to major loss of config and account related dataToday I opened my Ring client and found out that most of my account and contact related information has disappeared.
* 4/5 accounts lost their avatar, display name and registered name
* 1 account lost all its linked devices
* 1 account ...Today I opened my Ring client and found out that most of my account and contact related information has disappeared.
* 4/5 accounts lost their avatar, display name and registered name
* 1 account lost all its linked devices
* 1 account lost all its linked devices except one
* several accounts **MAY** have lost some contacts
4/5 accounts are not functional anymore.
Only one account does not appear to have suffered from data loss. This account is still functional.
**Affects:** latest daemon master with latest LRC and GNOME client
**Daemon logs when starting:**
```
[1536072827.730| 7916|ringaccount.cpp :1421 ] [Account 7c2c46b550fdf679] loading Ring account
[1536072827.730| 7916|ringaccount.cpp :898 ] [Account 7c2c46b550fdf679] loading identity: ring_device.crt ring_device.key
[1536072827.878| 7916|certstore.cpp :75 ] CertificateStore: loaded 327 local certificates.
[1536072827.880| 7916|ringaccount.cpp :836 ] [Account 7c2c46b550fdf679] checking device receipt for 7ba67dbee50ab99fe44a1daa0992a8b5d11b1a21
[1536072827.881| 7916|ringaccount.cpp :891 ] [Account 7c2c46b550fdf679] ring:7ba67dbee50ab99fe44a1daa0992a8b5d11b1a21 device 459eda6e5c5a5819b19a157e4fc1e7491bea644d receipt checked successfully
[1536072827.881| 7916|ringaccount.cpp :2695 ] [Account 7c2c46b550fdf679] loading known account device 459eda6e5c5a5819b19a157e4fc1e7491bea644d
[1536072827.882| 7916|ringaccount.cpp :2406 ] [Account 7c2c46b550fdf679] Found account device: 459eda6e5c5a5819b19a157e4fc1e7491bea644d
[1536072827.883| 7916|ringaccount.cpp :2992 ] [Account 7c2c46b550fdf679] new contact: 00e29c5d3d518f96297b032ca21f5f8770573da8
[1536072827.884| 7916|ringaccount.cpp :2992 ] [Account 7c2c46b550fdf679] new contact: 3c2a2fae84be1713e6d68d39360faa7441220c00
[1536072827.885| 7916|ringaccount.cpp :2992 ] [Account 7c2c46b550fdf679] new contact: ded6a9d278d05adac3265a0a69d07bd264e0861a
[1536072827.886| 7916|ringaccount.cpp :3138 ] [Account 7c2c46b550fdf679] error loading trust requests: Can't read file: incomingTrustRequests
[1536072827.886| 7916|manager.cpp :2792 ] Found abandonned Ring account: /home/hlefeuvre/.local/share/ring/500c78989b647104/export.gz
```
```
[1536072828.803| 7916|ringaccount.cpp :1421 ] [Account 7170fb591202047e] loading Ring account
[1536072828.803| 7916|ringaccount.cpp :898 ] [Account 7170fb591202047e] loading identity: ring_device.crt ring_device.key
[1536072828.806| 7916|ringaccount.cpp :836 ] [Account 7170fb591202047e] checking device receipt for e3494b660ea1f988d4d66ed96811d9445eaa093c
[1536072828.807| 7916|ringaccount.cpp :891 ] [Account 7170fb591202047e] ring:e3494b660ea1f988d4d66ed96811d9445eaa093c device 7646c5dad40347ad8dc3524077a533f539d8a719 receipt checked successfully
[1536072828.807| 7916|ringaccount.cpp :2695 ] [Account 7170fb591202047e] loading known account device 7646c5dad40347ad8dc3524077a533f539d8a719
[1536072828.808| 7916|ringaccount.cpp :2406 ] [Account 7170fb591202047e] Found account device: 7646c5dad40347ad8dc3524077a533f539d8a719
[1536072828.809| 7916|ringaccount.cpp :2992 ] [Account 7170fb591202047e] new contact: 00e29c5d3d518f96297b032ca21f5f8770573da8
[1536072828.810| 7916|ringaccount.cpp :2992 ] [Account 7170fb591202047e] new contact: 3c2a2fae84be1713e6d68d39360faa7441220c00
[1536072828.811| 7916|ringaccount.cpp :3138 ] [Account 7170fb591202047e] error loading trust requests: Can't read file: incomingTrustRequests
[1536072828.811| 7916|manager.cpp :2792 ] Found abandonned Ring account: /home/hlefeuvre/.local/share/ring/2c8f461a28b01e2/export.gz
[1536072828.813| 7916|ringaccount.cpp :1421 ] [Account da65023c64f3d1a5] loading Ring account
[1536072828.814| 7916|ringaccount.cpp :898 ] [Account da65023c64f3d1a5] loading identity: ring_device.crt ring_device.key
[1536072828.817| 7916|ringaccount.cpp :836 ] [Account da65023c64f3d1a5] checking device receipt for 4a76358f13177319b906f1cc511175394e09c01a
[1536072828.818| 7916|ringaccount.cpp :891 ] [Account da65023c64f3d1a5] ring:4a76358f13177319b906f1cc511175394e09c01a device d524cf3a29c2db45d927cba48002a03ef73d2276 receipt checked successfully
[1536072828.819| 7916|ringaccount.cpp :2688 ] [Account da65023c64f3d1a5] error loading devices: Can't read file: knownDevicesNames
[1536072828.819| 7916|ringaccount.cpp :3022 ] [Account da65023c64f3d1a5] error loading contacts: Can't read file: contacts
[1536072828.819| 7916|ringaccount.cpp :3138 ] [Account da65023c64f3d1a5] error loading trust requests: Can't read file: incomingTrustRequests
```
**Client logs when starting:**
```
** (gnome-ring:7775): DEBUG: updating RING account display name to:
** (gnome-ring:7775): DEBUG: updating RING account display name to:
** (gnome-ring:7775): DEBUG: updating RING account display name to:
** (gnome-ring:7775): DEBUG: updating RING account display name to:
Trying to create a certificate node with an already used id. This can have unforneen consequences
```
As you can see the daemon is not able to load account information. In fact these files have been wiped out:
```
.local/share/ring/
├── 2c8f461a28b01e2
│ ├── contacts
│ ├── export.gz
│ ├── knownDevicesNames
│ ├── ring_device.crt
│ └── ring_device.key
├── 500c78989b647104
│ ├── export.gz
│ ├── ring_device.crt
│ └── ring_device.key
├── 7170fb591202047e
│ ├── config.yml
│ ├── contacts
│ ├── export.gz
│ ├── knownDevicesNames
│ ├── ring_device.crt
│ └── ring_device.key
├── 7c2c46b550fdf679
│ ├── config.yml
│ ├── contacts
│ ├── export.gz
│ ├── knownDevicesNames
│ ├── ring_device.crt
│ └── ring_device.key
├── 9fba7138a1fc3f51
│ ├── config.yml
│ ├── contacts
│ ├── export.gz
│ ├── incomingTrustRequests
│ ├── knownDevicesNames
│ ├── ring_device.crt
│ └── ring_device.key
.
.
.
```
This bug has been identified on at least 2 different computers with different builds and accounts. One of these two computers might even run a released version of Ring.Next major releasehttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/360Load current calls from daemon2018-10-18T02:03:08ZSébastien BlinLoad current calls from daemonRing-daemon can be launched separately from clients.
So, a call can be received before launching a client. LRC should retrieve these calls from the daemon.
The major part of this patch is already done, see https://gerrit-ring.savoirfai...Ring-daemon can be launched separately from clients.
So, a call can be received before launching a client. LRC should retrieve these calls from the daemon.
The major part of this patch is already done, see https://gerrit-ring.savoirfairelinux.com/#/c/8188/
The idea is to take this patch and finish it.Next major releaseSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/372smartlist: contact list reordered when sending messages2018-08-06T18:35:06ZHugo Lefeuvresmartlist: contact list reordered when sending messages**Affects**: Latest LRC + GNU/Linux GNOME client
**How to reproduce**:
1. Set up a Ring account with several contacts where the conversation is empty (completely empty, clear history was called)
2. Open the topmost conversation and sen...**Affects**: Latest LRC + GNU/Linux GNOME client
**How to reproduce**:
1. Set up a Ring account with several contacts where the conversation is empty (completely empty, clear history was called)
2. Open the topmost conversation and send messages while looking at the conversations list: the order of empty conversations changes
This makes the smartlist blinky, we should really avoid that.Next major releaseSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/373newaccountmodel: race conditions and bad signal used for creating accounts2018-10-02T20:10:50ZHugo Lefeuvrenewaccountmodel: race conditions and bad signal used for creating accountsThe new account model is currently affected by two major issues:
1. The `accounts_` map is not protected again race conditions, in any kind of way. This should *really* be fixed.
2. The `accountsChanged` daemon signal is not used to det...The new account model is currently affected by two major issues:
1. The `accounts_` map is not protected again race conditions, in any kind of way. This should *really* be fixed.
2. The `accountsChanged` daemon signal is not used to detect changes in the accounts list. Instead we use `registrationStatusChanged` which works but is kind of inappropriate and may create various kind of weird issues when creating accounts offline.Next major releaseHugo LefeuvreHugo Lefeuvrehttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/374newaccountmodel: still using old LRC for removing accounts2018-10-02T20:09:48ZHugo Lefeuvrenewaccountmodel: still using old LRC for removing accountsWe are still using the old lrc's `accountRemoved` signal to remove accounts. This is obviously not something we want to do and that should be handled 100% in the new LRC.We are still using the old lrc's `accountRemoved` signal to remove accounts. This is obviously not something we want to do and that should be handled 100% in the new LRC.Next major releaseHugo LefeuvreHugo Lefeuvrehttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/375SIP register fails: No username on digest authentication2018-07-31T14:34:17ZAlba MendezSIP register fails: No username on digest authenticationThis bug has been driving me mad for quite some time. I just installed Ring for Ubuntu 16.04 following official instructions, opened, set up a SIP account with hostname=10.139.205.101, username=10, password=test and it fails to register....This bug has been driving me mad for quite some time. I just installed Ring for Ubuntu 16.04 following official instructions, opened, set up a SIP account with hostname=10.139.205.101, username=10, password=test and it fails to register.
My Asterisk server sends:
From: "main" <sip:10@10.139.205.101>;tag=8005b703-201b-47e8-be88-03d7564a5ba8
To: "main" <sip:10@10.139.205.101>;tag=as3f952c47
...
WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="0074f5d0"
And Ring then sends:
From: "main" <sip:10@10.139.205.101>;tag=8005b703-201b-47e8-be88-03d7564a5ba8
To: "main" <sip:10@10.139.205.101>
...
Authorization: Digest , realm="asterisk", nonce="0074f5d0", uri="sip:10.139.205.101", response="631415fcf3715907a48f11fec1e6a880", algorithm=MD5
i.e. notice the space and comma after `Digest`
ring-daemon version 2018-07-07. Bug could be on upstream, for some reason username is not set on `pjsip/src/pjsip/sip_auth_client.c` when adding the Authorization header, [header printed here](https://github.com/asterisk/pjproject/blob/106ec876a371b57bb3db8231a55cb5f368e6266b/pjsip/src/pjsip/sip_auth_msg.c#L73).Next major releaseSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/377segfault during trust request during interactionStatusUpdated signal2020-06-09T18:27:46ZHugo Lefeuvresegfault during trust request during interactionStatusUpdated signalThe GNOME client crashes during `interactionStatusUpdated` signal (right after opening the trust requests tab).
ASan stacktrace:
```
registered name found for unknown account ""
ASAN:SIGSEGV
============================================...The GNOME client crashes during `interactionStatusUpdated` signal (right after opening the trust requests tab).
ASan stacktrace:
```
registered name found for unknown account ""
ASAN:SIGSEGV
=================================================================
==7770==ERROR: AddressSanitizer: SEGV on unknown address 0x61104d0000be (pc 0x7fc4a74991ee bp 0x7ffe14708940 sp 0x7ffe147080c8 T0)
#0 0x7fc4a74991ed (/lib/x86_64-linux-gnu/libc.so.6+0x16f1ed)
#1 0x7fc4aead774e in memcmp (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x7774e)
#2 0x4bb737 in std::char_traits<char>::compare(char const*, char const*, unsigned long) /usr/include/c++/5/bits/char_traits.h:262
#3 0x4d951a in __gnu_cxx::__enable_if<std::__is_char<char>::__value, bool>::__type std::operator==<char>(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&) /usr/include/c++/5/bits/basic_string.h:4914
#4 0x5ba700 in webkit_chat_container_ready(_ChatView*)::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, lrc::api::interaction::Info)#2}::operator()(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, lrc::api::interaction::Info) const (/usr/bin/gnome-ring+0x5ba700)
#5 0x5bd8b8 in call /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:495
#6 0x5bd48d in call<QtPrivate::List<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long unsigned int, const lrc::api::interaction::Info&>, void> /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:552
#7 0x5bd318 in impl /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h:192
#8 0x7fc4ac5b7bae in QMetaObject::activate(QObject*, int, int, void**) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2b4bae)
#9 0x7fc4ae6c593b in lrc::api::ConversationModel::interactionStatusUpdated(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, lrc::api::interaction::Info const&) const (/usr/lib/libringclient.so.1.0.0+0x27493b)
#10 0x7fc4ae6c9469 in lrc::api::ConversationModel::setInteractionRead(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long const&) (/usr/lib/libringclient.so.1.0.0+0x278469)
#11 0x5ba3a9 in print_text_recording /home/hlefeuvre/Development/ring-client-gnome/src/chatview.cpp:487
#12 0x5ba9a0 in webkit_chat_container_ready /home/hlefeuvre/Development/ring-client-gnome/src/chatview.cpp:512
#13 0x5bc6f8 in build_chat_view /home/hlefeuvre/Development/ring-client-gnome/src/chatview.cpp:682
#14 0x5bc8c9 in chat_view_new /home/hlefeuvre/Development/ring-client-gnome/src/chatview.cpp:697
#15 0x516060 in displayChatView /home/hlefeuvre/Development/ring-client-gnome/src/ringmainwindow.cpp:1233
#16 0x5157a0 in changeView /home/hlefeuvre/Development/ring-client-gnome/src/ringmainwindow.cpp:1177
#17 0x52001e in slotShowChatView /home/hlefeuvre/Development/ring-client-gnome/src/ringmainwindow.cpp:1931
#18 0x519835 in (anonymous namespace)::details::CppImpl::updateLrc(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&)::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, lrc::api::conversation::Info)#8}::operator()(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, lrc::api::conversation::Info) const (/usr/bin/gnome-ring+0x519835)
#19 0x528004 in call /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:495
#20 0x5276dc in call<QtPrivate::List<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const lrc::api::conversation::Info&>, void> /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:552
#21 0x526f9a in impl /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h:192
#22 0x7fc4ac5b7bae in QMetaObject::activate(QObject*, int, int, void**) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2b4bae)
#23 0x7fc4ae721df6 in lrc::api::BehaviorController::showChatView(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, lrc::api::conversation::Info const&) const (/usr/lib/libringclient.so.1.0.0+0x2d0df6)
#24 0x7fc4ae6c6d2c in lrc::api::ConversationModel::selectConversation(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const (/usr/lib/libringclient.so.1.0.0+0x275d2c)
#25 0x5cfaf1 in select_conversation /home/hlefeuvre/Development/ring-client-gnome/src/conversationsview.cpp:396
#26 0x7fc4acafa1d3 (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x101d3)
#27 0x7fc4acb149a5 in g_signal_emit_valist (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2a9a5)
#28 0x7fc4acb1508e in g_signal_emit (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2b08e)
#29 0x7fc4ade59fe3 (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0+0x337fe3)
#30 0x7fc4ade5cab3 (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0+0x33aab3)
#31 0x7fc4acafa1d3 (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x101d3)
#32 0x7fc4acb149a5 in g_signal_emit_valist (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2a9a5)
#33 0x7fc4acb1508e in g_signal_emit (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2b08e)
#34 0x7fc4ade76579 in gtk_widget_grab_focus (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0+0x354579)
#35 0x7fc4ade5225c (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0+0x33025c)
#36 0x7fc4add3552b (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0+0x21352b)
#37 0x7fc4acaf9efe in g_closure_invoke (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0xfefe)
#38 0x7fc4acb0c56d (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2256d)
#39 0x7fc4acb147f8 in g_signal_emit_valist (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2a7f8)
#40 0x7fc4acb1508e in g_signal_emit (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2b08e)
#41 0x7fc4ade772c9 in gtk_widget_child_focus (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0+0x3552c9)
#42 0x7fc4addb8bc7 (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0+0x296bc7)
#43 0x7fc4add3552b (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0+0x21352b)
#44 0x7fc4acaf9fa4 in g_closure_invoke (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0xffa4)
#45 0x7fc4acb0c56d (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2256d)
#46 0x7fc4acb147f8 in g_signal_emit_valist (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2a7f8)
#47 0x7fc4acb1508e in g_signal_emit (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2b08e)
#48 0x7fc4ade772c9 in gtk_widget_child_focus (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0+0x3552c9)
#49 0x7fc4add67755 (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0+0x245755)
#50 0x7fc4acaf9fa4 in g_closure_invoke (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0xffa4)
#51 0x7fc4acb0c56d (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2256d)
#52 0x7fc4acb14d5b in g_signal_emit_valist (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2ad5b)
#53 0x7fc4acb1508e in g_signal_emit (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2b08e)
#54 0x7fc4add624aa (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0+0x2404aa)
#55 0x7fc4add35099 (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0+0x213099)
#56 0x7fc4acafa1d3 (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x101d3)
#57 0x7fc4acb144b7 in g_signal_emit_valist (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2a4b7)
#58 0x7fc4acb1508e in g_signal_emit (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0+0x2b08e)
#59 0x7fc4ade72c3b (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0+0x350c3b)
#60 0x7fc4add323bd (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0+0x2103bd)
#61 0x7fc4add341bb in gtk_main_do_event (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0+0x2121bb)
#62 0x7fc4ad8a1d91 (/usr/lib/x86_64-linux-gnu/libgdk-3.so.0+0x5ad91)
#63 0x7fc4ac823196 in g_main_context_dispatch (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4a196)
#64 0x7fc4ac8233ef (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4a3ef)
#65 0x7fc4ac82349b in g_main_context_iteration (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4a49b)
#66 0x7fc4acdead7c in g_application_run (/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0+0xadd7c)
#67 0x4b6df4 in main /home/hlefeuvre/Development/ring-client-gnome/src/main.cpp:37
#68 0x7fc4a734a82f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)
#69 0x4b6a48 in _start (/usr/bin/gnome-ring+0x4b6a48)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV ??:0 ??
==7770==ABORTING
```Next major releasehttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/384Bad handling of URIs in smartlist2018-09-11T21:31:36ZHugo LefeuvreBad handling of URIs in smartlist**Affects**: latest LRC master
Any URI beginning with `ring:` is recognized as a valid RingID by the LRC. Some URIs beginning with `sip:` and followed by letters like `sip:pol` are recognized as valid RingID. This is a big bug.**Affects**: latest LRC master
Any URI beginning with `ring:` is recognized as a valid RingID by the LRC. Some URIs beginning with `sip:` and followed by letters like `sip:pol` are recognized as valid RingID. This is a big bug.Next major releaseHugo LefeuvreHugo Lefeuvrehttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/389Several issues in the new call model's state machine2018-09-20T14:07:01ZHugo LefeuvreSeveral issues in the new call model's state machineThe new call model's state machine suffers from multiple design issues:
* [x] State transitions are realized at multiple places. This makes handling of specific transitions in the state machine more complicated and leads to [terrific c...The new call model's state machine suffers from multiple design issues:
* [x] State transitions are realized at multiple places. This makes handling of specific transitions in the state machine more complicated and leads to [terrific code](https://git.ring.cx/savoirfairelinux/ring-lrc/blob/master/src/newcallmodel.cpp#L504).
* [x] `callStatusChanged` should never be emitted by `togglePause()`. Instead it should wait for feedback from the daemon.
* [x] `slotCallStateChanged` is handling conference state changes very badly. From the three possible conference states, only `HOLD` is handled properly. The rest is just considered to be an internal error....Next major releaseHugo LefeuvreHugo Lefeuvrehttps://git.jami.net/savoirfairelinux/jami-client-android/-/issues/511contacts can't be deleted2018-10-18T02:03:53ZRing Thingcontacts can't be deletedV 20180629 play
A 7.1.2
Installed, created an account without registering, and scanned a new contact, sent a message.
Deleting the conversation in the main view (long press) does not remove it.
After the attempt, the name of the conta...V 20180629 play
A 7.1.2
Installed, created an account without registering, and scanned a new contact, sent a message.
Deleting the conversation in the main view (long press) does not remove it.
After the attempt, the name of the contact is deleted, but the contact stays with only the ring:xyz... shown.
With the f-droid version, it even happens that contacts appear twice after attempting to delete.Next major releaseSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-client-gnome/-/issues/708Gnome client UI resets to main screen when account connection is re-established2018-07-17T16:43:36ZJami BotGnome client UI resets to main screen when account connection is re-establishedIssue generated from Tuleap's migration script.
**Originally submitted by: Maxim Cournoyer (mcournoyer)**
A detailed description of the bug. Use following fields for description field:
\* Environment:
Any recent Gnome client (ver...Issue generated from Tuleap's migration script.
**Originally submitted by: Maxim Cournoyer (mcournoyer)**
A detailed description of the bug. Use following fields for description field:
\* Environment:
Any recent Gnome client (version tested: built from sources as of 2018-02-08)
\* Reproduce steps:
1. Open the Gnome client.
2. Enter or create a new chat conversation.
3. Manually disconnect then connect again the network (use the Ethernet cable, the Wi-Fi killswitch, etc.)
4. Notice that when daemon notices about the disconnection, the client redraws its UI to show the main screen and the user is kicked out of its current conversation view.
\* Expected result:
The view should be maintained to the current conversation. If the network problem persists (after a threshold of say, 5 seconds), a visual hint should notify the user that there is currently no connectivity.
\* Actual result:
The user is disoriented/confused since the UI changes under their feet without any action on their part.Next major releaseHugo LefeuvreHugo Lefeuvrehttps://git.jami.net/savoirfairelinux/jami-project/-/issues/405Temporary IPv6 addresses can cause PJSIP to fail2018-07-18T20:10:58ZJami BotTemporary IPv6 addresses can cause PJSIP to failIssue generated from Tuleap's migration script.
**Originally submitted by: Maxim Cournoyer (mcournoyer)**
\* Environment:
This problem seems to affect mostly GNU/Linux and macOS systems configured to change their iPv6 address often, a...Issue generated from Tuleap's migration script.
**Originally submitted by: Maxim Cournoyer (mcournoyer)**
\* Environment:
This problem seems to affect mostly GNU/Linux and macOS systems configured to change their iPv6 address often, as a privacy measure. It would affect any platform that gathers a sufficient number of temporary IPv6 addresses.
\* Reproduce steps:
1. Register multiple IPv6 addresses:
A script used to generate those temporary IPv6 addresses can be found here: https://gitlab.savoirfairelinux.com/snippets/116
That script and the accompanying 'gen-random-ipv6.sh' should be placed in the same directory. The IFDEV and IPV6\_PREFIX should be adjusted to match your network device and IPv6 prefix, respectively. It is important that the IFDEV environment matches the \*currently\* used network interface if you have many, otherwise the problem will not be triggered.
Run the script like this: sudo ./add-ipv6-addresses.sh
2. Launch Ring and try to place a call.
\* Expected result:
The call should succeed.
\* Actual result (as seen in the daemon's debug output):
[1513801602.823|14926|ice\_transport.cpp :429 ] [ice:0x2fa48b0] initialization success
[1513801602.823|14926|ice\_transport.cpp :482 ] ICE as master
[1513801602.829|14926|ice\_transport.cpp :576 ] [ice:0x2fa48b0] (local) ufrag=2567c1bd, pwd=51e44a5d
[1513801602.829|12099|sipcall.cpp :776 ] [call:10040259774347710226] fill SDP with ICE transport 0x2d97040
dring: ../src/pjmedia/sdp.c:187: pjmedia\_sdp\_attr\_add: Assertion `\*count < (32\*2 + 4)' failed.
Abandon (core dumped)
A patch addressing the issue is in review here: https://gerrit-ring.savoirfairelinux.com/\#/c/8462/Next major releaseSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-client-gnome/-/issues/780Dates in contact list do not respect locale settings2018-08-10T18:19:04ZJami BotDates in contact list do not respect locale settingsIssue generated from Tuleap's migration script.
**Originally submitted by: Denis (sciamano)**
\* Environment:
actual package from the debian repository + ru\_RU | de\_DE | etc locale settings (i.e. any not en\_US locale) in the deskto...Issue generated from Tuleap's migration script.
**Originally submitted by: Denis (sciamano)**
\* Environment:
actual package from the debian repository + ru\_RU | de\_DE | etc locale settings (i.e. any not en\_US locale) in the desktop environment
\* Reproduce steps:
chat with a contact to get some history
\* Expected result:
in the contact list, the date of the last conversation have to be formatted according to the locale settings.
\* Actual result:
the date of the last conversation does not follow the locale setting and is shown in a hardcoded "MM/DD/YY" format. (see the red mark on the attached picture)
at the same time, the date format in the chat window is already correct and follows the locale (see the green marks)
![ring](/uploads/f11587d96754861e10f8f0b38957dabd/ring.png)Next major releaseSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-project/-/issues/452Linux Mint should be added to make-ring.py builder2018-07-16T18:56:07ZJami BotLinux Mint should be added to make-ring.py builderIssue generated from Tuleap's migration script.
**Originally submitted by: Jan (kromka_chleba)**
Linux Mint is popular GNU/Linux distro based on Ubuntu and Debian, so you can build Ring easily on it, by modifying make-ring.py file like ...Issue generated from Tuleap's migration script.
**Originally submitted by: Jan (kromka_chleba)**
Linux Mint is popular GNU/Linux distro based on Ubuntu and Debian, so you can build Ring easily on it, by modifying make-ring.py file like at attached picture. This should be default feature.Next major releaseHugo LefeuvreHugo Lefeuvrehttps://git.jami.net/savoirfairelinux/jami-project/-/issues/481packaging: backport Debian fixes to packaging subdir2018-07-31T14:34:02ZHugo Lefeuvrepackaging: backport Debian fixes to packaging subdirAlexandre Viau, Ring's Debian maintainer, has made some changes to Ring's Debian packaging and those did not get synced in the packaging subdir of ring-project. For example #479 is currently affecting all builds of our Debian packages.
...Alexandre Viau, Ring's Debian maintainer, has made some changes to Ring's Debian packaging and those did not get synced in the packaging subdir of ring-project. For example #479 is currently affecting all builds of our Debian packages.
**TODO**: update docker file at the same timeNext major releaseHugo LefeuvreHugo Lefeuvrehttps://git.jami.net/savoirfairelinux/jami-project/-/issues/482Ring PPA / Debian package: provide one-click-install2018-08-08T06:59:50ZHugo LefeuvreRing PPA / Debian package: provide one-click-installCurrently it is very difficult for non-power-users to get Ring automatically updated when using the Debian package from the website.
This is because configuring the PPA requires command line operations. We want everybody to be able to u...Currently it is very difficult for non-power-users to get Ring automatically updated when using the Debian package from the website.
This is because configuring the PPA requires command line operations. We want everybody to be able to use our GNU/Linux GNOME client.
**What we should do**: If the user decides to install ring.cx's Debian package (instead of the official Debian / Ubuntu package), then he should be able to do it within the space of just a few clicks. No command line stuff. If user agrees, the Debian package should set up the PPA and the GnuPG release key as well. This is important for security updates.
**Examples**: [Chrome](https://www.google.com/chrome/index.html), [Opera](https://www.opera.com/), [Steam](https://store.steampowered.com/linux)
**What we should keep in mind**:
1. Don't be intrusive. We should always ask the user before adding our key + repository to their trusted peers. This action should be explained in very simple yet meaningful words.
2. Keep it clean. There are many ways to do it, and most of them are ugly. We should follow https://wiki.debian.org/DebianRepository/UseThirdPartyNext major releaseHugo LefeuvreHugo Lefeuvrehttps://git.jami.net/savoirfairelinux/jami-client-gnome/-/issues/868Reworking notifications system2018-07-31T19:43:56ZSébastien BlinReworking notifications system`ringnotify` contains a lot of old code and don't use new LRC models for now. This needs some work to update this file.
For now, I see 3 types for notifications:
1. **Call notifications**, opened when an incoming call is here and close...`ringnotify` contains a lot of old code and don't use new LRC models for now. This needs some work to update this file.
For now, I see 3 types for notifications:
1. **Call notifications**, opened when an incoming call is here and closed at the end of the call.
2. **Request notifications**: opened when a new trust request arrives and closed when the user accepts/refuse/block or just open the conversation.
3. **Chat notifications**: arrives with new interactions and if the current conversation is different or the client not focused. Closed by Gnome or when the conversation is opened.
If the conversation is already activated but not used for x minutes, the notification should still popNext major releaseSébastien BlinSébastien Blin