savoirfairelinux issueshttps://git.jami.net/groups/savoirfairelinux/-/issues2024-01-31T21:12:16Zhttps://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1482Chat bubble background color is not well recycled2024-01-31T21:12:16ZEmma FalkiewitzChat bubble background color is not well recycled**This bug happens on new chatview development branch.**
Problem detected in deleted message (see in code).
Search for another problems elsewhere also.
![Screenshot_20231219-170541_Jami](/uploads/209857a54498d39603edd769571ed262/Screen...**This bug happens on new chatview development branch.**
Problem detected in deleted message (see in code).
Search for another problems elsewhere also.
![Screenshot_20231219-170541_Jami](/uploads/209857a54498d39603edd769571ed262/Screenshot_20231219-170541_Jami.jpg)
![Screenshot_20231219-170643_Jami](/uploads/c308639fa131d28582b0a7701e792ce3/Screenshot_20231219-170643_Jami.jpg)Emma FalkiewitzEmma Falkiewitzhttps://git.jami.net/savoirfairelinux/jami-jams/-/issues/134Improve JenkinsFile config CI pipeline2024-01-08T14:19:11ZHervé BassinotImprove JenkinsFile config CI pipelinehttps://git.jami.net/savoirfairelinux/jami-client-ios/-/issues/310add option to reply to message2024-01-29T19:26:58ZKateryna Kostiukadd option to reply to messageKateryna KostiukKateryna Kostiukhttps://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1461Outgoing emoji: when the message is only an emoji it should be aligned to the...2023-12-20T12:46:29ZCapucine BerthetOutgoing emoji: when the message is only an emoji it should be aligned to the right![Capture_d_écran_du_2023-12-19_09-45-57](/uploads/e579f5e30a3f87e82e46c6352dcbbff2/Capture_d_écran_du_2023-12-19_09-45-57.png)![Capture_d_écran_du_2023-12-19_09-45-57](/uploads/e579f5e30a3f87e82e46c6352dcbbff2/Capture_d_écran_du_2023-12-19_09-45-57.png)Capucine BerthetCapucine Berthethttps://git.jami.net/savoirfairelinux/jami-client-ios/-/issues/309ringtone continue playing after call canceled2023-12-18T16:30:22ZKateryna Kostiukringtone continue playing after call canceledIt was reproduced for call from qt-client on macOS to iPhone. Call between two qt-client works as expected.
steps to reproduce:
- place a call from qt-client on macOS to iPhone
- decline call on iPhone
- ringtone continue playing on ...It was reproduced for call from qt-client on macOS to iPhone. Call between two qt-client works as expected.
steps to reproduce:
- place a call from qt-client on macOS to iPhone
- decline call on iPhone
- ringtone continue playing on macOSKateryna KostiukKateryna Kostiukhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/928heap-use-after-free in turn_sock (TCP)2024-01-09T16:26:58ZSébastien Blinheap-use-after-free in turn_sock (TCP)### Describe the bug
No precise scenario, but ASAN crash detected randomly:
```
=================================================================
==15049==ERROR: AddressSanitizer: heap-use-after-free on address 0x0002b00b5648 at pc 0x0...### Describe the bug
No precise scenario, but ASAN crash detected randomly:
```
=================================================================
==15049==ERROR: AddressSanitizer: heap-use-after-free on address 0x0002b00b5648 at pc 0x0001056f5610 bp 0x00029dd327b0 sp 0x00029dd327a8
#0 0x1056f560c in stun_on_request_complete+0xc8c (Jami:arm64+0x102a8560c)
#1 0x1056ea7f4 in stun_tsx_on_complete+0x2a8 (Jami:arm64+0x102a7a7f4)
#2 0x1056f2498 in retransmit_timer_callback+0x12c (Jami:arm64+0x102a82498)
#3 0x105685fec in pj_timer_heap_poll+0x468 (Jami:arm64+0x102a15fec)
#4 0x104a4acbc in dhtnet::IceTransport::Impl::handleEvents(unsigned int)+0x110 (Jami:arm64+0x101ddacbc)
#5 0x104a65a5c in void* std::__1::__thread_proxy[abi:v160006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, dhtnet::IceTransport::Impl::initIceInstance(dhtnet::IceTransportOptions const&)::$_6>>(void*)+0x154 (Jami:arm64+0x101df5a5c)
#6 0x186caf030 in _pthread_start+0x84 (libsystem_pthread.dylib:arm64e+0x7030)
#7 0x186ca9e38 in thread_start+0x4 (libsystem_pthread.dylib:arm64e+0x1e38)
0x0002b00b5648 is located 200 bytes inside of 256-byte region [0x0002b00b5580,0x0002b00b5680)
freed by thread T1102 here:
#0 0x111b5ace0 in wrap_free+0x98 (libclang_rt.asan_osx_dynamic.dylib:arm64e+0x52ce0)
#1 0x1056738d4 in pj_pool_destroy_int+0xbc (Jami:arm64+0x102a038d4)
#2 0x105674788 in cpool_release_pool+0xec (Jami:arm64+0x102a04788)
#3 0x105704130 in dataconn_on_data_read+0x180 (Jami:arm64+0x102a94130)
#4 0x105663b48 in ioqueue_on_read_complete+0x39c (Jami:arm64+0x1029f3b48)
#5 0x1056537a4 in ioqueue_dispatch_read_event+0x700 (Jami:arm64+0x1029e37a4)
#6 0x1056587bc in pj_ioqueue_poll+0x900 (Jami:arm64+0x1029e87bc)
#7 0x104a4ad9c in dhtnet::IceTransport::Impl::handleEvents(unsigned int)+0x1f0 (Jami:arm64+0x101ddad9c)
#8 0x104a65a5c in void* std::__1::__thread_proxy[abi:v160006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, dhtnet::IceTransport::Impl::initIceInstance(dhtnet::IceTransportOptions const&)::$_6>>(void*)+0x154 (Jami:arm64+0x101df5a5c)
#9 0x186caf030 in _pthread_start+0x84 (libsystem_pthread.dylib:arm64e+0x7030)
#10 0x186ca9e38 in thread_start+0x4 (libsystem_pthread.dylib:arm64e+0x1e38)
previously allocated by thread T1102 here:
#0 0x111b5aba4 in wrap_malloc+0x94 (libclang_rt.asan_osx_dynamic.dylib:arm64e+0x52ba4)
#1 0x105660234 in default_block_alloc+0x50 (Jami:arm64+0x1029f0234)
#2 0x105672d68 in pj_pool_allocate_find+0x110 (Jami:arm64+0x102a02d68)
#3 0x105672f94 in pj_pool_calloc+0x7c (Jami:arm64+0x102a02f94)
#4 0x1056633a4 in pj_activesock_create+0x254 (Jami:arm64+0x1029f33a4)
#5 0x105700f6c in turn_on_connection_attempt+0x9d0 (Jami:arm64+0x102a90f6c)
#6 0x1056f59e8 in stun_on_rx_indication+0xe4 (Jami:arm64+0x102a859e8)
#7 0x1056e9914 in pj_stun_session_on_rx_pkt+0x69c (Jami:arm64+0x102a79914)
#8 0x1056fb5e4 in pj_turn_session_on_rx_pkt2+0x1ec (Jami:arm64+0x102a8b5e4)
#9 0x1056fb2f8 in pj_turn_session_on_rx_pkt+0x10c (Jami:arm64+0x102a8b2f8)
#10 0x105703930 in on_data_read_asock+0x468 (Jami:arm64+0x102a93930)
#11 0x105663a5c in ioqueue_on_read_complete+0x2b0 (Jami:arm64+0x1029f3a5c)
#12 0x1056537a4 in ioqueue_dispatch_read_event+0x700 (Jami:arm64+0x1029e37a4)
#13 0x1056587bc in pj_ioqueue_poll+0x900 (Jami:arm64+0x1029e87bc)
#14 0x104a4ad9c in dhtnet::IceTransport::Impl::handleEvents(unsigned int)+0x1f0 (Jami:arm64+0x101ddad9c)
#15 0x104a65a5c in void* std::__1::__thread_proxy[abi:v160006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, dhtnet::IceTransport::Impl::initIceInstance(dhtnet::IceTransportOptions const&)::$_6>>(void*)+0x154 (Jami:arm64+0x101df5a5c)
#16 0x186caf030 in _pthread_start+0x84 (libsystem_pthread.dylib:arm64e+0x7030)
#17 0x186ca9e38 in thread_start+0x4 (libsystem_pthread.dylib:arm64e+0x1e38)
```
What I see:
+ `turn_sock.c:dataconn_on_data_read` is called with status = 120054 & size = 0
+ This causes a dataconn_cleanup on the connection
+ `turn_session.c:stun_on_request_complete` is then called with method = PJ_STUN_CONNECTION_BIND_METHOD & status = 370004
I guess dataconn_cleanup is called again in turn_on_connection_bind_status but I'm not sure yet.
### Steps to reproduce
None detected yet
### PJSIP version
2.13
### Context
+ macOS, but I guess all platforms should get the same bug
+ Custom patched version, but turn_session/turn_sock should be the same.
### Log, call stack, etc
```shell
cf first part
```
https://github.com/pjsip/pjproject/issues/3776Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/dhtnet/-/issues/13Finish DVPN2024-03-09T00:41:19ZSébastien BlinFinish DVPNhttps://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1459Investigate performance bottlenecks2024-02-29T20:09:34ZSébastien BlinInvestigate performance bottlenecksClient-qt can be slow to show. It should be nearly instantaneous, bottleneck must be identified
# Done status
Identify the bottlenecks and report it here (join performance reports here).
# Tools
Any profiler (Qt Profiler, Flamegraph,...Client-qt can be slow to show. It should be nearly instantaneous, bottleneck must be identified
# Done status
Identify the bottlenecks and report it here (join performance reports here).
# Tools
Any profiler (Qt Profiler, Flamegraph, benchmarks. etc)Andreas TraczykAndreas Traczykhttps://git.jami.net/savoirfairelinux/jami-jams/-/issues/133Fix API requests blocked2024-01-05T18:58:17ZPhilippe LaroseFix API requests blockedAt some point during JAMS' execution, a internal issue with the database connection prevents other threads from connecting to the database which ends up blocking every thread and ends up causing a `java.lang.OutOfMemoryError: Java heap s...At some point during JAMS' execution, a internal issue with the database connection prevents other threads from connecting to the database which ends up blocking every thread and ends up causing a `java.lang.OutOfMemoryError: Java heap space` error.
Here are the logs of an instance of the incident happening in production: [jams-log.txt](/uploads/02862d06d89c4ad5f8fb822871b78296/jams-log.txt)https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1458ringtone continue playing after call canceled2023-12-18T15:46:22ZKateryna Kostiukringtone continue playing after call canceledIt was reproduced for call from qt-client on macOS to iPhone. Call between two qt-client works as expected.
steps to reproduce:
- place a call from qt-client on macOS to iPhone
- decline call on iPhone
- ringtone continue playing on ...It was reproduced for call from qt-client on macOS to iPhone. Call between two qt-client works as expected.
steps to reproduce:
- place a call from qt-client on macOS to iPhone
- decline call on iPhone
- ringtone continue playing on macOSKateryna KostiukKateryna Kostiukhttps://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/145787aed4c0 can break Wayland support2024-03-22T09:23:47ZFuchtelJockel87aed4c0 can break Wayland supportCommit 87aed4c0 basically disables Wayland support and Qt fails to load if xWayland is disabled.
```
qt.qpa.xcb: could not connect to display
qt.qpa.plugin: From 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platfor...Commit 87aed4c0 basically disables Wayland support and Qt fails to load if xWayland is disabled.
```
qt.qpa.xcb: could not connect to display
qt.qpa.plugin: From 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin.
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
```https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/927Android: Same contact multiple times (multi device related?)2023-12-16T18:01:12ZElysAndroid: Same contact multiple times (multi device related?)Desktop (Beta): 202312142117
Android (20231213-01)
Steps to reproduce:
- You are using the same Jami account ("Jamiaccount1") on different devices - and you always have your own Jami account in the contact list (so you can make calls /...Desktop (Beta): 202312142117
Android (20231213-01)
Steps to reproduce:
- You are using the same Jami account ("Jamiaccount1") on different devices - and you always have your own Jami account in the contact list (so you can make calls / send messages "Jamiaccount1" device 1 <-> "Jamiaccount1" device 2)
- - only the desktop device 1 also has another own account "Jamiaccount2": "Jamiaccount1" is in the contact list of "Jamiaccount2" (and the other direction); however "Jamiaccount2" account does NOT have it's own account in the contact list?
- BUT you always use the same two devices (desktop and android phone) for weeks
- Now you are using a different desktop device (3) that only uses "Jamiaccount2" (device 3)contact ("Jamiaccount1") is already in the contact list of "Jamiaccount2" (device 1,2) because you've added "Jamiaccount2" on another device
- Once you open Jami on desktop - Jami on Android will create another same contact of "Jamiaccount1" and if you tap the duplicated contact the chatview will stuck at "Downloading conversation from peer" (even if you restart Jami on Android)
Screenshot (of the Android device)
![Jamitwice1](/uploads/32a667c3f81374effdc83094bcd1c85c/Jamitwice1.png)
Detail:
![Jamitwice2](/uploads/456f273bf0080e14b7b569cdb820656e/Jamitwice2.png)https://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1481Change settings icons2024-01-26T13:47:21ZEmma FalkiewitzChange settings iconsWe want to change these icons:
![image](/uploads/667831a113a58ccf62a1901487fead21/image.png)
To these:
![image](/uploads/e027f9e71806aecccc55358934a739fa/image.png)We want to change these icons:
![image](/uploads/667831a113a58ccf62a1901487fead21/image.png)
To these:
![image](/uploads/e027f9e71806aecccc55358934a739fa/image.png)Emma FalkiewitzEmma Falkiewitzhttps://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1480Standardization of the icons color2024-01-26T13:47:04ZEmma FalkiewitzStandardization of the icons colorPut all the icons in grey: #656565 in light mode and #A6A6A6 in dark mode (the list is non exhaustive) :
![image](/uploads/ecab302b37fa9c1e418c4cdcaf8782a0/image.png)
![image](/uploads/2833a96333debfdd01582355396ad633/image.png)
![ima...Put all the icons in grey: #656565 in light mode and #A6A6A6 in dark mode (the list is non exhaustive) :
![image](/uploads/ecab302b37fa9c1e418c4cdcaf8782a0/image.png)
![image](/uploads/2833a96333debfdd01582355396ad633/image.png)
![image](/uploads/6b43d2bedf4723a4c1b16c977dfc2ac3/image.png)
![image](/uploads/d787a52b1255cadfd38aae2050ecd058/image.png)
![image](/uploads/2a0fbc969d6df4f766a4becbf1a1b034/image.png)Emma FalkiewitzEmma Falkiewitzhttps://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1455AccountComboBox: shouldn't move when the popup is opened2023-12-18T19:27:22ZCapucine BerthetAccountComboBox: shouldn't move when the popup is openedWhen you open the accountComboBox popup, everything moves down. It should remain in the same position.
The placement of the username and the id is also changing and shouldn't.When you open the accountComboBox popup, everything moves down. It should remain in the same position.
The placement of the username and the id is also changing and shouldn't.Capucine BerthetCapucine Berthethttps://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1454Allow users to supply postmortem reports2024-03-28T00:05:08ZAndreas TraczykAllow users to supply postmortem reports**Objective**:
* Implement a feature allowing users to submit postmortem reports.
**Purpose**:
* To collect data for improving application stability.
**User Story**:
* As a user, I want to be able to submit postmortem reports so tha...**Objective**:
* Implement a feature allowing users to submit postmortem reports.
**Purpose**:
* To collect data for improving application stability.
**User Story**:
* As a user, I want to be able to submit postmortem reports so that I can contribute to the improvement of the application.
**Requirements**:
* [ ] A flag in system settings should detect a postmortem run.
* [ ] A submission interface in the application for postmortem reports.
* [ ] Option for users to opt-in for automatic submission of postmortem reports.
* [ ] A server-side implementation (POST) and an alternate, manual client-side submission mechanism.
* [ ] Postmorem report must include platform/version info.
**User Interface**:
* Easy-to-use submission form for postmortem reports.
* Clear options for opting in or out of automatic reports.
**Server-Side Implementation**:
* Storage solution for incoming reports.Andreas TraczykAndreas Traczykhttps://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1453MSI: allow single user installs2024-02-22T20:40:29ZAndreas TraczykMSI: allow single user installsUsers without admin access should be able to install Jami.Users without admin access should be able to install Jami.Andreas TraczykAndreas Traczykhttps://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1479Smart list not loading2024-01-25T19:46:27ZGSmart list not loading- Jami version: 20231208
- Device model: Redmi note 10 pro
- Android version: 13
- What build you are using: play store \[jami.net | F-droid | Play Store | App store | your own (please specify commit id + daemon version or commit id)...\...- Jami version: 20231208
- Device model: Redmi note 10 pro
- Android version: 13
- What build you are using: play store \[jami.net | F-droid | Play Store | App store | your own (please specify commit id + daemon version or commit id)...\]
## Steps to reproduce
- Can you reproduce the bug: \[at will | occasionally | not at all\]
- Steps: 1.open app ...
- Actual result: stuck on initial start screen»
- Expected result: seeing the chats
![Screenshot_2023-12-13-07-49-36-496_cx.ring](/uploads/66a793e19c1bae31b67e0fc332966845/Screenshot_2023-12-13-07-49-36-496_cx.ring.jpg){width="324" height="720"}https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1452[Windows 11] Jami is shown twice after update(s)2024-02-01T17:22:36ZElys[Windows 11] Jami is shown twice after update(s)using Windows 11 Pro 23H2
newest version of Jami
Steps to reproduce?
1. (In the past) Install an older version of Jami
1. Now update
1. After the update you'll view Jami twice in the windows 11 settings "Installed apps" https://www.ele...using Windows 11 Pro 23H2
newest version of Jami
Steps to reproduce?
1. (In the past) Install an older version of Jami
1. Now update
1. After the update you'll view Jami twice in the windows 11 settings "Installed apps" https://www.elevenforum.com/t/find-storage-space-usage-size-of-apps-in-windows-11.14129/
Screenshot:
![Screenshot-double](/uploads/40dcd79be56917b9dd5502fab00ca64a/Screenshot-double.png)https://git.jami.net/savoirfairelinux/jami-plugins-store/-/issues/10Create a upload check to verify if the issuer can upload the plugin2023-12-28T11:50:20ZXavier Jouslin de NorayCreate a upload check to verify if the issuer can upload the pluginSummary:
Need to check the plugin certificate for a given request upload to not corrupt other plugin. A public key of the remote and request certificate is done.
Test:
1. Upload a sign test plugin
2. call /upload/\<arch\>/\<id\> with...Summary:
Need to check the plugin certificate for a given request upload to not corrupt other plugin. A public key of the remote and request certificate is done.
Test:
1. Upload a sign test plugin
2. call /upload/\<arch\>/\<id\> with the same id and arch that you upload the plugin
3. add to the request the certificate in the http header field Authorization with a different certificate than the one use to sign the plugin
4. you should have a Forbidden http response status
5. do the 3 and 4 points with the good certificate
6. you should have a Ok http response status
7. if you do not include certificate
8. you should have a Bad Request http response status