jami-libclient issueshttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues2019-11-09T08:26:39Zhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/417A long text shifts GUI elements2019-11-09T08:26:39ZannaA long text shifts GUI elements![Screenshot](/uploads/ca3e12e7e963066209580098ae627a1d/Screenshot.png)![Screenshot](/uploads/ca3e12e7e963066209580098ae627a1d/Screenshot.png)Yang WangYang Wanghttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/415Add chatview common code and include it in the client2019-11-21T04:49:13ZSébastien BlinAdd chatview common code and include it in the clientYang WangYang Wanghttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/298Call Switching control2019-11-21T04:51:29ZJami BotCall Switching controlIssue generated from Tuleap's migration script.
**Originally submitted by: Olivier SOLDANO (osoldano)**
The new LRC api provides no control on simultaneous concurrent calls.
Let's illustrate this: when in call, receiving another call...Issue generated from Tuleap's migration script.
**Originally submitted by: Olivier SOLDANO (osoldano)**
The new LRC api provides no control on simultaneous concurrent calls.
Let's illustrate this: when in call, receiving another call triggers a signal that allows to display a new incoming call view. However when refusing or ending the second call there is no exposition of the other calls still active, and this is problematic in a multi-account context.
LRC should expose at least an account based active calls registry; this approach makes the most sense to me, in the current state of the api (one call model per account).Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/371segfault during call hangup2019-11-21T04:52:15ZHugo Lefeuvresegfault during call hangup**Affects**: latest LRC/GNOME client master
My GNU/Linux GNOME client crashed (segfault) during a call hangup.
**ASan stacktrace**:
```
(gnome-ring:3643): Gtk-WARNING **: Theme parsing error: <data>:1:652: Missing name of pseudo-class
...**Affects**: latest LRC/GNOME client master
My GNU/Linux GNOME client crashed (segfault) during a call hangup.
**ASan stacktrace**:
```
(gnome-ring:3643): Gtk-WARNING **: Theme parsing error: <data>:1:652: Missing name of pseudo-class
** (gnome-ring:3643): DEBUG: call has status Talking, hiding
** (gnome-ring:3643): DEBUG: call has status Talking, hiding
** (gnome-ring:3643): DEBUG: call has status Talking, hiding
slotCallStateChanged, call: 10000172967648819012 - state: FAILURE
slotCallStateChanged, call: 10000172967648819012 - state: OVER
Call State Changed for call "10000172967648819012" . New state : "FAILURE"
Call found Call(0x603000d50850) "Ringing"
State changing from "Ringing" to "Failed" on Call(0x603000d50850)
Starting call. callId : Call(0x603000d50850) ConfId: Call(0x603000d50850)
QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.
Calling stateChanged "FAILURE" -> 6 on call with state "Ringing" . Become "Failed"
Call State Changed for call "10000172967648819012" . New state : "OVER"
Call found Call(0x603000d50850) "Failed"
Origin and destination states are identical "Failed" "Failed" doing nothing Call(0x603000d50850)
Calling stateChanged "OVER" -> 7 on call with state "Failed" . Become "Failed"
Call State Changed for call "13304699374124811861" . New state : "CONNECTING"
slotCallStateChanged, call: 379597161990976675 - state: HUNGUP
ASAN:SIGSEGV
=================================================================
==3643==ERROR: AddressSanitizer: SEGV on unknown address 0x61105200008a (pc 0x7ff4518ac1ee bp 0x7ffeeb261610 sp 0x7ffeeb260d98 T0)
#0 0x7ff4518ac1ed (/lib/x86_64-linux-gnu/libc.so.6+0x16f1ed)
#1 0x7ff45960f74e in memcmp (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x7774e)
#2 0x4ba225 in std::char_traits<char>::compare(char const*, char const*, unsigned long) /usr/include/c++/5/bits/char_traits.h:262
#3 0x4d825e 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 0x5ad60c 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+0x5ad60c)
#5 0x5b07ae in call /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:495
#6 0x5b0383 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 0x5b020e in impl /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h:192
#8 0x7ff4569cabae in QMetaObject::activate(QObject*, int, int, void**) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2b4bae)
#9 0x7ff458f6eaf8 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 /home/hlefeuvre/Development/ring-lrc/build/api/moc_conversationmodel.cpp:238
#10 0x7ff458f66c10 in lrc::ConversationModelPimpl::addOrUpdateCallMessage(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/hlefeuvre/Development/ring-lrc/src/conversationmodel.cpp:1544
#11 0x7ff458f65ecf in lrc::ConversationModelPimpl::slotCallEnded(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/hlefeuvre/Development/ring-lrc/src/conversationmodel.cpp:1494
#12 0x7ff458f92849 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, void, void (lrc::ConversationModelPimpl::*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)>::call(void (lrc::ConversationModelPimpl::*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), lrc::ConversationModelPimpl*, void**) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:501
#13 0x7ff458f8d6b4 in void QtPrivate::FunctionPointer<void (lrc::ConversationModelPimpl::*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)>::call<QtPrivate::List<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, void>(void (lrc::ConversationModelPimpl::*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), lrc::ConversationModelPimpl*, void**) (/usr/lib/libringclient.so.1.0.0+0x7296b4)
#14 0x7ff458f87046 in QtPrivate::QSlotObject<void (lrc::ConversationModelPimpl::*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), QtPrivate::List<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h:143
#15 0x7ff4569cabae in QMetaObject::activate(QObject*, int, int, void**) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2b4bae)
#16 0x7ff458f3e121 in lrc::api::NewCallModel::callEnded(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const /home/hlefeuvre/Development/ring-lrc/build/api/moc_newcallmodel.cpp:198
#17 0x7ff458f3c060 in lrc::NewCallModelPimpl::slotCallStateChanged(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&, int) /home/hlefeuvre/Development/ring-lrc/src/newcallmodel.cpp:422
#18 0x7ff458f4742d in QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1, 2>, QtPrivate::List<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&, int>, void, void (lrc::NewCallModelPimpl::*)(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&, int)>::call(void (lrc::NewCallModelPimpl::*)(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&, int), lrc::NewCallModelPimpl*, void**) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:501
#19 0x7ff458f45eda in void QtPrivate::FunctionPointer<void (lrc::NewCallModelPimpl::*)(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&, int)>::call<QtPrivate::List<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&, int>, void>(void (lrc::NewCallModelPimpl::*)(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&, int), lrc::NewCallModelPimpl*, void**) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:520
#20 0x7ff458f43e0e in QtPrivate::QSlotObject<void (lrc::NewCallModelPimpl::*)(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&, int), QtPrivate::List<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&, int>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h:143
#21 0x7ff4569cabae in QMetaObject::activate(QObject*, int, int, void**) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2b4bae)
#22 0x7ff4590e1231 in lrc::CallbacksHandler::callStateChanged(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&, int) /home/hlefeuvre/Development/ring-lrc/build/moc_callbackshandler.cpp:618
#23 0x7ff459018cf4 in lrc::CallbacksHandler::slotCallStateChanged(QString const&, QString const&, int) /home/hlefeuvre/Development/ring-lrc/src/callbackshandler.cpp:232
#24 0x7ff4590214c5 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1, 2>, QtPrivate::List<QString const&, QString const&, int>, void, void (lrc::CallbacksHandler::*)(QString const&, QString const&, int)>::call(void (lrc::CallbacksHandler::*)(QString const&, QString const&, int), lrc::CallbacksHandler*, void**) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:501
#25 0x7ff45901f58f in void QtPrivate::FunctionPointer<void (lrc::CallbacksHandler::*)(QString const&, QString const&, int)>::call<QtPrivate::List<QString const&, QString const&, int>, void>(void (lrc::CallbacksHandler::*)(QString const&, QString const&, int), lrc::CallbacksHandler*, void**) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:520
#26 0x7ff45901e5ea in QtPrivate::QSlotObject<void (lrc::CallbacksHandler::*)(QString const&, QString const&, int), QtPrivate::List<QString const&, QString const&, int>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h:143
#27 0x7ff4569cabae in QMetaObject::activate(QObject*, int, int, void**) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2b4bae)
#28 0x7ff4590bfac9 in CallManagerInterface::callStateChanged(QString const&, QString const&, int) /home/hlefeuvre/Development/ring-lrc/build/callmanager_dbus_interface.moc:656
#29 0x7ff4590bb3ee in CallManagerInterface::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) /home/hlefeuvre/Development/ring-lrc/build/callmanager_dbus_interface.moc:332
#30 0x7ff4590bf6ef in CallManagerInterface::qt_metacall(QMetaObject::Call, int, void**) /home/hlefeuvre/Development/ring-lrc/build/callmanager_dbus_interface.moc:628
#31 0x7ff45a69c912 (/usr/lib/x86_64-linux-gnu/libQt5DBus.so.5+0x20912)
#32 0x7ff4569cbc00 in QObject::event(QEvent*) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2b5c00)
#33 0x7ff45699c36b in QCoreApplication::notifyInternal(QObject*, QEvent*) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x28636b)
#34 0x7ff45699e785 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x288785)
#35 0x7ff4569f23c2 (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2dc3c2)
#36 0x7ff456c36196 in g_main_context_dispatch (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4a196)
#37 0x7ff456c363ef (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4a3ef)
#38 0x7ff456c3649b in g_main_context_iteration (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4a49b)
#39 0x7ff4571fdd7c in g_application_run (/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0+0xadd7c)
#40 0x4b5414 in main /home/hlefeuvre/Development/ring-client-gnome/src/main.cpp:37
#41 0x7ff45175d82f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)
#42 0x4b5068 in _start (/usr/bin/gnome-ring+0x4b5068)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV ??:0 ??
==3643==ABORTING
```https://git.jami.net/savoirfairelinux/jami-libclient/-/issues/399Document how LRC is structured.2019-11-21T04:53:12ZSébastien BlinDocument how LRC is structured.In https://git.ring.cx/savoirfairelinux/ring-project/wikis/homeIn https://git.ring.cx/savoirfairelinux/ring-project/wikis/homeNew media APISébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/403Data path is hard-coded to 'ring' on macOS and Windows2019-11-21T04:53:25ZAndreas TraczykData path is hard-coded to 'ring' on macOS and WindowsCommit 08df7d4 hard-codes the data path as QStandardPaths::GenericDataLocation + 'ring/'
which yields:
- %appdata%/ring on Windows
- ~/Library/Application Support/ring on macOS
This is a temporary hack to retain the data location durin...Commit 08df7d4 hard-codes the data path as QStandardPaths::GenericDataLocation + 'ring/'
which yields:
- %appdata%/ring on Windows
- ~/Library/Application Support/ring on macOS
This is a temporary hack to retain the data location during the Jami re-branding process.
These paths should use QStandardPaths::DataLocation which uses the name of the application.https://git.jami.net/savoirfairelinux/jami-libclient/-/issues/418Migrate VideoManager::switchInput to CallManager::switchInput()2019-11-21T04:55:50ZSébastien BlinMigrate VideoManager::switchInput to CallManager::switchInput()https://git.jami.net/savoirfairelinux/jami-libclient/-/issues/406Switch input when entering and exiting media settings during a call2019-11-21T04:56:15ZPhilippe GorleySwitch input when entering and exiting media settings during a callSteps to reproduce:
1. Enter a call
2. Go to media settings view (there's a SIP negotiation here)
3. Go back to the call view
Expected result: call continues as normal.
Result: SIP negotiation to '', so camera is turned off.Steps to reproduce:
1. Enter a call
2. Go to media settings view (there's a SIP negotiation here)
3. Go back to the call view
Expected result: call continues as normal.
Result: SIP negotiation to '', so camera is turned off.https://git.jami.net/savoirfairelinux/jami-libclient/-/issues/420[intercom] Jami built on 2019-11-09 02:50:12/03:09:57 UTC regression on seco...2020-03-15T08:53:48Zovari[intercom] Jami built on 2019-11-09 02:50:12/03:09:57 UTC regression on second computerUpdated Jami to Jami built on 2019-11-09 03:09:57 UTC on the first computer. Then updated Jami to Jami built on 2019-11-09 03:09:57 UTC on the second computer. The bugs on the second computer are:
1. Shows `O` when it should show `Ó`
2....Updated Jami to Jami built on 2019-11-09 03:09:57 UTC on the first computer. Then updated Jami to Jami built on 2019-11-09 03:09:57 UTC on the second computer. The bugs on the second computer are:
1. Shows `O` when it should show `Ó`
2. Shows `ovari` when it should show **`Óvári`** (in bold) and on the next line `ovari` (not in bold)
3. Shows `d96fc73...` when it should show `ovari`
4. Shows `d96fc73...` when it should show `ovari`
![image from second computer](/uploads/ab41d30116e4a7a9443ed0537fef1304/image.png)
@sblin is this a regression introduced with Jami built on 2019-11-09 03:09:57 UTC?
Thank you
Linux Mint 19.2 Cinnamon 64-bit<br>
Jami built on 2019-11-09 03:09:57 UTChttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/428[SIGABRT] QFontDatabase: Must construct a QGuiApplication before accessing QF...2020-04-14T19:35:59ZPrzemo Firszt[SIGABRT] QFontDatabase: Must construct a QGuiApplication before accessing QFontDatabaseSystem fedora 31, installation from repo:
`sudo dnf config-manager --add-repo https://dl.jami.net/nightly/fedora_31/ring-nightly.repo &&
sudo dnf install jami`
When trying to call a contact I consistently get SIGABRT. More info attache...System fedora 31, installation from repo:
`sudo dnf config-manager --add-repo https://dl.jami.net/nightly/fedora_31/ring-nightly.repo &&
sudo dnf install jami`
When trying to call a contact I consistently get SIGABRT. More info attached.[info.log](/uploads/47f3275d05eddadd1886c0313d5ee832/info.log)https://git.jami.net/savoirfairelinux/jami-libclient/-/issues/350Add dialpad access2020-05-29T22:30:32ZJami BotAdd dialpad accessIssue generated from Tuleap's migration script.
**Originally submitted by: Alexandre Lision (alision)**
Multiple users have contacted us asking for a dialpad.
This is used with a SIP client when calling automated services, or compo...Issue generated from Tuleap's migration script.
**Originally submitted by: Alexandre Lision (alision)**
Multiple users have contacted us asking for a dialpad.
This is used with a SIP client when calling automated services, or composing extensions.
Gnome provides support for that, allowing to send DTMF during a call by typing on the keyboard but it's not easily discoverable.
Brief analysis:
- sending DTMF is already implemented in Daemon and LRC.
- Therefore the work will be in clients, providing a button popping a dialdap.
- Dialpad could be in a separate small window (like Skype does)
- Stepan mentions a bug with SIP DTMF that may require some investigationhttps://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/359Remove Qt2020-06-26T20:17:53ZSébastien BlinRemove QtLRC should uses the standard lib, not Qt.LRC should uses the standard lib, not Qt.https://git.jami.net/savoirfairelinux/jami-libclient/-/issues/431crash on startup2020-06-29T15:07:23ZAdrien Béraudcrash on startupIteration 18Kateryna KostiukKateryna Kostiukhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/432Video not freezing if call is on hold2020-08-22T11:16:44ZAline Gondim SantosVideo not freezing if call is on holdIf there's a call between A and B and A receives/does another call to C, B continues to see A's image. The video is not freezing.If there's a call between A and B and A receives/does another call to C, B continues to see A's image. The video is not freezing.Itération 21https://git.jami.net/savoirfairelinux/jami-libclient/-/issues/425Typing indicator support2020-09-18T15:26:31ZSébastien BlinTyping indicator supportDaemon 7.9.0 supports typing indicators with direct p2p connections, so now, clients can show "... is typing..." and this should be implementedDaemon 7.9.0 supports typing indicators with direct p2p connections, so now, clients can show "... is typing..." and this should be implementedhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/355[META] Migrate to new LRC2020-09-18T15:26:42ZSébastien Blin[META] Migrate to new LRC+ [x] Add settings model #356
+ [ ] Make unit tests independent from each others #357
+ [x] Remove unused models from clients #358
+ [x] Remove Qt #359
+ [x] Migrate Media to new LRC #394
+ [ ] History settings
+ [ ] Notifications+ [x] Add settings model #356
+ [ ] Make unit tests independent from each others #357
+ [x] Remove unused models from clients #358
+ [x] Remove Qt #359
+ [x] Migrate Media to new LRC #394
+ [ ] History settings
+ [ ] Notificationshttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/435Chatview: Ctrl + click on hyperlink will crash the client2020-09-30T16:34:23ZAndreas TraczykChatview: Ctrl + click on hyperlink will crash the clientMing Rui ZhangMing Rui Zhanghttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/436Create an account should set username as alias by default (shouldn't be empty)2020-10-01T20:04:47ZSébastien BlinCreate an account should set username as alias by default (shouldn't be empty)Itération 21Ming Rui ZhangMing Rui Zhanghttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/416Composers of all clients should support Markdown2020-10-09T21:03:15ZannaComposers of all clients should support MarkdownUsers who might not be familiar with Markdown formatting can be introduced to the use of Markdown through contextual formatting options.
For inspiration, a report on the path Matrix took with Riot to realize this: https://blog.riot.im/r...Users who might not be familiar with Markdown formatting can be introduced to the use of Markdown through contextual formatting options.
For inspiration, a report on the path Matrix took with Riot to realize this: https://blog.riot.im/riot-web-1-5/
Their new Markdown capable composer is called CIDER.