savoirfairelinux issueshttps://git.jami.net/groups/savoirfairelinux/-/issues2023-12-27T18:07:03Zhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/237Use acceleration for recording2023-12-27T18:07:03ZPierre LespagnolUse acceleration for recordinghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/557Fuzzing SIP over TLS2023-12-27T18:02:51ZSébastien BlinFuzzing SIP over TLS# Fuzzing SIP over TLS
Currently, I've made a lexer for SIP communication that allows one to construct an object and to manipulate a SIP message.
### Scenarios
#### Shuffle randomly the SIP message
This results in the call been hang ...# Fuzzing SIP over TLS
Currently, I've made a lexer for SIP communication that allows one to construct an object and to manipulate a SIP message.
### Scenarios
#### Shuffle randomly the SIP message
This results in the call been hang after some delay. We probably want to generate random fields instead.
#### Keep changing the SIP version
Version is changed randomly between SIP/1.0 and SIP/2.0.
#### TODO - Change the status code
### Bad SDP body
If the body content of a SDP request is invalid, an assertion failed. The null pointer seems to not be a problem because it's checked, however the caller should probably not call the function in the first place. Will investigate further.
In sdp.cpp:
```c++
583 assert(remoteSession_);
```
```
#0 0x00007ffff39fdd22 in raise () at /usr/lib/libc.so.6
#1 0x00007ffff39e7862 in abort () at /usr/lib/libc.so.6
#2 0x00007ffff39e7747 in _nl_load_domain.cold () at /usr/lib/libc.so.6
#3 0x00007ffff39f6616 in () at /usr/lib/libc.so.6
#4 0x000055555a84fa0e in jami::Sdp::processIncomingOffer(std::vector<jami::MediaAttribute, std::allocator<jami::MediaAttribute> > const&) (this=0x6110015f0080, mediaList=std::vector of length 1, capacity 1 = {...}) at sdp.cpp:583
#5 0x0000555559bc894e in jami::transaction_request_cb(pjsip_rx_data*) (rdata=0x625007721b08) at sipvoiplink.cpp:451
#6 0x000055555aeaf623 in pjsip_endpt_process_rx_data ()
#7 0x000055555aeaf856 in endpt_on_rx_msg ()
#8 0x000055555aeb685e in pjsip_tpmgr_receive_packet ()
#9 0x000055555a079ce0 in jami::tls::ChanneledSIPTransport::handleEvents() (this=0x625007721900) at /usr/include/c++/11.1.0/bits/channeled_transport.cpp:237
#10 0x000055555a070967 in operator()() const (__closure=0x603002aed2b0) at /usr/include/c++/11.1.0/bits/channeled_transport.cpp:150
#11 0x000055555a0809bd in std::__invoke_impl<void, jami::tls::ChanneledSIPTransport::ChanneledSIPTransport(pjsip_endpoint*, int, const std::shared_ptr<jami::ChannelSocket>&, const jami::IpAddr&, const jami::IpAddr&, jami::onShutdownCb&&)::<lambda(const uint8_t*, size_t)>::<lambda()>&>(std::__invoke_other, struct {...} &) (__f=...) at /usr/include/c++/11.1.0/bits/invoke.h:61
#12 0x000055555a07ea22 in std::__invoke_r<void, jami::tls::ChanneledSIPTransport::ChanneledSIPTransport(pjsip_endpoint*, int, const std::shared_ptr<jami::ChannelSocket>&, const jami::IpAddr&, const jami::IpAddr&, jami::onShutdownCb&&)::<lambda(const uint8_t*, size_t)>::<lambda()>&>(struct {...} &) (__fn=...) at /usr/include/c++/11.1.0/bits/invoke.h:111
#13 0x000055555a07d701 in std::_Function_handler<void(), jami::tls::ChanneledSIPTransport::ChanneledSIPTransport(pjsip_endpoint*, int, const std::shared_ptr<jami::ChannelSocket>&, const jami::IpAddr&, const jami::IpAddr&, jami::onShutdownCb&&)::<lambda(const uint8_t*, size_t)>::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/include/c++/11.1.0/bits/std_function.h:291
#14 0x00005555596e546d in std::function<void ()>::operator()() const (this=0x603002aed2b0) at /usr/include/c++/11.1.0/bits/std_function.h:560
#15 0x0000555559a89730 in jami::ScheduledExecutor::loop() (this=0x625007723e10) at scheduled_executor.cpp:137
#16 0x0000555559a85e1e in operator()() const (__closure=0x603000073a88) at scheduled_executor.cpp:32
#17 0x0000555559a8f8be in std::__invoke_impl<void, jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> >(std::__invoke_other, struct {...} &&) (__f=...) at /usr/include/c++/11.1.0/bits/invoke.h:61
#18 0x0000555559a8f779 in std::__invoke<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> >(struct {...} &&) (__fn=...) at /usr/include/c++/11.1.0/bits/invoke.h:96
#19 0x0000555559a8f64e in std::thread::_Invoker<std::tuple<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > >::_M_invoke<0>(std::_Index_tuple<0>) (this=0x603000073a88) at /usr/include/c++/11.1.0/bits/std_thread.h:253
#20 0x0000555559a8f584 in std::thread::_Invoker<std::tuple<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > >::operator()(void) (this=0x603000073a88) at /usr/include/c++/11.1.0/bits/std_thread.h:260
#21 0x0000555559a8f53c in std::thread::_State_impl<std::thread::_Invoker<std::tuple<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > > >::_M_run(void) (this=0x603000073a80) at /usr/include/c++/11.1.0/bits/std_thread.h:211
#22 0x00007ffff47333c4 in std::execute_native_thread_routine(void*) (__p=0x603000073a80) at /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:82
#23 0x00007ffff667a259 in start_thread () at /usr/lib/libpthread.so.0
#24 0x00007ffff3abf5e3 in clone () at /usr/lib/libc.so.6
```
#### Payload attack (SDP Huge value of Content-Length)
Alice duplicates the body of its SDP request N times. N grows at a rate of 2^M.
After some threshold, connection between peer can not be establish if iniated from Alice. Bob can still call Alice.
### Payload attack (SIP MESSAGE)
Alice spam bob with very huge message text.
The TLS connections seems to stop working and Bob receive the message text (short version) over the DHt instead.
### Sending none supported content-type (text/html, text/javascript, etc.)
The content-type is simply ignored. Call can be made.
#### TODO - Sending SIP request over none SIP channel (can be applied to other protocols as well)BacklogOlivier DionOlivier Dionhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/849Discarding message from invalid peer certificate2023-12-27T18:02:22ZPierre NicolasDiscarding message from invalid peer certificate## Describe your environment
- Device model: <br>
1. Device A : Samsung SM-T720, Android 11 API 30, Master (3f87565cc46ca68a6c9c38154d09416f30c766a0)<br>
2. Device B : Ubuntu 22.04.2 LTS, Ubuntu Software v202304121408
...## Describe your environment
- Device model: <br>
1. Device A : Samsung SM-T720, Android 11 API 30, Master (3f87565cc46ca68a6c9c38154d09416f30c766a0)<br>
2. Device B : Ubuntu 22.04.2 LTS, Ubuntu Software v202304121408
## Steps to reproduce
- Can you reproduce the bug: at will
- Steps:
1. Create new account with device B
2. Quickly send friend invite to device A (if I wait like 30s I don't have the bug anymore)
- Actual result: Device A doesnt receive the friend invite. I get some logs telling it didnt work.
## Additional information
![Kazam_screencast_00004](/uploads/bce944097ec419cd2b8293d38f43b098/Kazam_screencast_00004.webm)
![device-2023-05-01-114418](/uploads/1f9a46a02f0386a9528a96f2e778b1a4/device-2023-05-01-114418.mp4)
```
2023-05-01 11:43:33.145 22549-22746 libjami cx.ring W [1682955813.145|22746|account_manager.cpp :337 ] Found invalid peer device: 89879ec18abb54e187cb34bbab78cec3d76929dc15017499bcdb5316f5e581a0
2023-05-01 11:43:33.146 22549-22746 libjami cx.ring W [1682955813.146|22746|account_manager.cpp :385 ] [Auth] Discarding message from invalid peer certificate
2023-05-01 11:43:33.152 22549-22746 libjami cx.ring W [1682955813.152|22746|account_manager.cpp :337 ] Found invalid peer device: 89879ec18abb54e187cb34bbab78cec3d76929dc15017499bcdb5316f5e581a0
2023-05-01 11:43:33.152 22549-22746 libjami cx.ring W [1682955813.152|22746|account_manager.cpp :385 ] [Auth] Discarding message from invalid peer certificate
```
### Notes
(Sébastien):
This may be due to the fact than the device key is not present on the DHT during the first seconds. So, the Android device will not find any certificate when receiving the trust request.
One possible solution would be to wait that deviceAnnounced_ is true before sending trust request or other DHT values.https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/661unknown PortAudio functions2023-12-27T18:02:17ZNick Econopoulyunknown PortAudio functionsWhere are the functions `Pa_GetDefaultCommInputDevice()` and `Pa_GetDefaultCommOutputDevice();`? I can't find them in the PortAudio API.
(In `src/media/audio/portaudio/portaudiolayer.cpp` line 482)
If I replace them with their analogs...Where are the functions `Pa_GetDefaultCommInputDevice()` and `Pa_GetDefaultCommOutputDevice();`? I can't find them in the PortAudio API.
(In `src/media/audio/portaudio/portaudiolayer.cpp` line 482)
If I replace them with their analogs `Pa_GetDefaultInputDevice()` and `Pa_GetDefaultOutputDevice`, I get a linking error:
```
FAILED: bin/dbus/jamid
c++ -o bin/dbus/jamid bin/dbus/jamid.p/dbuscallmanager.cpp.o bin/dbus/jamid.p/dbusclient.cpp.o bin/dbus/jamid.p/dbusconfigurationmanager.cpp.o bin/dbus/jamid.p/dbusinstance.cpp.o bin/dbus/jamid.p/dbuspresencemanager.cpp.o bin/dbus/jamid.p/main.cpp.o bin/dbus/jamid.p/dbusvideomanager.cpp.o bin/dbus/jamid.p/dbuspluginmanagerinterface.cpp.o -Wl,--as-needed -Wl,--no-undefined -Wl,--start-group src/libjami.a /home/wrycode/build/jami-daemon-git/src/ring-daemon/contrib/x86_64-pc-linux-gnu/lib/libdbus-c++-1.a /usr/lib/libdbus-1.so -pthread /home/wrycode/build/jami-daemon-git/src/ring-daemon/contrib/x86_64-pc-linux-gnu/lib/libopendht.a /home/wrycode/build/jami-daemon-git/src/ring-daemon/contrib/x86_64-pc-linux-gnu/lib/libhttp_parser.a /usr/lib/libgnutls.so /usr/lib/libnettle.so /usr/lib/libargon2.so -lrt -ldl /usr/lib/libjsoncpp.so /usr/lib/libssl.so /usr/lib/libcrypto.so /home/wrycode/build/jami-daemon-git/src/ring-daemon/contrib/x86_64-pc-linux-gnu/lib/libpjsua2-x86_64-pc-linux-gnu.a /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../lib/libstdc++.so /home/wrycode/build/jami-daemon-git/src/ring-daemon/contrib/x86_64-pc-linux-gnu/lib/libpjsua-x86_64-pc-linux-gnu.a /home/wrycode/build/jami-daemon-git/src/ring-daemon/contrib/x86_64-pc-linux-gnu/lib/libpjsip-ua-x
86_64-pc-linux-gnu.a /home/wrycode/build/jami-daemon-git/src/ring-daemon/contrib/x86_64-pc-linux-g
nu/lib/libpjsip-simple-x86_64-pc-linux-gnu.a /home/wrycode/build/jami-daemon-git/src/ring-daemon/c
ontrib/x86_64-pc-linux-gnu/lib/libpjsip-x86_64-pc-linux-gnu.a /home/wrycode/build/jami-daemon-git/
src/ring-daemon/contrib/x86_64-pc-linux-gnu/lib/libpjmedia-codec-x86_64-pc-linux-gnu.a /home/wryco
de/build/jami-daemon-git/src/ring-daemon/contrib/x86_64-pc-linux-gnu/lib/libpjmedia-videodev-x86_6
4-pc-linux-gnu.a /home/wrycode/build/jami-daemon-git/src/ring-daemon/contrib/x86_64-pc-linux-gnu/l
ib/libpjmedia-audiodev-x86_64-pc-linux-gnu.a /home/wrycode/build/jami-daemon-git/src/ring-daemon/c
ontrib/x86_64-pc-linux-gnu/lib/libpjmedia-x86_64-pc-linux-gnu.a /home/wrycode/build/jami-daemon-gi
t/src/ring-daemon/contrib/x86_64-pc-linux-gnu/lib/libpjnath-x86_64-pc-linux-gnu.a /home/wrycode/bu
ild/jami-daemon-git/src/ring-daemon/contrib/x86_64-pc-linux-gnu/lib/libpjlib-util-x86_64-pc-linux-
gnu.a /home/wrycode/build/jami-daemon-git/src/ring-daemon/contrib/x86_64-pc-linux-gnu/lib/libpj-x8
6_64-pc-linux-gnu.a /home/wrycode/build/jami-daemon-git/src/ring-daemon/contrib/x86_64-pc-linux-gn
u/lib/libsrtp-x86_64-pc-linux-gnu.a /home/wrycode/build/jami-daemon-git/src/ring-daemon/contrib/x8
6_64-pc-linux-gnu/lib/libyuv-x86_64-pc-linux-gnu.a /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../.
./../lib/libopus.so /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../lib/libvpx.so /usr/lib/gcc
/x86_64-pc-linux-gnu/11.1.0/../../../../lib/libuuid.so -lm -lpthread /usr/lib/gcc/x86_64-pc-linux-
gnu/11.1.0/../../../../lib/libgnutls.so /usr/lib/libgit2.so /usr/lib/libsecp256k1.so /usr/lib/liba
vcodec.so /usr/lib/libavfilter.so /usr/lib/libavdevice.so /usr/lib/libavformat.so /usr/lib/libswsc
ale.so /usr/lib/libswresample.so /usr/lib/libavutil.so /usr/lib/libspeexdsp.so /home/wrycode/build
/jami-daemon-git/src/ring-daemon/contrib/x86_64-pc-linux-gnu/lib/libfmt.a /usr/lib/libyaml-cpp.so
/usr/lib/libz.so /usr/lib/libasound.so /usr/lib/libpulse.so /usr/lib/libjack.so /usr/lib/libportau
dio.so /home/wrycode/build/jami-daemon-git/src/ring-daemon/contrib/x86_64-pc-linux-gnu/lib/libupnp
.a /home/wrycode/build/jami-daemon-git/src/ring-daemon/contrib/x86_64-pc-linux-gnu/lib/libixml.a -
lnatpmp /usr/lib/libwebrtc_audio_processing.so /usr/lib/libudev.so /usr/lib/libarchive.so -Wl,--en
d-group
/usr/bin/ld: src/libjami.a(jamidht_jamiaccount.cpp.o): in function `std::_MakeUniq<jami::TransferC
hannelHandler>::__single_object std::make_unique<jami::TransferChannelHandler, std::shared_ptr<jam
i::JamiAccount>, jami::ConnectionManager&>(std::shared_ptr<jami::JamiAccount>&&, jami::ConnectionM
anager&)':
/usr/include/c++/11.1.0/bits/unique_ptr.h:962: undefined reference to `jami::TransferChannelHandle
r::TransferChannelHandler(std::shared_ptr<jami::JamiAccount> const&, jami::ConnectionManager&)'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
```https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/779conference: detached host appearing2023-12-27T18:01:47ZAline Gondim Santosconference: detached host appearingJoin a rdv from two different devices;
Crash one of them (force jami quit without correctly ending the call)
On the other one you will see the host in the place of this crashed participant. If the crashed participant is still there (a ...Join a rdv from two different devices;
Crash one of them (force jami quit without correctly ending the call)
On the other one you will see the host in the place of this crashed participant. If the crashed participant is still there (a frozen component), you can change the layout one or two times and the host will take its place.
Expected: the crashed participant should disappear and the host should not take its place.Aline Gondim SantosAline Gondim Santoshttps://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/328Dpi auto scaling will not happen when starting the application with 100% scal...2023-12-27T16:38:20ZMing Rui ZhangDpi auto scaling will not happen when starting the application with 100% scaling factorMing Rui ZhangMing Rui Zhanghttps://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/182Distorted sound when output device is changed from default2023-12-27T16:37:45ZnorstboxDistorted sound when output device is changed from default## Steps to reproduce
1. Open "Setting -> Audio/Video"
2. Set Audio "Output Device" to any specific device, instead of default "Primary Sound Driver"
3. Make voice call
## Current behavior
Sound is drastically distorted
## Expected out...## Steps to reproduce
1. Open "Setting -> Audio/Video"
2. Set Audio "Output Device" to any specific device, instead of default "Primary Sound Driver"
3. Make voice call
## Current behavior
Sound is drastically distorted
## Expected outcome
Sound without distortions
## Version information
202005081537https://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1192Buggy UI on latest beta2023-12-27T15:54:30ZMaxim CournoyerBuggy UI on latest beta- Jami version: Android 20230310-01 (Beta channel)
- Device model: Galaxy Tab S2
- Android version: 7
- What build you are using: Play Store
## Steps to reproduce
- Can you reproduce the bug: at will
- Steps:
1. Open Jami
...- Jami version: Android 20230310-01 (Beta channel)
- Device model: Galaxy Tab S2
- Android version: 7
- What build you are using: Play Store
## Steps to reproduce
- Can you reproduce the bug: at will
- Steps:
1. Open Jami
- Actual result: UI is mostly blank
- Expected result: UI displays normally
## Additional information
It look like this:
![Screenshot_20230320-134033](/uploads/378c40c559cb2b2b89ee099b096a53c0/Screenshot_20230320-134033.png)https://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1247Implement new invitation design2023-12-27T15:40:15ZPierre NicolasImplement new invitation design![image](/uploads/886a98049b3bab229e688a330b9b1dbe/image.png)![image](/uploads/886a98049b3bab229e688a330b9b1dbe/image.png)https://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1263Invitations2023-12-27T15:40:04ZCharlotte HoffmannInvitationsRevoir le principe d'invitationsRevoir le principe d'invitationsCharlotte HoffmannCharlotte Hoffmannhttps://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1283Synchronisation between Android and iOS does not work as expected2023-12-27T15:33:46ZannaSynchronisation between Android and iOS does not work as expectedMe on Android and my contact on iOS first have to ring each other or send new messages before sometimes hours-old messages or documents are delivered.
I would expect that when both contacts are shown as online, a synchronisation between...Me on Android and my contact on iOS first have to ring each other or send new messages before sometimes hours-old messages or documents are delivered.
I would expect that when both contacts are shown as online, a synchronisation between both devices takes place. Both in this case between me and my contact, and between me and my computer if the latter is also online with me at the same time.
Világfa - 20230502-01 (F-Droid), latest iOS, latest Linux qthttps://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1307Reaction emoji picker, find emoji by its name2023-12-27T15:30:12ZWear GuxjReaction emoji picker, find emoji by its nameThe new emoji picker used for reactions is nice, it looks almost the same as the one used by Android's virtual keyboard, but there is one feature missing, that you could enter text to find a certain emoji. Can this be added to Jami as well?The new emoji picker used for reactions is nice, it looks almost the same as the one used by Android's virtual keyboard, but there is one feature missing, that you could enter text to find a certain emoji. Can this be added to Jami as well?https://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1348Implement swarm-history2023-12-27T15:19:17ZPierre NicolasImplement swarm-historyThere is a new API in daemon that give linearized message list (instead of just giving git tree).
It will make the android client code simpler (not having to deal with complete tree but just with linear message list).
Daemon API : http...There is a new API in daemon that give linearized message list (instead of just giving git tree).
It will make the android client code simpler (not having to deal with complete tree but just with linear message list).
Daemon API : https://review.jami.net/c/jami-daemon/+/25055
Qt client implementation: https://review.jami.net/c/jami-client-qt/+/25090Pierre NicolasPierre Nicolashttps://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/177Implement direct rendering pipeline for cuda hardware decoded frames using d3...2023-12-23T14:08:12ZAndreas TraczykImplement direct rendering pipeline for cuda hardware decoded frames using d3d11/qtDraw AVFrames with the AV_PIX_FMT_CUDA pixel format directly using d3d11 textures.Draw AVFrames with the AV_PIX_FMT_CUDA pixel format directly using d3d11 textures.Yang WangYang Wanghttps://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/130Please use Hei typeface for Chinese2023-12-23T14:07:14ZlinsuiPlease use Hei typeface for ChineseIn version 202010021804 the Chinese font is changed to Song typeface which is a serif typeface. However it's not suitable for UI. Please use Hei typeface instead. Thanks!
Hei
![sshot-002](/uploads/ceab024c516b696ba5f334f3feffdff5/sshot-...In version 202010021804 the Chinese font is changed to Song typeface which is a serif typeface. However it's not suitable for UI. Please use Hei typeface instead. Thanks!
Hei
![sshot-002](/uploads/ceab024c516b696ba5f334f3feffdff5/sshot-002.png)
Song
![sshot-003](/uploads/4239f4c58251d1f53647ec98a343851f/sshot-003.png)https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1105addSwarmConversation incorrect mode2023-12-23T14:06:27ZSé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-client-qt/-/issues/883Functional tests (qml_tests) failures2023-12-23T14:05:02ZMaxim CournoyerFunctional tests (qml_tests) failuresHi,
After applying patches to fix #882 against 20221031.1308.130cc26, I was able to run the tests with a manual procedure borrowed from the `build.py` script (which is currently tailored for Windows):
```scheme
(replace 'check
...Hi,
After applying patches to fix #882 against 20221031.1308.130cc26, I was able to run the tests with a manual procedure borrowed from the `build.py` script (which is currently tailored for Windows):
```scheme
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(setenv "QT_QPA_PLATFORM" "offscreen")
(setenv "QT_QUICK_BACKEND" "software")
;; The tests require a writable HOME.
(setenv "HOME" "/tmp")
(display "Running unittests...\n")
(invoke "tests/unittests" "-mutejamid")
(display "Running functional tests...\n")
;; This is to allow building from the source tarball or
;; directly from the git repository.
(let ((tests-qml (if (file-exists? "../client-qt/tests")
"../client-qt/tests/qml"
"../tests/qml")))
(invoke "tests/qml_tests" "-mutejamid"
"-input" tests-qml)))))
```
The unittests all pass, but the qml_tests return some failures:
```
starting phase `check'
Running unittests...
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/guix-build-jami-20221031.1308.130cc26.drv-0/runtime-nixbld'
(process:2064): libnotify-WARNING **: 20:06:20.854: Failed to connect to proxy
No accounts to migrate
20:06:20.857 os_core_unix.c !pjlib 2.12.1 for POSIX initialized
Daemon is running
[==========] Running 3 tests from 2 test suites.
[----------] Global test environment set-up.
[----------] 2 tests from AccountFixture
[ RUN ] AccountFixture.InitialAccountListCheck
[ OK ] AccountFixture.InitialAccountListCheck (0 ms)
[ RUN ] AccountFixture.CreateSIPAccountTest
error initializing NetworkManager client: Could not connect: No such file or directory
AccountModelPimpl::slotVolatileAccountDetailsChanged, can't find "1d75d198d2a21f3d"
AccountModelPimpl::slotVolatileAccountDetailsChanged, can't find "1d75d198d2a21f3d"
Syncing lrc accounts list with the daemon
"detected new account 1d75d198d2a21f3d"
database "/tmp/.local/share/unittests/jami/1d75d198d2a21f3d/history.db" version set to: "1"
Syncing lrc accounts list with the daemon
Syncing lrc accounts list with the daemon
"detected account removal 1d75d198d2a21f3d"
[ OK ] AccountFixture.CreateSIPAccountTest (4950 ms)
[----------] 2 tests from AccountFixture (4950 ms total)
[----------] 1 test from ContactFixture
[ RUN ] ContactFixture.AddSIPContactTest
AccountModelPimpl::slotVolatileAccountDetailsChanged, can't find "f96505d5790f5317"
AccountModelPimpl::slotVolatileAccountDetailsChanged, can't find "f96505d5790f5317"
Syncing lrc accounts list with the daemon
"detected new account f96505d5790f5317"
database "/tmp/.local/share/jami/f96505d5790f5317/history.db" version set to: "1"
Syncing lrc accounts list with the daemon
Syncing lrc accounts list with the daemon
"detected account removal f96505d5790f5317"
[ OK ] ContactFixture.AddSIPContactTest (14999 ms)
[----------] 1 test from ContactFixture (14999 ms total)
[----------] Global test environment tear-down
[==========] 3 tests from 2 test suites ran. (19950 ms total)
[ PASSED ] 3 tests.
Destroying connectivity monitor
Running functional tests...
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/guix-build-jami-20221031.1308.130cc26.drv-0/runtime-nixbld'
(process:2082): libnotify-WARNING **: 20:06:41.435: Failed to connect to proxy
No accounts to migrate
dbus not connected
qt.core.qobject.connect: QObject::connect(PreviewEngine, MessagesAdapter): invalid nullptr parameter
qt.core.qobject.connect: QObject::connect(PreviewEngine, MessagesAdapter): invalid nullptr parameter
Can't update current account info data for ""
20:06:41.437 os_core_unix.c !pjlib 2.12.1 for POSIX initialized
Daemon is running
********* Start testing of qml_test *********
Config: Using QtTest library 6.3.1, Qt 6.3.1 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 10.3.0), unknown unknown
QWARN : qml_test::tst_ChatViewFooter::compile()
/tmp/guix-build-jami-20221031.1308.130cc26.drv-0/jami-project/client-qt/tests/qml/src/tst_ChatViewFooter.qml produced 1 error(s):
/tmp/guix-build-jami-20221031.1308.130cc26.drv-0/jami-project/client-qt/tests/qml/src/tst_ChatViewFooter.qml:28,1: "qrc:/src/app/mainview/components": no such directory
Working directory: /tmp/guix-build-jami-20221031.1308.130cc26.drv-0/jami-project/build
Import paths:
'/tmp/guix-build-jami-20221031.1308.130cc26.drv-0/jami-project/build/tests'
'qrc:/qt-project.org/imports'
'/gnu/store/g0cpw37529bbz2f0zbbwmivpd4igp4w6-qt5compat-6.3.1/lib/qt6/qml'
'/gnu/store/8nlck8a9s88krl7m8a0d36yf3j2b7mv4-qtdeclarative-6.3.1/lib/qt6/qml'
'/gnu/store/k0v5qlk1gkl62d0wspsy9y6khrn5cq0c-qtmultimedia-6.3.1/lib/qt6/qml'
'/gnu/store/1228mp35skd88ijx799v5851paadv9wg-qtwebchannel-6.3.1/lib/qt6/qml'
'/gnu/store/iygnhxwydlwbs1hc9knjvam6im489zyl-qtwebengine-6.3.1/lib/qt6/qml'
Plugin paths:
'.'
FAIL! : qml_test::tst_ChatViewFooter::compile() "qrc:/src/app/mainview/components": no such directory
Loc: [/tmp/guix-build-jami-20221031.1308.130cc26.drv-0/jami-project/client-qt/tests/qml/src/tst_ChatViewFooter.qml(28)]
QWARN : qml_test::UnknownTestFunc() dbus not connected
QWARN : qml_test::UnknownTestFunc() qt.core.qobject.connect: QObject::connect(PreviewEngine, MessagesAdapter): invalid nullptr parameter
QWARN : qml_test::UnknownTestFunc() qt.core.qobject.connect: QObject::connect(PreviewEngine, MessagesAdapter): invalid nullptr parameter
QWARN : qml_test::UnknownTestFunc() Can't update current account info data for ""
QWARN : qml_test::tst_FilesToSendContainer::compile()
/tmp/guix-build-jami-20221031.1308.130cc26.drv-0/jami-project/client-qt/tests/qml/src/tst_FilesToSendContainer.qml produced 1 error(s):
/tmp/guix-build-jami-20221031.1308.130cc26.drv-0/jami-project/client-qt/tests/qml/src/tst_FilesToSendContainer.qml:28,1: "qrc:/src/app/mainview/components": no such directory
Working directory: /tmp/guix-build-jami-20221031.1308.130cc26.drv-0/jami-project/build
Import paths:
'/tmp/guix-build-jami-20221031.1308.130cc26.drv-0/jami-project/build/tests'
'qrc:/qt-project.org/imports'
'/gnu/store/g0cpw37529bbz2f0zbbwmivpd4igp4w6-qt5compat-6.3.1/lib/qt6/qml'
'/gnu/store/8nlck8a9s88krl7m8a0d36yf3j2b7mv4-qtdeclarative-6.3.1/lib/qt6/qml'
'/gnu/store/k0v5qlk1gkl62d0wspsy9y6khrn5cq0c-qtmultimedia-6.3.1/lib/qt6/qml'
'/gnu/store/1228mp35skd88ijx799v5851paadv9wg-qtwebchannel-6.3.1/lib/qt6/qml'
'/gnu/store/iygnhxwydlwbs1hc9knjvam6im489zyl-qtwebengine-6.3.1/lib/qt6/qml'
Plugin paths:
'.'
FAIL! : qml_test::tst_FilesToSendContainer::compile() "qrc:/src/app/mainview/components": no such directory
Loc: [/tmp/guix-build-jami-20221031.1308.130cc26.drv-0/jami-project/client-qt/tests/qml/src/tst_FilesToSendContainer.qml(28)]
QWARN : qml_test::UnknownTestFunc() dbus not connected
QWARN : qml_test::UnknownTestFunc() qt.core.qobject.connect: QObject::connect(PreviewEngine, MessagesAdapter): invalid nullptr parameter
QWARN : qml_test::UnknownTestFunc() qt.core.qobject.connect: QObject::connect(PreviewEngine, MessagesAdapter): invalid nullptr parameter
QWARN : qml_test::UnknownTestFunc() Can't update current account info data for ""
QWARN : qml_test::UnknownTestFunc() error initializing NetworkManager client: Could not connect: No such file or directory
PASS : qml_test::Local Account Test::initTestCase()
PASS : qml_test::Local Account Test::test_initially_no_account()
PASS : qml_test::Local Account Test::cleanupTestCase()
QWARN : qml_test::UnknownTestFunc() dbus not connected
QWARN : qml_test::UnknownTestFunc() qt.core.qobject.connect: QObject::connect(PreviewEngine, MessagesAdapter): invalid nullptr parameter
QWARN : qml_test::UnknownTestFunc() qt.core.qobject.connect: QObject::connect(PreviewEngine, MessagesAdapter): invalid nullptr parameter
QWARN : qml_test::UnknownTestFunc() Can't update current account info data for ""
QWARN : qml_test::tst_PresenceIndicator::compile()
/tmp/guix-build-jami-20221031.1308.130cc26.drv-0/jami-project/client-qt/tests/qml/src/tst_PresenceIndicator.qml produced 1 error(s):
/tmp/guix-build-jami-20221031.1308.130cc26.drv-0/jami-project/client-qt/tests/qml/src/tst_PresenceIndicator.qml:25,1: "qrc:/src/app/commoncomponents": no such directory
Working directory: /tmp/guix-build-jami-20221031.1308.130cc26.drv-0/jami-project/build
Import paths:
'/tmp/guix-build-jami-20221031.1308.130cc26.drv-0/jami-project/build/tests'
'qrc:/qt-project.org/imports'
'/gnu/store/g0cpw37529bbz2f0zbbwmivpd4igp4w6-qt5compat-6.3.1/lib/qt6/qml'
'/gnu/store/8nlck8a9s88krl7m8a0d36yf3j2b7mv4-qtdeclarative-6.3.1/lib/qt6/qml'
'/gnu/store/k0v5qlk1gkl62d0wspsy9y6khrn5cq0c-qtmultimedia-6.3.1/lib/qt6/qml'
'/gnu/store/1228mp35skd88ijx799v5851paadv9wg-qtwebchannel-6.3.1/lib/qt6/qml'
'/gnu/store/iygnhxwydlwbs1hc9knjvam6im489zyl-qtwebengine-6.3.1/lib/qt6/qml'
Plugin paths:
'.'
FAIL! : qml_test::tst_PresenceIndicator::compile() "qrc:/src/app/commoncomponents": no such directory
Loc: [/tmp/guix-build-jami-20221031.1308.130cc26.drv-0/jami-project/client-qt/tests/qml/src/tst_PresenceIndicator.qml(25)]
QWARN : qml_test::UnknownTestFunc() dbus not connected
QWARN : qml_test::UnknownTestFunc() qt.core.qobject.connect: QObject::connect(PreviewEngine, MessagesAdapter): invalid nullptr parameter
QWARN : qml_test::UnknownTestFunc() qt.core.qobject.connect: QObject::connect(PreviewEngine, MessagesAdapter): invalid nullptr parameter
QWARN : qml_test::UnknownTestFunc() Can't update current account info data for ""
QWARN : qml_test::tst_WizardView::compile()
/tmp/guix-build-jami-20221031.1308.130cc26.drv-0/jami-project/client-qt/tests/qml/src/tst_WizardView.qml produced 1 error(s):
/tmp/guix-build-jami-20221031.1308.130cc26.drv-0/jami-project/client-qt/tests/qml/src/tst_WizardView.qml:27,1: "qrc:/src/app/wizardview": no such directory
Working directory: /tmp/guix-build-jami-20221031.1308.130cc26.drv-0/jami-project/build
Import paths:
'/tmp/guix-build-jami-20221031.1308.130cc26.drv-0/jami-project/build/tests'
'qrc:/qt-project.org/imports'
'/gnu/store/g0cpw37529bbz2f0zbbwmivpd4igp4w6-qt5compat-6.3.1/lib/qt6/qml'
'/gnu/store/8nlck8a9s88krl7m8a0d36yf3j2b7mv4-qtdeclarative-6.3.1/lib/qt6/qml'
'/gnu/store/k0v5qlk1gkl62d0wspsy9y6khrn5cq0c-qtmultimedia-6.3.1/lib/qt6/qml'
'/gnu/store/1228mp35skd88ijx799v5851paadv9wg-qtwebchannel-6.3.1/lib/qt6/qml'
'/gnu/store/iygnhxwydlwbs1hc9knjvam6im489zyl-qtwebengine-6.3.1/lib/qt6/qml'
Plugin paths:
'.'
FAIL! : qml_test::tst_WizardView::compile() "qrc:/src/app/wizardview": no such directory
Loc: [/tmp/guix-build-jami-20221031.1308.130cc26.drv-0/jami-project/client-qt/tests/qml/src/tst_WizardView.qml(27)]
Totals: 3 passed, 4 failed, 0 skipped, 0 blacklisted, 16ms
********* Finished testing of qml_test *********
Destroying connectivity monitor
error: in phase 'check': uncaught exception:
%exception #<&invoke-error program: "tests/qml_tests" arguments: ("-mutejamid" "-input" "../client-qt/tests/qml") exit-status: 4 term-signal: #f stop-signal: #f>
phase `check' failed after 22.1 seconds
command "tests/qml_tests" "-mutejamid" "-input" "../client-qt/tests/qml" failed with status 4
```
Ideas?
Thanks!https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1117D-Bus connection not reestablished by client when restarting jami-daemon2023-12-23T14:03:09ZAndreas TraczykD-Bus connection not reestablished by client when restarting jami-daemonWe should be able to restart the jami-daemon process while the client is running, and the client should:
1. suspend functionality during the daemon's absence
2. resume functionality once the daemon becomes available againWe should be able to restart the jami-daemon process while the client is running, and the client should:
1. suspend functionality during the daemon's absence
2. resume functionality once the daemon becomes available againAndreas TraczykAndreas Traczykhttps://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1497Too much space between buttons in group call message2023-12-22T20:32:14ZEmma FalkiewitzToo much space between buttons in group call message**This bug happens on new chatview development branch.**
While we wait for the new group call message to be implemented.
![image](/uploads/c4a8bfbedfde134136a88ddd8094df63/image.png)
![image](/uploads/fc3f3b1c00047a583396e93e2f8cbc71/...**This bug happens on new chatview development branch.**
While we wait for the new group call message to be implemented.
![image](/uploads/c4a8bfbedfde134136a88ddd8094df63/image.png)
![image](/uploads/fc3f3b1c00047a583396e93e2f8cbc71/image.png)https://git.jami.net/savoirfairelinux/jami-jams/-/issues/135Delete conversation requests already in conversation2023-12-22T16:10:08ZPhilippe LaroseDelete conversation requests already in conversationFor a given owner,conversationId pair, There shouldn't be a entry in the conversationRequests table if a conversation already exist for that request. Which means that when receiving a conversationRequest list to sync, if ConversationRequ...For a given owner,conversationId pair, There shouldn't be a entry in the conversationRequests table if a conversation already exist for that request. Which means that when receiving a conversationRequest list to sync, if ConversationRequest(owner, conversationId) == Converation(owner, id) in the conversations table, the conversationRequest should be deleted from the conversationRequests table.Philippe LarosePhilippe Larose