jami-libclient issueshttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues2018-07-03T20:29:35Zhttps://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/362SIP: relink to blind and save transfer2018-06-11T23:12:16ZSébastien BlinSIP: relink to blind and save transferWe need to be able to transfer SIP calls.We need to be able to transfer SIP calls.SIP support - first iterationSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/361Tests: fix tests for SIP account + add tests for transfer call2021-07-09T17:49:11ZSébastien BlinTests: fix tests for SIP account + add tests for transfer callAll is in the title. Depend on #357All is in the title. Depend on #357https://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/358Remove unused models from clients2019-07-26T21:25:11ZSébastien BlinRemove unused models from clientsWhen #356 will be implemented in all clients.When #356 will be implemented in all clients.Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/356Add settings model2018-07-16T21:20:12ZSébastien BlinAdd settings modelTo save account details.To save account details.Andreas TraczykAndreas Traczykhttps://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/354Singletons are not safe in LRC2018-05-25T13:38:10ZJami BotSingletons are not safe in LRCIssue generated from Tuleap's migration script.
**Originally submitted by: Guillaume Roguez (guillaume)**
LRC uses massively Singletons with an implementation based on class global static member (a pointer).
The first initialization i...Issue generated from Tuleap's migration script.
**Originally submitted by: Guillaume Roguez (guillaume)**
LRC uses massively Singletons with an implementation based on class global static member (a pointer).
The first initialization is done by checking the value of the static member, set to nullptr during compilation unit initialization.
This implementation is not thread-safe and hides loop-dependency between classes.
I propose to use C++11 safe way by using local static initialization inside a static method of the class (i.e. instance()).
This is known as "Construct Members On First Use Idiom"Guillaume RoguezGuillaume Roguezhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/353lrc uses DBus as namespace2018-05-25T13:38:05ZJami Botlrc uses DBus as namespaceIssue generated from Tuleap's migration script.
**Originally submitted by: Alexandre Lision (alision)**
This is confusing when developping on Windows or Mac since we do not use DBus.
It's an implementation detail and should be used as...Issue generated from Tuleap's migration script.
**Originally submitted by: Alexandre Lision (alision)**
This is confusing when developping on Windows or Mac since we do not use DBus.
It's an implementation detail and should be used as a generic namespacehttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/352Fix unattended transfer2018-05-25T13:37:56ZJami BotFix unattended transferIssue generated from Tuleap's migration script.
**Originally submitted by: Alexandre Lision (alision)**
When making an unattended transfer, the peer that got transfered does not see the new call, although it's properly handled in the da...Issue generated from Tuleap's migration script.
**Originally submitted by: Alexandre Lision (alision)**
When making an unattended transfer, the peer that got transfered does not see the new call, although it's properly handled in the daemon.
After some investigation I found out that when the peer receive a transfer request (refer\_to field in invite), the daemon creates a new outgoing call, and hang up the previous one (as explained here: http://www.in2eps.com/fo-sip/tk-fo-sip-service-04.html).
Problem is, daemon doesn't warns that it is doing that, therefore clients can't handle this new outgoing call.
The next thing emitted by the daemon about that call is a state changed to CONNECTING. But LRC has no knowledge of this call, and rejects it.
We need to agree on what daemon should emit:
- a simple call state change, and LRC will handle the unknown call. But in this case, we should remove the incomingCall signal and replace it by a call state change as well.
- create a new signal just as incomingCall (or reuse the NewCallCreated signal)Guillaume RoguezGuillaume Roguezhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/351setting history limit to 0 does not prevent history from being saved2018-05-25T13:37:45ZJami Botsetting history limit to 0 does not prevent history from being savedIssue generated from Tuleap's migration script.
**Originally submitted by: Stepan Salenikovich (ssalenik)**
Setting the history limit to (via LRC which modifies dring.yml) does not prevent history from being saved in the history.ini fil...Issue generated from Tuleap's migration script.
**Originally submitted by: Stepan Salenikovich (ssalenik)**
Setting the history limit to (via LRC which modifies dring.yml) does not prevent history from being saved in the history.ini file, nor in LRC as is the expected bahaviour.
Also, having to set the history limit to 0 to disable it is a bit confusing since that could also be interpreted as no limit.
Some users may want to be able to disable their history or limit it... this functionality should be tested to see if it actually works...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/349Share context menus between clients2018-05-25T13:37:22ZJami BotShare context menus between clientsIssue generated from Tuleap's migration script.
**Originally submitted by: Emmanuel Lepage Vallee (elv13)**
This issue track the advancment of the shared context menu implementation designed and discussed in May. The implementation was ...Issue generated from Tuleap's migration script.
**Originally submitted by: Emmanuel Lepage Vallee (elv13)**
This issue track the advancment of the shared context menu implementation designed and discussed in May. The implementation was done in spare time by Stepan and me since May.
\* Create the UserActionModel (done, May)
\* Define a set of actions for each assets (done, May)
\* Allow to define context for assets (done, June)
\* Abstract access to assets across all models (done, August)
\* Port the UserActionModel to the unified asset access (done, October)
\* Move action code from clients into LRC (WIP)
\* Add a platform specific extension interface (Unstarted)
\* Support tree based actions (Unstarted)
\* Support multi selection actions like join calls (WIP, postponed)
\* Integration into all clients (Unstarted)https://git.jami.net/savoirfairelinux/jami-libclient/-/issues/348DHT unattended transfer crash2018-05-25T13:37:17ZJami BotDHT unattended transfer crashIssue generated from Tuleap's migration script.
**Originally submitted by: Edric Milaret (edric)**
LRC is asserting on creation of transfer callIssue generated from Tuleap's migration script.
**Originally submitted by: Edric Milaret (edric)**
LRC is asserting on creation of transfer callhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/347[LRC] Implement DecorationRole for all relevant objects roleData()2018-05-25T13:37:11ZJami Bot[LRC] Implement DecorationRole for all relevant objects roleData()Issue generated from Tuleap's migration script.
**Originally submitted by: Emmanuel Lepage Vallee (elv13)**
Currently,some models have DecorationRole (icons), but some others need to dereference the object and play with the pixmapmanipu...Issue generated from Tuleap's migration script.
**Originally submitted by: Emmanuel Lepage Vallee (elv13)**
Currently,some models have DecorationRole (icons), but some others need to dereference the object and play with the pixmapmanipulationinterface to get them.
While dealing with icons is tricky because the actual icon "object" is dependant on the GUI toolkit (GDK pixmaps or Cairo surfaces for GTK, QIcon for Qt, etc), the API should at least be consistent on how this is handled. For now, there is no coherent way for "dumb" model bindings to display icons.
For the KDE and Windows client, Qt5 offer the QIconEngine() class that allow to create resolution independant icons.
The reason why this wasn't done sooner was the lack of "proper" research on how to handle resolution independence. After further investigation, it is not really an issue at all and can totally be implemented.https://git.jami.net/savoirfairelinux/jami-libclient/-/issues/346[LRC] Some variants of history sorting are broken2018-05-25T13:37:07ZJami Bot[LRC] Some variants of history sorting are brokenIssue generated from Tuleap's migration script.
**Originally submitted by: Emmanuel Lepage Vallee (elv13)**
Many categories that should be sorted by integer IDs are sorted by their string representation
One of the bug was "always" ...Issue generated from Tuleap's migration script.
**Originally submitted by: Emmanuel Lepage Vallee (elv13)**
Many categories that should be sorted by integer IDs are sorted by their string representation
One of the bug was "always" there while the other one was introduced in the history model rewrite earlier this yearhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/345[LRC] Add finer date and time related roles to calls2018-05-25T13:37:02ZJami Bot[LRC] Add finer date and time related roles to callsIssue generated from Tuleap's migration script.
**Originally submitted by: Emmanuel Lepage Vallee (elv13)**
I made a new proxy model that deduplicate/merge QModelIndex when a role is identical. So I used the displayname, but for categor...Issue generated from Tuleap's migration script.
**Originally submitted by: Emmanuel Lepage Vallee (elv13)**
I made a new proxy model that deduplicate/merge QModelIndex when a role is identical. So I used the displayname, but for categories like "last year", it is strange to see 2 calls from 2 different months being merged. So I need to add a second role for "do not merge if the day is different" but LRC have no such role
I also noticed formattedDate could be better cached as it is called quite a lot be the viewhttps://git.jami.net/savoirfairelinux/jami-libclient/-/issues/344LRC: Add more metadata to text recordings2018-05-25T13:36:57ZJami BotLRC: Add more metadata to text recordingsIssue generated from Tuleap's migration script.
**Originally submitted by: Emmanuel Lepage Vallee (elv13)**
With the increased use of text messaging (not with offline one), manipulating TextRecording object is now more and more common. ...Issue generated from Tuleap's migration script.
**Originally submitted by: Emmanuel Lepage Vallee (elv13)**
With the increased use of text messaging (not with offline one), manipulating TextRecording object is now more and more common. Such new features need easy access to various metadata collected by the recording, but not currently easily exposed. The most pressing one is knowing if the recording contains relevant payloads. Some TextRecording may only contain "invisible" MIME payloads. In those case, raising the text widget and sending notifications is only spamming the user.https://git.jami.net/savoirfairelinux/jami-libclient/-/issues/343[lrc] ability of translation missing in `Call::formattedName()`2018-05-25T13:36:52ZJami Bot[lrc] ability of translation missing in `Call::formattedName()`Issue generated from Tuleap's migration script.
**Originally submitted by: Nicolas Jager (nicolasjager-sfl)**
"error" is returned by `Call::formattedName()` without `tr()`Issue generated from Tuleap's migration script.
**Originally submitted by: Nicolas Jager (nicolasjager-sfl)**
"error" is returned by `Call::formattedName()` without `tr()`https://git.jami.net/savoirfairelinux/jami-libclient/-/issues/342lrc: issue during the saving of a new account2018-05-25T13:36:46ZJami Botlrc: issue during the saving of a new accountIssue generated from Tuleap's migration script.
**Originally submitted by: Stepan Salenikovich (ssalenik)**
From: https://gerrit-ring.savoirfairelinux.com/\#/c/3342/2
\* The username field of new RING account wasn't fully validated...Issue generated from Tuleap's migration script.
**Originally submitted by: Stepan Salenikovich (ssalenik)**
From: https://gerrit-ring.savoirfairelinux.com/\#/c/3342/2
\* The username field of new RING account wasn't fully validated
\* id() was called before the account is saved, this is invalid
\* The codec model, when saved, set the account back into modified state
There is still some issues to be solved in the future:
\* Saving codecs and credentials before the account id is set wont work
\* The daemon certificate API need an account, it doesn't exist until the account is saved, causing no certificates to be saved
\* The profiles is saved too early and have an empty account ID, this cause an orphan account on the next start