savoirfairelinux issueshttps://git.jami.net/groups/savoirfairelinux/-/issues2023-05-05T19:54:40Zhttps://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/301Settings: labels MUST NOT be cut (no ellipsis)2023-05-05T19:54:40ZSébastien BlinSettings: labels MUST NOT be cut (no ellipsis)+ Open settings with any DPI
+ Some buttons/labels got ellipsis (…) characters
Labels & buttons must never be cut. Here, we cannot know the full option.+ Open settings with any DPI
+ Some buttons/labels got ellipsis (…) characters
Labels & buttons must never be cut. Here, we cannot know the full option.Backloghttps://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/300Swarm: Remove SIP contact => crash2021-03-26T18:57:25ZSébastien BlinSwarm: Remove SIP contact => crash```
#0 0x00007fffee236d74 in QVariant::QVariant(QString const&) () at /lib64/libQt5Core.so.5
#1 0x000000000044aee2 in SmartListModel::getConversationItemData(lrc::api::conversation::Info const&, lrc::api::account::Info const&, int) con...```
#0 0x00007fffee236d74 in QVariant::QVariant(QString const&) () at /lib64/libQt5Core.so.5
#1 0x000000000044aee2 in SmartListModel::getConversationItemData(lrc::api::conversation::Info const&, lrc::api::account::Info const&, int) const ()
#2 0x0000000000449db0 in SmartListModel::data(QModelIndex const&, int) const ()
#3 0x00007fffef187acd in QQmlDMAbstractItemModelData::value(int) const () at /lib64/libQt5QmlModels.so.5
#4 0x00007fffef181f54 in QQmlDMCachedModelData::metaCall(QMetaObject::Call, int, void**) () at /lib64/libQt5QmlModels.so.5
#5 0x00007fffee8789a6 in loadProperty(QV4::ExecutionEngine*, QObject*, QQmlPropertyData const&) () at /lib64/libQt5Qml.so.5
#6 0x00007fffee879b17 in QV4::QObjectWrapper::getQmlProperty(QV4::ExecutionEngine*, QQmlContextData*, QObject*, QV4::String*, QV4::QObjectWrapper::RevisionMode, bool*, QQmlPropertyData**) () at /lib64/libQt5Qml.so.5
#7 0x00007fffee85f664 in QV4::QQmlContextWrapper::lookupInParentContextHierarchy(QV4::Lookup*, QV4::ExecutionEngine*, QV4::Value*) () at /lib64/libQt5Qml.so.5
```
# Scenario
+ Sip account add a contact
+ Right click
+ remove contactSwarm-chatAlbert Babí OllerAlbert Babí Ollerhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/448[To test]Swarm: weird clone failure on sync2021-03-02T15:48:36ZSébastien Blin[To test]Swarm: weird clone failure on sync```
gheller@pc-gheller:~/.local/share/jami/457c1d61f7710c64/conversations/7ac13b2d77f9ed337618db340a9d1cb0f9f2a2cd$ git log
commit 401c9afc98aa2d4deebe6b989749169c96c6e0e1 (HEAD -> main, origin/main, origin/HEAD)
Author: 698fe6e10ae1f472...```
gheller@pc-gheller:~/.local/share/jami/457c1d61f7710c64/conversations/7ac13b2d77f9ed337618db340a9d1cb0f9f2a2cd$ git log
commit 401c9afc98aa2d4deebe6b989749169c96c6e0e1 (HEAD -> main, origin/main, origin/HEAD)
Author: 698fe6e10ae1f4722dabe32ad5e885a464085db5 <698fe6e10ae1f4722dabe32ad5e885a464085db5>
Date: Thu Feb 18 21:12:42 2021 +0000
{"body":"\u2728","type":"text/plain"}
commit 92092c07f827171c289e60a44e9bf7e7c93242b9
Author: 7c38177a10d618bc30f93f0284d82d6ef246c459 <7c38177a10d618bc30f93f0284d82d6ef246c459>
Date: Thu Feb 18 21:11:59 2021 +0000
{"displayName":"img_20210218_161153_411016185718028660.jpg","sha3sum":"b7d5c6e752a4b29537dae244f429f38446ab4f2d34b09ed477a9428dcad9e8bf4decc5213d409d0b140d95d5a58517b718f56c6ed0691cdcc4e32b01b18f5d8a","tid":"8783314023060598","totalSize":"5024115","type":"application/data-transfer+json"}
commit 9687b46bee5159e19690ea7b7db07533fc5a9c57
Author: 7c38177a10d618bc30f93f0284d82d6ef246c459 <7c38177a10d618bc30f93f0284d82d6ef246c459>
Date: Thu Feb 18 21:11:42 2021 +0000
{"body":"Non je re\u00e7ois que sur Android","type":"text/plain"}
error: Could not read 095ced7a8debd31058c1dc68099809b64a9fb5bf
fatal: Failed to traverse parents of commit b6f09dc7e13f3c791b7e226890717100af38a282
```Swarm-chatSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/446Recorder: concat recording if for same call but with switch inputs?2023-03-23T15:27:00ZSébastien BlinRecorder: concat recording if for same call but with switch inputs?# Scenario
+ Alice starts to record a call
+ Alice switch her input
+ Alice stop the record
# Current result
+ 2 recording are saved
# Expected
+ Only one recording with both video mixed?# Scenario
+ Alice starts to record a call
+ Alice switch her input
+ Alice stop the record
# Current result
+ 2 recording are saved
# Expected
+ Only one recording with both video mixed?BacklogAline Gondim SantosAline Gondim Santoshttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/444ASAN crash in video pipeline2021-07-09T20:48:25ZSébastien BlinASAN crash in video pipelinevia irc
```
[1613570498.245|27869|manager.cpp :1683 ] [call:4730700885720014] Remove local audio
[1613570498.246|27869|ringbufferpool.cpp:263 ] Unbind call 4730700885720014 from all bound calls
[1613570498.246|27869|audiostream.c...via irc
```
[1613570498.245|27869|manager.cpp :1683 ] [call:4730700885720014] Remove local audio
[1613570498.246|27869|ringbufferpool.cpp:263 ] Unbind call 4730700885720014 from all bound calls
[1613570498.246|27869|audiostream.cpp :147 ] Destroying stream with device alsa_output.pci-0000_00_1b.0.analog-stereo.echo-cancel
[1613570498.246|27869|sipcall.cpp :444 ] [call:4730700885720014] Terminate SIP session
[1613570498.251|27869|sip_utils.cpp :210 ] Add header to SIP message: "User-Agent: Jami Daemon 9.9.0 (linux)"
[1613570498.254|27869|sipcall.cpp :1298 ] [call:4730700885720014] stopping all medias
AddressSanitizer:DEADLYSIGNAL
=================================================================
==27869==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000038 (pc 0x5644c790eadf bp 0x7fffa6e501f0 sp 0x7fffa6e50170 T0)
==27869==The signal is caused by a READ memory access.
==27869==Hint: address points to the zero page.
Dropped 54 packets with high delay
Dropped 28 packets with high delay
Dropped 62 packets with high delay
[1613570514.887|27870|upnp_context.cpp :506 ] Protocol status [PUPNP] has valid IGD(s) YES
[1613570514.889|27870|upnp_context.cpp :541 ] Mapping status [TCP] - overall 4: 4 open (4 ready + 0 in use), 0 pending, 0 in-progress, 0 failed
[1613570514.891|27870|upnp_context.cpp :541 ] Mapping status [UDP] - overall 9: 9 open (8 ready + 1 in use), 0 pending, 0 in-progress, 0 failed
#0 0x5644c790eade in jami::MediaDecoder::getStream(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) const daemon/src/media/media_decoder.cpp:731
#1 0x5644c7ae1eaf in jami::video::VideoReceiveThread::getInfo() const daemon/src/media/video/video_receive_thread.cpp:265
#2 0x5644c7a1cd82 in jami::video::VideoRtpSession::deinitRecorder(std::shared_ptr<jami::MediaRecorder>&) daemon/src/media/video/video_rtp_session.cpp:672
#3 0x5644c78d036f in jami::SIPCall::stopAllMedia() daemon/src/sip/sipcall.cpp:1300
#4 0x5644c78d05fb in jami::SIPCall::hangup(int) daemon/src/sip/sipcall.cpp:564
#5 0x5644c78678d5 in jami::Manager::hangupCall(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) daemon/src/manager.cpp:1063
#6 0x5644c7825d57 in DBusCallManager::hangUp(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) daemon/bin/dbus/dbuscallmanager.cpp:56
#7 0x5644c7825d57 in cx::ring::Ring::CallManager_adaptor::_hangUp_stub(DBus::CallMessage const&) daemon/bin/dbus/dbuscallmanager.adaptor.h:863
#8 0x5644c7822ada in DBus::Callback<cx::ring::Ring::CallManager_adaptor, DBus::Message, DBus::CallMessage const&>::call(DBus::CallMessage const&) const daemon/contrib/x86_64-linux-gnu/include/dbus-c++-1/dbus-c++/util.h:283
#9 0x5644c7847274 in DBus::Slot<DBus::Message, DBus::CallMessage const&>::call(DBus::CallMessage const&) const ../include/dbus-c++/util.h:252
#10 0x5644c7847274 in DBus::InterfaceAdaptor::dispatch_method(DBus::CallMessage const&) daemon/contrib/native/dbus-cpp/src/interface.cpp:64
#11 0x5644c784ee04 in DBus::ObjectAdaptor::handle_message(DBus::Message const&) daemon/contrib/native/dbus-cpp/src/object.cpp:220
#12 0x5644c784c6e5 in DBus::ObjectAdaptor::Private::message_function_stub(DBusConnection*, DBusMessage*, void*) daemon/contrib/native/dbus-cpp/src/object.cpp:92
#13 0x7fbac08b4bac (/lib/x86_64-linux-gnu/libdbus-1.so.3+0x26bac)
#14 0x7fbac08a5713 in dbus_connection_dispatch (/lib/x86_64-linux-gnu/libdbus-1.so.3+0x17713)
#15 0x5644c7842aaf in DBus::Connection::Private::do_dispatch() daemon/contrib/native/dbus-cpp/src/connection.cpp:132
#16 0x5644c7844b59 in DBus::Dispatcher::dispatch_pending(std::__cxx11::list<DBus::Connection::Private*, std::allocator<DBus::Connection::Private*> >&) daemon/contrib/native/dbus-cpp/src/dispatcher.cpp:236
#17 0x5644c7844c5c in DBus::Dispatcher::dispatch_pending() daemon/contrib/native/dbus-cpp/src/dispatcher.cpp:198
#18 0x5644c784612e in DBus::BusDispatcher::do_iteration() daemon/contrib/native/dbus-cpp/src/eventloop-integration.cpp:147
#19 0x5644c784612e in DBus::BusDispatcher::enter() daemon/contrib/native/dbus-cpp/src/eventloop-integration.cpp:99
#20 0x5644c77f9c8e in DBusClient::event_loop() daemon/bin/dbus/dbusclient.cpp:272
#21 0x5644c77ec76e in main daemon/bin/main.cpp:222
#22 0x7fbabf28c09a in __libc_start_main ../csu/libc-start.c:308
#23 0x5644c77f9479 (/usr/lib/ring/dring+0x158479)
```Backloghttps://git.jami.net/savoirfairelinux/jami-project/-/issues/1185Swarm: UI decide for how syncing is shown while accepting swarm2021-03-05T14:24:49ZSébastien BlinSwarm: UI decide for how syncing is shown while accepting swarmSwarm-chathttps://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/294Rendez-vous account problems2021-07-12T14:02:54ZMing Rui ZhangRendez-vous account problems1. incoming call type is DIALOG
2. will not show video/conference layout sometimes1. incoming call type is DIALOG
2. will not show video/conference layout sometimesBackloghttps://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/293Swarm: composing status changes broken2021-02-18T15:24:02ZSébastien BlinSwarm: composing status changes broken# Scenario
+ Alice (Android) Bob (client-qt) both support swarm
+ Bob starts composing
# Expected
Alice(android) should see a composing status changed
# Current result
Bob seems to send an incorrect status changes (cf if <conversat...# Scenario
+ Alice (Android) Bob (client-qt) both support swarm
+ Bob starts composing
# Expected
Alice(android) should see a composing status changed
# Current result
Bob seems to send an incorrect status changes (cf if <conversation> is in getMessageDisplayed() (daemon side). the client should send a composing status with "to = swarm:uri"Swarm-chatAlbert Babí OllerKateryna KostiukAlbert Babí Oller2021-03-03https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/292Swarm: Compat with old clients broken for calls, file transfer & composing st...2021-02-18T15:24:03ZSébastien BlinSwarm: Compat with old clients broken for calls, file transfer & composing statusSwarm-chatAlbert Babí OllerAlbert Babí Oller2021-03-03https://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-client-ios/-/issues/118Conference: Implement conference layout2021-12-29T19:09:39ZSébastien BlinConference: Implement conference layoutBackloghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/439Conference: Show remote recording indication for non-host in a conference2021-12-29T19:11:48ZSébastien BlinConference: Show remote recording indication for non-host in a conference# Scenario
+ Start a conf A(host),B,C
+ B start to record
# Current result
only A,B have the remote recording indication
# Expected
C show the remote recording# Scenario
+ Start a conf A(host),B,C
+ B start to record
# Current result
only A,B have the remote recording indication
# Expected
C show the remote recordingBackloghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/437[To test]Swarm: Still some "could not fetch commit..."2021-03-02T15:48:33ZSébastien Blin[To test]Swarm: Still some "could not fetch commit..."Sometimes, when android sends a message, the message is not received by the other peer, with "could not fetch commit..". This needs some investigation. all messages should pass directlySometimes, when android sends a message, the message is not received by the other peer, with "could not fetch commit..". This needs some investigation. all messages should pass directlySwarm-chatSébastien BlinSébastien Blin2021-03-03https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/291Swarm: Compat with Non-Swarm clients, messages kept?2021-02-17T16:02:35ZSébastien BlinSwarm: Compat with Non-Swarm clients, messages kept?# 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-chatAlbert Babí OllerAlbert Babí Oller2021-03-03https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/286read reciepts2021-11-26T22:02:54ZNick Econopoulyread recieptsI apologize if I missed this setting. The Android app has a setting to enable/disable sending and receiving read receipts, but I could not find the setting in the QT client.I apologize if I missed this setting. The Android app has a setting to enable/disable sending and receiving read receipts, but I could not find the setting in the QT client.Backloghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/434UPNP/NAT-PMP - Enable NAT-PMP on Android2023-09-29T09:59:34ZMohamed ChibaniUPNP/NAT-PMP - Enable NAT-PMP on AndroidBackloghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/432UPNP/ICE/TCP - ICE/TCP connection using relay should be reset if a UPNP/NAT-P...2021-12-29T19:21:54ZMohamed ChibaniUPNP/ICE/TCP - ICE/TCP connection using relay should be reset if a UPNP/NAT-PMP is availableBackloghttps://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/282OpenGL Video PipeLine2022-03-23T22:13:17ZMing Rui ZhangOpenGL Video PipeLinehttps://review.jami.net/c/jami-client-qt/+/16795
Currently, on client-qt, we are using converting the AvFrame data to QImages and draw the QImages in the Qml layer,
but this will increase the memory usage and CPU usage comparing with u...https://review.jami.net/c/jami-client-qt/+/16795
Currently, on client-qt, we are using converting the AvFrame data to QImages and draw the QImages in the Qml layer,
but this will increase the memory usage and CPU usage comparing with using only the AvFrame raw data,
so the plan is to use OpenGL API (or OpenGL Qt API wrapper) to do the raw data drawing by using shaders and textures.
(Qml layer is based on OpenGL 2.0, so we have to use their wrapper to be able to interact with the rendering event oop)
Generally, from what I've found, there are three ways to do that
- QSGNode* updatePaintNode(QSGNode* old, UpdatePaintNodeData*) -> Patchset: 13
- QQuickWindow::afterRendering -> Patchset:14
- QQuickFramebufferObject -> Patchset: 16 and on
The first two methods could support protocols other than OpenGL ```(possible but not tested)```. \
But, you have to manage the viewport itself, since the gl context is the whole window by default instead of individual QQuickItem.\
(Not sure if this will be fixed on Qt 6.0 -> https://wiki.qt.io/New_Features_in_Qt_6.0)
The third one does not have the viewport problem, but it will only support OpenGL.
```
https://doc.qt.io/qt-5/qquickframebufferobject-renderer.html#render
https://doc.qt.io/qt-5/qquickframebufferobject.html#details
```
For now, we will integrate the QQuickFramebufferObject approach.BacklogMing Rui ZhangMing Rui Zhanghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/430macOs/Daemon - Account can not re-register to DHT using the same port2021-12-29T20:34:12ZSébastien BlinmacOs/Daemon - Account can not re-register to DHT using the same portOn macOs, registering the account to the DHT sometimes fail with "Address already in use".
The client/system seems to fail to close the DHT socket, or does not close it fast enough.On macOs, registering the account to the DHT sometimes fail with "Address already in use".
The client/system seems to fail to close the DHT socket, or does not close it fast enough.Backloghttps://git.jami.net/savoirfairelinux/jami-client-ios/-/issues/114Custom OpenDHT bootstrap server2021-12-29T20:34:51ZArtemy GavrelyukCustom OpenDHT bootstrap serverI haven't find an option to use a custom OpenDHT bootstrap server. Seems like it's absent like a custom TURN-server (#60). It could be great to have both of them. In my case it could help to investigate huge lags in message delivery.I haven't find an option to use a custom OpenDHT bootstrap server. Seems like it's absent like a custom TURN-server (#60). It could be great to have both of them. In my case it could help to investigate huge lags in message delivery.Backlog