jami-libclient issueshttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues2018-07-10T14:32:41Zhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/370Able to place calls with disabled account2018-07-10T14:32:41ZPhilippe GorleyAble to place calls with disabled accountSteps:
1. Create an account
2. Disable said account
3. Place a call
Expected result: No call is placed, get an error message
Actual result: Daemon prints "Account is not usable for calling", but client is searching for the peer.Steps:
1. Create an account
2. Disable said account
3. Place a call
Expected result: No call is placed, get an error message
Actual result: Daemon prints "Account is not usable for calling", but client is searching for the peer.Gnome 2018.07.15Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/369Save last used account2018-07-10T13:32:11ZSébastien BlinSave last used accountWhen we have multiple accounts, LRC keep always the same order for these accounts.
So if we want to use a lot the second account, each time we open Ring, we have to select the second account.
The daemon has the `setAccountsOrder` metho...When we have multiple accounts, LRC keep always the same order for these accounts.
So if we want to use a lot the second account, each time we open Ring, we have to select the second account.
The daemon has the `setAccountsOrder` method. New models should use this.Gnome 2018.07.15Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/367smartlist: not found displayed when already in contact list2018-07-10T13:32:40ZHugo Lefeuvresmartlist: not found displayed when already in contact list**How to reproduce:**
1. Search for one of your contacts
2. Wait 0-2s.
3. The smartlist contains both the contact and a "Not found" temporary item
**Expected:** Only contact is displayed.**How to reproduce:**
1. Search for one of your contacts
2. Wait 0-2s.
3. The smartlist contains both the contact and a "Not found" temporary item
**Expected:** Only contact is displayed.Gnome 2018.07.15Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/365smartlist: contact duplication issues with temporary item2018-07-10T14:34:28ZHugo Lefeuvresmartlist: contact duplication issues with temporary itemIf a contact has an alias without registering a username then searching for this contact using its ring ID breaks the temporary item in the smartlist.
**How to reproduce:**
1. Find a contact without registered name which has an alias
2...If a contact has an alias without registering a username then searching for this contact using its ring ID breaks the temporary item in the smartlist.
**How to reproduce:**
1. Find a contact without registered name which has an alias
2. Enter its ring ID in the search bar
3. Contact appears twice and the first entry can be added as a contact (although this contact *is already a contact*)
![dup1](/uploads/3bafaed66c26341f2a99781eb240ec59/dup1.png)
![dup2](/uploads/802651ce85a7fa59c2129cf443eb662c/dup2.png)
Obviously adding the first item as a contact breaks the smartlist and very strange things happen.Gnome 2018.07.15Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/363LRC build failure with Qt 5.11 / deprecated cmake functions2018-07-03T20:29:35ZSébastien BlinLRC build failure with Qt 5.11 / deprecated cmake functionsFrom **Baptiste Jonglez** https://tuleap.ring.cx/plugins/tracker/?aid=1887
Arch Linux recently updated to Qt 5.11, and it broke builds for LRC.
Here is the output of CMake:
```
-- The C compiler identification is GNU 8.1.1
-- The CXX ...From **Baptiste Jonglez** https://tuleap.ring.cx/plugins/tracker/?aid=1887
Arch Linux recently updated to Qt 5.11, and it broke builds for LRC.
Here is the output of CMake:
```
-- The C compiler identification is GNU 8.1.1
-- The CXX compiler identification is GNU 8.1.1
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found GCC version >= 4.8: 8.1.1
-- Ring daemon header is in /usr/include/dring
-- Ring library path is /usr/lib/libring.so
-- VIDEO enabled
-- Using Ring DBus-XML interfaces in /usr/share/dbus-1/interfaces
CMake Error at CMakeLists.txt:710 (QT5_USE_MODULES):
Unknown CMake command "QT5_USE_MODULES".
```
According to the doc https://doc.qt.io/qt-5/cmake-manual.html , QT5_USE_MODULES is deprecated, so it probably got removed in Qt 5.11. The doc also says that TARGET_LINK_LIBRARIES should be used instead:
qt5_use_modules(target [LINK_PUBLIC|LINK_PRIVATE] module ... ) Indicates that the target uses the named Qt 5 modules. The target will be linked to the specified modules, use the include directories installed by those modules, use the COMPILE_DEFINITIONS set by those modules, and use the COMPILE_FLAGS set by the modules. The LINK_PRIVATE or LINK_PUBLIC specifiers can optionally be specified. If LINK_PRIVATE is specified then the modules are not made part of the link interface of the target. See the documentation for target_link_libraries for more information.
Note that this macro is only available if using CMake 2.8.9 or later. This macro is obsolete. Use target_link_libraries with IMPORTED targets instead.Gnome 2018.07.15Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/409Remove contact requests for SIP accounts2019-05-06T19:52:45ZFrançois Naggar-TremblayRemove contact requests for SIP accountsIteration 6Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/407lrc: migrate database to new schema2019-09-12T13:33:42ZAdrien Béraudlrc: migrate database to new schemaIteration 15Andreas TraczykAndreas Traczykhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/414Can't search amarok@ns.jami.net2019-09-25T15:45:05ZSébastien BlinCan't search amarok@ns.jami.netIteration 16 (POC prep)Sébastien BlinSébastien Blinhttps://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/443Chatview: change the send message text edit placeholder2020-12-17T18:32:31ZAndreas TraczykChatview: change the send message text edit placeholderCurrently is: "Type a message"
Should be: "Write to {0}"Currently is: "Type a message"
Should be: "Write to {0}"Iteration 25Amin BandaliAmin Bandalihttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/441Crash in renderer (linux)2020-12-22T20:18:35ZSébastien BlinCrash in renderer (linux)```
Thread 1 "jami-gnome" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50 ../sysdeps/unix/sysv/linux/raise.c: Aucun fichier ou dossier de ce type.
(gdb) bt
#0 __GI_raise (sig=si...```
Thread 1 "jami-gnome" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50 ../sysdeps/unix/sysv/linux/raise.c: Aucun fichier ou dossier de ce type.
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007ffff2fc6859 in __GI_abort () at abort.c:79
#2 0x00007ffff6b53aad in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3 0x00007ffff6b542aa in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4 0x00007ffff7f1adf0 in lrc::RendererPimpl::~RendererPimpl()
(this=0x55559f789b60, __in_chrg=<optimized out>) at /usr/include/c++/9/bits/unique_ptr.h:75
#5 0x00007ffff7f1af6d in lrc::RendererPimpl::~RendererPimpl()
(this=0x55559f789b60, __in_chrg=<optimized out>)
at /home/sblin/ring-project/lrc/src/newvideo.cpp:235
#6 0x00007ffff7f1a83a in std::default_delete<lrc::RendererPimpl>::operator()(lrc::RendererPimpl*) const (this=0x7fffc0006820, __ptr=<optimized out>) at /usr/include/c++/9/bits/unique_ptr.h:75
#7 std::unique_ptr<lrc::RendererPimpl, std::default_delete<lrc::RendererPimpl> >::~unique_ptr()
(this=0x7fffc0006820, __in_chrg=<optimized out>) at /usr/include/c++/9/bits/unique_ptr.h:292
#8 lrc::api::video::Renderer::~Renderer() (this=0x7fffc0006810, __in_chrg=<optimized out>)
at /home/sblin/ring-project/lrc/src/newvideo.cpp:88
#9 0x00007ffff7f1a85d in lrc::api::video::Renderer::~Renderer()
(this=0x7fffc0006810, __in_chrg=<optimized out>)
at /home/sblin/ring-project/lrc/src/newvideo.cpp:88
#10 0x00007ffff7f37eef in std::default_delete<lrc::api::video::Renderer>::operator()(lrc::api::video::Renderer*) const (this=0x55559f755c38, __ptr=<optimized out>)
at /usr/include/c++/9/bits/unique_ptr.h:75
#11 std::unique_ptr<lrc::api::video::Renderer, std::default_delete<lrc::api::video::Renderer> >::~unique_ptr() (this=0x55559f755c38, __in_chrg=<optimized out>)
at /usr/include/c++/9/bits/unique_ptr.h:292
#12 std::pair<QString const, std::unique_ptr<lrc::api::video::Renderer, std::default_delete<lrc::api::video::Renderer> > >::~pair() (this=0x55559f755c30, __in_chrg=<optimized out>)
at /usr/include/c++/9/bits/stl_pair.h:208
#13 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<QString const, std::unique_ptr<lrc::api::video::Renderer, std::default_delete<lrc::api::video::Renderer> > > > >::destroy<std::pair<QString const, std::unique_ptr<lrc::api::video::Renderer, std::default_delete<lrc::api::video::Renderer> > > >(std::pair<QString const, std::unique_ptr<lrc::api::video::Renderer, std::default_delete<lrc::api::video::Renderer> > >*) (this=0x55555699ae08, __p=0x55559f755c30)
at /usr/include/c++/9/ext/new_allocator.h:153
#14 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<QString const, std::unique_ptr<lrc::api::video::Renderer, std::default_delete<lrc::api::video::Renderer> > > > > >::destroy<std::pair<QString const, std::unique_ptr<lrc::api::video::Renderer, std::default_delete<lrc::api::video::Renderer> > > >(std::allocator<std::_Rb_tree_node<std::pair<QString const, std::unique_ptr<lrc::api::video::Renderer, std::default_delete<lrc::api::video::Renderer> > > > >&, std::pair<QString const, std::unique_ptr<lrc::api::video::Renderer, std::default_delete<lrc::api::video::Renderer> > >*)
(__a=..., __p=0x55559f755c30) at /usr/include/c++/9/bits/alloc_traits.h:497
#15 std::_Rb_tree<QString, std::pair<QString const, std::unique_ptr<lrc::api::video::Renderer, std::default_delete<lrc::api::video::Renderer> > >, std::_Select1st<std::pair<QString const, std::unique_ptr<lrc::api::video::Renderer, std::default_delete<lrc::api::video::Renderer> > > >, std::less<QString>, std::allocator<std::pair<QString const, std::unique_ptr<lrc::api::video::Renderer, std::default_delete<lrc::api::video::Renderer> > > > >::_M_destroy_node(std::_Rb_tree_node<std::pair<QString const, std::unique_ptr<lrc::api::video::Renderer, std::default_delete<lrc::api::video::Renderer> > > >*)
(this=0x55555699ae08, __p=0x55559f755c10) at /usr/include/c++/9/bits/stl_tree.h:642
#16 std::_Rb_tree<QString, std::pair<QString const, std::unique_ptr<lrc::api::video::Renderer, std::default_delete<lrc::api::video::Renderer> > >, std::_Select1st<std::pair<QString const, std::unique_ptr<lrc::api::video::Renderer, std::default_delete<lrc::api::video::Renderer> > > >, std::less<QString>, std::allocator<std::pair<QString const, std::unique_ptr<lrc::api::video::Renderer, std::default_delete<lrc::api::video::Renderer> > > > >::_M_drop_node(std::_Rb_tree_node<std::pair<QString const, std::unique_ptr<lrc::api::video::Renderer, std::default_delete<lrc::api::video::Renderer> > > >*)
--Type <RET> for more, q to quit, c to continue without paging--
(this=0x55555699ae08, __p=0x55559f755c10) at /usr/include/c++/9/bits/stl_tree.h:650
#17 std::_Rb_tree<QString, std::pair<QString const, std::unique_ptr<lrc::api::video::Renderer, std::default_delete<lrc::api::video::Renderer> > >, std::_Select1st<std::pair<QString const, std::unique_ptr<lrc::api::video::Renderer, std::default_delete<lrc::api::video::Renderer> > > >, std::less<QString>, std::allocator<std::pair<QString const, std::unique_ptr<lrc::api::video::Renderer, std::default_delete<lrc::api::video::Renderer> > > > >::_M_erase_aux(std::_Rb_tree_const_iterator<std::pair<QString const, std::unique_ptr<lrc::api::video::Renderer, std::default_delete<lrc::api::video::Renderer> > > >) (__position=..., this=0x55555699ae08) at /usr/include/c++/9/bits/stl_tree.h:2511
#18 std::_Rb_tree<QString, std::pair<QString const, std::unique_ptr<lrc::api::video::Renderer, std::default_delete<lrc::api::video::Renderer> > >, std::_Select1st<std::pair<QString const, std::unique_ptr<lrc::api::video::Renderer, std::default_delete<lrc::api::video::Renderer> > > >, std::less<QString>, std::allocator<std::pair<QString const, std::unique_ptr<lrc::api::video::Renderer, std::default_delete<lrc::api::video::Renderer> > > > >::_M_erase_aux(std::_Rb_tree_const_iterator<std::pair<QString const, std::unique_ptr<lrc::api::video::Renderer, std::default_delete<lrc::api::video::Renderer> > > >, std::_Rb_tree_const_iterator<std::pair<QString const, std::unique_ptr<lrc::api::video::Renderer, std::default_delete<lrc::api::video::Renderer> > > >)Python Exception <class 'AttributeError'> 'NoneType' object has no attribute 'pointer':
Python Exception <class 'AttributeError'> 'NoneType' object has no attribute 'pointer':
(__last=..., __first=..., this=0x55555699ae08)
at /usr/include/c++/9/bits/stl_tree.h:2525
#19 std::_Rb_tree<QString, std::pair<QString const, std::unique_ptr<lrc::api::video::Renderer, std::default_delete<lrc::api::video::Renderer> > >, std::_Select1st<std::pair<QString const, std::unique_ptr<lrc::api::video::Renderer, std::default_delete<lrc::api::video::Renderer> > > >, std::less<QString>, std::allocator<std::pair<QString const, std::unique_ptr<lrc::api::video::Renderer, std::default_delete<lrc::api::video::Renderer> > > > >::erase(QString const&)
(this=this@entry=0x55555699ae08, __x=...) at /usr/include/c++/9/bits/stl_tree.h:2536
#20 0x00007ffff7f2ff93 in std::map<QString, std::unique_ptr<lrc::api::video::Renderer, std::default_delete<lrc::api::video::Renderer> >, std::less<QString>, std::allocator<std::pair<QString const, std::unique_ptr<lrc::api::video::Renderer, std::default_delete<lrc::api::video::Renderer> > > > >::erase(QString const&) (__x=..., this=0x55555699ae08) at /usr/include/c++/9/bits/stl_map.h:1067
#21 lrc::AVModelPimpl::slotCallStateChanged(QString const&, QString const&, int)
(this=0x55555699adc0, id=..., state=..., code=<optimized out>)
at /home/sblin/ring-project/lrc/src/avmodel.cpp:832
#22 0x00007ffff6d80458 in QMetaObject::activate(QObject*, int, int, void**) ()
at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#23 0x00007ffff7e747ff in lrc::CallbacksHandler::callStateChanged(QString const&, QString const&, int) (this=<optimized out>, _t1=..., _t2=..., _t3=<optimized out>)
at /home/sblin/ring-project/lrc/build-local/ringclient_autogen/UVLADIE3JM/moc_callbackshandler.cpp:865
#24 0x00007ffff6d80d5a in QObject::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#25 0x00007ffff6d54917 in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#26 0x00007ffff6d575b8 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) ()
at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#27 0x00007ffff6dacf67 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#28 0x00007ffff7068fbd in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#29 0x00007ffff7069240 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007ffff70692e3 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007ffff7282fd5 in g_application_run () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#32 0x00005555555c7852 in main(int, char**) (argc=1, argv=0x7fffffffdd88)
at /home/sblin/ring-project/client-gnome/src/main.cpp:38
```Iteration 25Andreas TraczykAndreas Traczykhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/455Plugin system: automatic load plugin after installation2021-06-15T15:13:27ZAline Gondim SantosPlugin system: automatic load plugin after installationIteration 27Aline Gondim SantosAline Gondim Santoshttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/501addSwarmConversation incorrect mode2023-05-05T19:36:45ZSébastien BlinaddSwarmConversation incorrect mode`conversation::to_mode(details["mode"].toInt());` does an assumption from the daemon which is not true.
A mode is unknown when syncing, it will be ok after conversationReady`conversation::to_mode(details["mode"].toInt());` does an assumption from the daemon which is not true.
A mode is unknown when syncing, it will be ok after conversationReadyBackloghttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/487addSwarmConversation incorrect mode2021-12-29T17:12:40ZSébastien BlinaddSwarmConversation incorrect mode`conversation::to_mode(details["mode"].toInt());` does an assumption from the daemon which is not true.
A mode is unknown when syncing, it will be ok after conversationReady`conversation::to_mode(details["mode"].toInt());` does an assumption from the daemon which is not true.
A mode is unknown when syncing, it will be ok after conversationReadyBackloghttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/482add participant to conference: search is case sensitive2021-07-16T19:57:36ZGuillaume Helleradd participant to conference: search is case sensitive![Capture_d_écran_du_2021-05-20_11-23-00](/uploads/0a90e0c2b1510b9b5bc6a5c04cd2ba47/Capture_d_écran_du_2021-05-20_11-23-00.png)
![Capture_d_écran_du_2021-05-20_11-23-19](/uploads/12d8796b6ba5452539489d702ed249c2/Capture_d_écran_du_2021-0...![Capture_d_écran_du_2021-05-20_11-23-00](/uploads/0a90e0c2b1510b9b5bc6a5c04cd2ba47/Capture_d_écran_du_2021-05-20_11-23-00.png)
![Capture_d_écran_du_2021-05-20_11-23-19](/uploads/12d8796b6ba5452539489d702ed249c2/Capture_d_écran_du_2021-05-20_11-23-19.png)
the filter should case insensitiveBackloghttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/478Video Split: create participantsmodel per call2022-09-26T17:35:44ZAline Gondim SantosVideo Split: create participantsmodel per callBackloghttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/465plugins: set handlers activation order api2023-05-05T19:37:23ZAline Gondim Santosplugins: set handlers activation order apiThere may be API changes allowing UI to change handlers activation order.There may be API changes allowing UI to change handlers activation order.BacklogAline Gondim SantosAline Gondim Santoshttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/463Swarm: add support for re-asking file transfer2021-06-12T11:37:52ZSébastien BlinSwarm: add support for re-asking file transferSwarm-chathttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/459Swarm:Compat with Non-Swarm clients, remove swarm must remove messages2021-02-19T15:41:23ZSébastien BlinSwarm:Compat with Non-Swarm clients, remove swarm must remove messages# Scenario
+ Alice (client-qt, swarm) adds Bob (non-swarm client)
+ Alice will create a swarm that should be shown
+ Bob accepts the invite
+ Because Bob is a non-swarm compatible member, the swarm is deleted, but contact still present
...# Scenario
+ Alice (client-qt, swarm) adds Bob (non-swarm client)
+ Alice will create a swarm that should be shown
+ Bob accepts the invite
+ Because Bob is a non-swarm compatible member, the swarm is deleted, but contact still present
# Current result
When conversation is removed, old messages are still there.
# Expected
Messages from swarm should be deletedSwarm-chatKateryna KostiukKateryna Kostiuk2021-03-03https://git.jami.net/savoirfairelinux/jami-libclient/-/issues/454Swarm: Process while adding a contact2021-01-19T23:47:33ZSébastien BlinSwarm: Process while adding a contactTest all scenarios for adding a contact
Current bug:
+ Add a contact
+ Send a message => will send to DHT, need to reload Jami in order to send messages
this phase need a lot of testsTest all scenarios for adding a contact
Current bug:
+ Add a contact
+ Send a message => will send to DHT, need to reload Jami in order to send messages
this phase need a lot of testsSwarm-chatKateryna KostiukAlbert Babí OllerKateryna Kostiuk