savoirfairelinux issueshttps://git.jami.net/groups/savoirfairelinux/-/issues2023-11-20T13:48:08Zhttps://git.jami.net/savoirfairelinux/jami-product-backlog/-/issues/56Ability to manage the previews2023-11-20T13:48:08ZMehdi GhayourAbility to manage the previewshttps://git.jami.net/savoirfairelinux/jami-packaging/-/issues/153LMDE 62023-11-19T00:17:24ZovariLMDE 6LMDE 6 “Faye” – BETA Release https://blog.linuxmint.com/?p=4562
Please add `LMDE 6` “Faye” to https://jami.net/download-jami-linux/
LMDE 6 is based on Debian 12 Bookworm. https://linuxmint.com/rel_faye.php
Release edition status is sh...LMDE 6 “Faye” – BETA Release https://blog.linuxmint.com/?p=4562
Please add `LMDE 6` “Faye” to https://jami.net/download-jami-linux/
LMDE 6 is based on Debian 12 Bookworm. https://linuxmint.com/rel_faye.php
Release edition status is shown at https://community.linuxmint.com/iso
Should LMDE 5 be removed when LMDE 6 is added?
Thank youhttps://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1414`Delete file from device` deletes every file which has the same filename2023-11-17T21:12:03Zovari`Delete file from device` deletes every file which has the same filename1. Send a file named `0.pdf`.
2. Send another different file which is also named `0.pdf`.
3. Click on the vertical ellipsis `⋮` (with popup/tooltip `More options`).
4. Click `Delete file from device`.
5. **Bug:** Both files named `0.pdf`...1. Send a file named `0.pdf`.
2. Send another different file which is also named `0.pdf`.
3. Click on the vertical ellipsis `⋮` (with popup/tooltip `More options`).
4. Click `Delete file from device`.
5. **Bug:** Both files named `0.pdf` are deleted from the device.<br>
**Expected behavior:** Only the file which was selected should be deleted from the device, not every instance of the files which have the same filename.
Thank you
Linux Mint 21.2 Cinnamon<br>
Jami Version: 202310301531https://git.jami.net/savoirfairelinux/jami-jams/-/issues/126ContactAdapter.java: add 2 column (added & removed)2023-11-17T19:26:34ZSébastien BlinContactAdapter.java: add 2 column (added & removed)All the code in the daemon is designed like this and both should be correctly syncing (added && removed)All the code in the daemon is designed like this and both should be correctly syncing (added && removed)https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/162Call-Swarm: link to current rdv2023-11-17T16:32:48ZSébastien BlinCall-Swarm: link to current rdv+ Modify messages to use the "rendezvous" word in non 1:1
+ Add a priority to get the best host (mobile/non mobile/ipv6/resources)
+ Maybe use the DRT to avoid to connect to a non connected mobile.+ Modify messages to use the "rendezvous" word in non 1:1
+ Add a priority to get the best host (mobile/non mobile/ipv6/resources)
+ Maybe use the DRT to avoid to connect to a non connected mobile.Swarm-chat2023-03-31https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/903Blocked contact: Toggling own account "Allow calls from unknown contact" duri...2023-11-17T16:30:12ZElysBlocked contact: Toggling own account "Allow calls from unknown contact" during a call / file transfer will create two times the same blocked contact each timerelated: https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/886
<table>
<tr>
<th>
EDIT: Same issue if the Android user previously tried to send an attachment (and/or a text message?) BEFORE the desktop user blocked the Android ...related: https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/886
<table>
<tr>
<th>
EDIT: Same issue if the Android user previously tried to send an attachment (and/or a text message?) BEFORE the desktop user blocked the Android user
If it is file transfer: Every time the desktop user disables and enables the settings "Allow calls from unknown contact" (although it is not a call) the desktop user gets the same contact twice (so 2 -\> 4 -\> 6 -\> 8 etc.) for another time
</th>
</tr>
</table>
Use the beta newest version of Jami (Desktop and Android) with patch: https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/886#note_45676
Steps to reproduce:
1. You can make a call (Jami account 1 (Android) -\> Jami account 2(desktop))
2. Now on desktop (using Jami account 2) block Jami account 1
3. If the desktop user goes to settings he can view the blocked contact (only 1 times the same contact)
4. Now try to make a call Jami account 1 (Android) -\> Jami account 2(desktop)
5. During the Android user makes a call the desktop user turns off the option "Allow calls from unknown contacts" and immediately turns on the option "Allow calls from unknown contacts" again
6. Although the Android user can't call the desktop user anymore, the desktop user will get the same contact twice in the settings "blocked contact"
7. Each time the desktop user repeats these steps he gets the same contact twice again (so in total you'll view the Android user 5 times (1) blocked, 2) two times the same contact: Toggling own account "Allow contacts from unknown contact" 3) two times the same contact: Toggling own account "Allow contacts from unknown contact")
![blockedsamecontact.png](/uploads/72c27565420cdd495194bb7e22a29135/blockedsamecontact.png)
---
Next issue:
If the desktop user just unblocks one of the five / ten same contacts (/Jami account 1 (Android) he'll get the contact in the contact list back again showing call "Finished"
![Finished.png](/uploads/a6d120a453fa66c081136d19c43c3fd2/Finished.png)
---
Next issue:
If the desktop user unblocks all (same) blocked contact it still does not work:
All users (Desktop and Android) have to exit Jami and enter Jami again.
Then the Android user that has been blocked is not listed under "blocked contact" on Jami desktop anymore and communication works.https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/915conference deadlock when media changed2023-11-17T16:29:00ZKateryna Kostiukconference deadlock when media changed```
* thread #10
frame #0: 0x00000001c5fa3f3c libsystem_kernel.dylib`__psynch_mutexwait + 8
frame #1: 0x00000001d5538620 libsystem_pthread.dylib`_pthread_mutex_firstfit_lock_wait + 80
frame #2: 0x00000001d552f304 libsystem_p...```
* thread #10
frame #0: 0x00000001c5fa3f3c libsystem_kernel.dylib`__psynch_mutexwait + 8
frame #1: 0x00000001d5538620 libsystem_pthread.dylib`_pthread_mutex_firstfit_lock_wait + 80
frame #2: 0x00000001d552f304 libsystem_pthread.dylib`_pthread_mutex_firstfit_lock_slow$VARIANT$armv81 + 244
frame #3: 0x00000001020cfc4c Ring`pj_mutex_lock + 32
frame #4: 0x00000001020d7154 Ring`pj_grp_lock_acquire + 60
frame #5: 0x0000000101d41b28 Ring`pjsip_dlg_create_request + 80
* frame #6: 0x000000010164dd54 Ring`jami::SIPCall::sendSIPInfo(this=0x0000000109ed3618, body="<?xml version=\"1.0\" encoding=\"utf-8\" ?><media_control><vc_primitive> <stream_id>1</stream_id><to_encoder><picture_fast_update/></to_encoder></vc_primitive></media_control>", subtype="media_control+xml") at sipcall.cpp:631:9
frame #7: 0x000000010164e3ec Ring`jami::SIPCall::requestKeyframe(this=0x0000000109ed3618, streamIdx=1) at sipcall.cpp:687:9
frame #8: 0x0000000101659bbc Ring`jami::SIPCall::updateRemoteMedia(this=0x0000000109ed3618) at sipcall.cpp:2297:17
frame #9: 0x00000001016979b0 Ring`jami::SIPCall::onMediaNegotiationComplete(this=0x0000000282b3a408)::$_40::operator()() const at sipcall.cpp:2712:24
frame #10: 0x0000000101697780 Ring`void jami::runOnMainThread<jami::SIPCall::onMediaNegotiationComplete()::$_40>(this=0x0000000282b3a408)::$_40&&, char const*, unsigned int)::'lambda'()::operator()() at manager.h:909:87
frame #11: 0x000000010169775c Ring`decltype(__f=0x0000000282b3a408)::$_40>()()) std::__1::__invoke[abi:v15006]<void jami::runOnMainThread<jami::SIPCall::onMediaNegotiationComplete()::$_40>(jami::SIPCall::onMediaNegotiationComplete()::$_40&&, char const*, unsigned int)::'lambda'()&>(jami::SIPCall::onMediaNegotiationComplete()::$_40&&) at invoke.h:394:23
frame #12: 0x0000000101697714 Ring`void std::__1::__invoke_void_return_wrapper<void, true>::__call<void jami::runOnMainThread<jami::SIPCall::onMediaNegotiationComplete(__args=0x0000000282b3a408)::$_40>(jami::SIPCall::onMediaNegotiationComplete()::$_40&&, char const*, unsigned int)::'lambda'()&>(void jami::runOnMainThread<jami::SIPCall::onMediaNegotiationComplete()::$_40>(jami::SIPCall::onMediaNegotiationComplete()::$_40&&, char const*, unsigned int)::'lambda'()&) at invoke.h:479:9
frame #13: 0x00000001016976f0 Ring`std::__1::__function::__alloc_func<void jami::runOnMainThread<jami::SIPCall::onMediaNegotiationComplete()::$_40>(jami::SIPCall::onMediaNegotiationComplete()::$_40&&, char const*, unsigned int)::'lambda'(), std::__1::allocator<void jami::runOnMainThread<jami::SIPCall::onMediaNegotiationComplete()::$_40>(jami::SIPCall::onMediaNegotiationComplete()::$_40&&, char const*, unsigned int)::'lambda'()>, void ()>::operator(this=0x0000000282b3a408)[abi:v15006]() at function.h:185:16
frame #14: 0x00000001016962c4 Ring`std::__1::__function::__func<void jami::runOnMainThread<jami::SIPCall::onMediaNegotiationComplete()::$_40>(jami::SIPCall::onMediaNegotiationComplete()::$_40&&, char const*, unsigned int)::'lambda'(), std::__1::allocator<void jami::runOnMainThread<jami::SIPCall::onMediaNegotiationComplete()::$_40>(jami::SIPCall::onMediaNegotiationComplete()::$_40&&, char const*, unsigned int)::'lambda'()>, void ()>::operator(this=0x0000000282b3a400)() at function.h:359:12
frame #15: 0x0000000101030b98 Ring`std::__1::__function::__value_func<void ()>::operator(this=0x0000000282b3a400)[abi:v15006]() const at function.h:512:16
frame #16: 0x0000000101030b48 Ring`std::__1::function<void ()>::operator(this= Lambda in File manager.h at Line 909)() const at function.h:1197:12
frame #17: 0x000000010105a05c Ring`jami::ScheduledExecutor::loop(this=0x0000000108a4dc20) at scheduled_executor.cpp:145:13
frame #18: 0x000000010105bd78 Ring`jami::ScheduledExecutor::ScheduledExecutor(this=0x000000028242ede8)::$_0::operator()() const at scheduled_executor.cpp:35:13
frame #19: 0x000000010105bd00 Ring`decltype(__f=0x000000028242ede8)::$_0>()()) std::__1::__invoke[abi:v15006]<jami::ScheduledExecutor::ScheduledExecutor(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::$_0>(jami::ScheduledExecutor::ScheduledExecutor(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::$_0&&) at invoke.h:394:23
frame #20: 0x000000010105bc9c Ring`void std::__1::__thread_execute[abi:v15006]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, jami::ScheduledExecutor::ScheduledExecutor(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::$_0>(__t=size=2, (null)=__tuple_indices<> @ 0x000000016fbd6f7f)::$_0>&, std::__1::__tuple_indices<>) at thread:290:5
frame #21: 0x000000010105b4fc Ring`void* std::__1::__thread_proxy[abi:v15006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, jami::ScheduledExecutor::ScheduledExecutor(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::$_0> >(__vp=0x000000028242ede0) at thread:301:5
frame #22: 0x00000001d552f0ec libsystem_pthread.dylib`_pthread_start + 116
(lldb) bt
* thread #80
frame #0: 0x00000001c5fa3f3c libsystem_kernel.dylib`__psynch_mutexwait + 8
frame #1: 0x00000001d5538620 libsystem_pthread.dylib`_pthread_mutex_firstfit_lock_wait + 80
frame #2: 0x00000001d552f304 libsystem_pthread.dylib`_pthread_mutex_firstfit_lock_slow$VARIANT$armv81 + 244
frame #3: 0x0000000198df832c libc++.1.dylib`std::__1::recursive_mutex::lock() + 12
frame #4: 0x0000000101078be0 Ring`std::__1::lock_guard<std::__1::recursive_mutex>::lock_guard[abi:v15006](this=0x00000001722a9c08, __m=0x0000000109ed3700) at __mutex_base:94:27
frame #5: 0x00000001010789a8 Ring`std::__1::lock_guard<std::__1::recursive_mutex>::lock_guard[abi:v15006](this=0x00000001722a9c08, __m=0x0000000109ed3700) at __mutex_base:94:21
* frame #6: 0x000000010165c650 Ring`jami::SIPCall::getMediaAttributeList(this=0x0000000109ed3618) const at sipcall.cpp:2652:43
frame #7: 0x000000010165c8f4 Ring`jami::SIPCall::getAudioStreams(this=0x0000000109ed3618) const at sipcall.cpp:2664:19
frame #8: 0x0000000100f524a8 Ring`jami::Conference::bindParticipant(this=0x0000000110c8b218, participant_id="8812619413191767") at conference.cpp:1000:52
frame #9: 0x000000010165f5b0 Ring`jami::SIPCall::enterConference(this=0x0000000109ed3618, conference=std::__1::shared_ptr<jami::Conference>::element_type @ 0x0000000110c8b218 strong=3 weak=7) at sipcall.cpp:3161:17
frame #10: 0x0000000100f4d104 Ring`jami::Conference::handleMediaChangeRequest(this=0x0000000110c8b218, call=std::__1::shared_ptr<jami::Call>::element_type @ 0x0000000109ed3618 strong=9 weak=19, remoteMediaList=size=2) at conference.cpp:706:11
frame #11: 0x000000010165e1d0 Ring`jami::SIPCall::onReceiveReinvite(this=0x0000000109ed3618, offer=0x0000000110ce4c28, rdata=0x0000000110965fe8) at sipcall.cpp:2953:15
frame #12: 0x00000001016c203c Ring`jami::reinvite_received_cb(inv=0x000000010989fc28, offer=0x0000000110ce4c28, rdata=0x0000000110965fe8) at sipvoiplink.cpp:1002:26
frame #13: 0x0000000101dfba24 Ring`inv_on_state_confirmed + 1572
frame #14: 0x0000000101df9b84 Ring`mod_inv_on_tsx_state + 80
frame #15: 0x0000000101d43534 Ring`pjsip_dlg_on_tsx_state + 172
frame #16: 0x0000000101d3d750 Ring`tsx_set_state + 488
frame #17: 0x0000000101d3ce78 Ring`tsx_on_state_null + 56
frame #18: 0x0000000101d3db5c Ring`pjsip_tsx_recv_msg + 144
frame #19: 0x0000000101d42bf0 Ring`pjsip_dlg_on_rx_request + 796
frame #20: 0x0000000101d446fc Ring`mod_ua_on_rx_request + 540
frame #21: 0x0000000101d2d08c Ring`pjsip_endpt_process_rx_data + 452
frame #22: 0x0000000101d2c8ec Ring`endpt_on_rx_msg + 336
frame #23: 0x0000000101d33f70 Ring`pjsip_tpmgr_receive_packet + 1008
frame #24: 0x00000001011518e8 Ring`jami::tls::ChanneledSIPTransport::start(this=0x000000010f484808, buf="\xeba\x9e\v\xd8M\xb7\x87^\x9cҟ\x8b\U0000001f\x9f\U00000010\x9c\xb1\x83^\x99邛\xd0\xe4\xfe?\xebB\x9bi\xf6\b*'\xf7\xe7\U00000014\U000000116_\xee\xa2\U0000001d\xed\x91\xc2\xd8\U00000012\xf9=\xf5/\x96\U0000001a\xe70\xf3B\x82C\xd7\xcaV;ߖ\xfa\U0000001c\x8d\xfa\x80\xf3$\x888\xf8\xc2\xef\U00000005\xe5\xd4\xcbԟ\xd1W\xc3D!\x9f\x98\U00000013\xcf=9\xfe\x8d\x9f\x88VI\U0000001b/\x8b\x85d\xb5\x97", len=1390)::$_3::operator()(unsigned char const*, unsigned long) const at channeled_transport.cpp:172:26
frame #25: 0x000000010115180c Ring`decltype(__f=0x000000010f484808, __args=0x00000001722aad58, __args=0x00000001722aad50)::$_3&>()(std::declval<unsigned char const*>(), std::declval<unsigned long>())) std::__1::__invoke[abi:v15006]<jami::tls::ChanneledSIPTransport::start()::$_3&, unsigned char const*, unsigned long>(jami::tls::ChanneledSIPTransport::start()::$_3&, unsigned char const*&&, unsigned long&&) at invoke.h:394:23
frame #26: 0x00000001011517ac Ring`long std::__1::__invoke_void_return_wrapper<long, false>::__call<jami::tls::ChanneledSIPTransport::start(__args=0x000000010f484808, __args=0x00000001722aad58, __args=0x00000001722aad50)::$_3&, unsigned char const*, unsigned long>(jami::tls::ChanneledSIPTransport::start()::$_3&, unsigned char const*&&, unsigned long&&) at invoke.h:470:16
frame #27: 0x0000000101151778 Ring`std::__1::__function::__alloc_func<jami::tls::ChanneledSIPTransport::start()::$_3, std::__1::allocator<jami::tls::ChanneledSIPTransport::start()::$_3>, long (unsigned char const*, unsigned long)>::operator(this=0x000000010f484808, __arg=0x00000001722aad58, __arg=0x00000001722aad50)[abi:v15006](unsigned char const*&&, unsigned long&&) at function.h:185:16
frame #28: 0x00000001011505dc Ring`std::__1::__function::__func<jami::tls::ChanneledSIPTransport::start()::$_3, std::__1::allocator<jami::tls::ChanneledSIPTransport::start()::$_3>, long (unsigned char const*, unsigned long)>::operator(this=0x000000010f484800, __arg=0x00000001722aad58, __arg=0x00000001722aad50)(unsigned char const*&&, unsigned long&&) at function.h:359:12
frame #29: 0x0000000101c49bec Ring`dhtnet::ChannelSocket::onRecv(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >&&) + 88
frame #30: 0x0000000101c4510c Ring`dhtnet::MultiplexedSocket::Impl::handleChannelPacket(unsigned short, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >&&) + 268
frame #31: 0x0000000101c44348 Ring`dhtnet::MultiplexedSocket::Impl::eventLoop() + 532
frame #32: 0x0000000101c4e2a4 Ring`dhtnet::MultiplexedSocket::Impl::Impl(dhtnet::MultiplexedSocket&, std::__1::shared_ptr<asio::io_context>, dht::Hash<32ul> const&, std::__1::unique_ptr<dhtnet::TlsSocketEndpoint, std::__1::default_delete<dhtnet::TlsSocketEndpoint> >, std::__1::shared_ptr<dht::log::Logger>)::'lambda'()::operator()() const + 44
frame #33: 0x0000000101c4e1ec Ring`void* std::__1::__thread_proxy[abi:v15006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, dhtnet::MultiplexedSocket::Impl::Impl(dhtnet::MultiplexedSocket&, std::__1::shared_ptr<asio::io_context>, dht::Hash<32ul> const&, std::__1::unique_ptr<dhtnet::TlsSocketEndpoint, std::__1::default_delete<dhtnet::TlsSocketEndpoint> >, std::__1::shared_ptr<dht::log::Logger>)::'lambda'()> >(void*) + 52
frame #34: 0x00000001d552f0ec libsystem_pthread.dylib`_pthread_start + 116
```https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/916Swarm-call: sometimes doesn't answer2023-11-17T16:28:52ZSébastien BlinSwarm-call: sometimes doesn't answer# Scenario
none identified
# Current result
Sometimes, caller stays in calling (but a swarm-call should be automatically answered by the host)# Scenario
none identified
# Current result
Sometimes, caller stays in calling (but a swarm-call should be automatically answered by the host)Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/917Swarm-call: bugguy state if join call in audio-only2023-11-17T16:28:47ZSébastien BlinSwarm-call: bugguy state if join call in audio-only# Scenario
+ Host a video call in a swarm
+ With another device join in audio
# Current result
+ Stuck in calling, media not negotiated
# Expected
+ Call should work with muted video# Scenario
+ Host a video call in a swarm
+ With another device join in audio
# Current result
+ Stuck in calling, media not negotiated
# Expected
+ Call should work with muted videoSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1428chat not synchronizing2023-11-17T14:57:31ZGchat not synchronizingPlease specify the following:
- OS: WIN 11
- Jami version: latest to date (12.11.2023)
- What build you are using: \[jami.net\]
## Steps to reproduce
Note: Better the scenario is, better we will be able to reproduce and debug.
- Can ...Please specify the following:
- OS: WIN 11
- Jami version: latest to date (12.11.2023)
- What build you are using: \[jami.net\]
## Steps to reproduce
Note: Better the scenario is, better we will be able to reproduce and debug.
- Can you reproduce the bug: \[at will | occasionally | not at all\]
- Steps: 1. open jami 2. open chat
- Actual result: stuck on sync screen
- ![image.png](/uploads/98f4c8836fbea7cba9e0ad263f7b4316/image.png){width=518 height=449}
- Expected result: being able to chat.https://git.jami.net/savoirfairelinux/jami-jams/-/issues/132ContactServlet: Double quotes around contact uri in Jams database2023-11-10T14:32:37ZPhilippe LaroseContactServlet: Double quotes around contact uri in Jams databaseWhen a contact is added from the jams client, a double quote is place around the URI database value which then prevents it from being displayed in the client. The error is located server-side.When a contact is added from the jams client, a double quote is place around the URI database value which then prevents it from being displayed in the client. The error is located server-side.Philippe LarosePhilippe Larosehttps://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1401The "About" button appears very tight2023-11-09T20:45:06ZannaThe "About" button appears very tight![Screenshot](/uploads/3f2ae3f44f6c654cb4a4773137f66b43/Screenshot.png)
And that is independent of the window size.
Version: 202310301516![Screenshot](/uploads/3f2ae3f44f6c654cb4a4773137f66b43/Screenshot.png)
And that is independent of the window size.
Version: 202310301516https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/485Rework of the file streaming feature2023-11-09T20:43:58ZPierre LespagnolRework of the file streaming featureUse the media player to stream filesUse the media player to stream filesBacklogAline Gondim SantosAline Gondim Santoshttps://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1411Segfault when right click on settings editable text2023-11-09T19:22:43ZLiam CoursodonSegfault when right click on settings editable text1. Go to settings
2. Find a text zone (Account -> Customize profile for exemple)
3. Select the text and right click like for copy it
4. Do it 3/4 times
5. Segfault1. Go to settings
2. Find a text zone (Account -> Customize profile for exemple)
3. Select the text and right click like for copy it
4. Do it 3/4 times
5. SegfaultLiam CoursodonLiam Coursodonhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/914Video bitrate adjustment improvements2023-11-09T13:45:43ZAlexander Lussier-CullenVideo bitrate adjustment improvementsCurrently, the video bitrate adjustment functionality doesn't perform optimally.
When losses are detected, the bitrate is reduced.
The problem is that it can then immediately be increased again, repeating the losses.
This means that i...Currently, the video bitrate adjustment functionality doesn't perform optimally.
When losses are detected, the bitrate is reduced.
The problem is that it can then immediately be increased again, repeating the losses.
This means that if losses are consistent due to some network limitation, they will repeatedly occur without end.https://git.jami.net/savoirfairelinux/jami-plugins-store/-/issues/7Refactor Plugin Store2023-11-09T13:22:50ZXavier Jouslin de NorayRefactor Plugin StoreAfter the developpement major issue happened last week,the plugin store is become not maintanable and hard to debug. The major problem of the plugin store is implemented. It's decided to refactor it. Here's the new class diagram:
![class...After the developpement major issue happened last week,the plugin store is become not maintanable and hard to debug. The major problem of the plugin store is implemented. It's decided to refactor it. Here's the new class diagram:
![class-diagram.svg](/uploads/a47c0ed04931ebf350ba933a14e61f6e/class-diagram.svg)Xavier Jouslin de NorayXavier Jouslin de Noray2023-09-20https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1276Contact Name Changing nor Persistent nor Synced2023-11-09T08:32:24ZMartin MayerContact Name Changing nor Persistent nor SyncedHi all,
when I change a contact name like here
![grafik](/uploads/a2482eb719e30ed05c1ce587edbda369/grafik.png)
that changes are
* not reflected to my android device
* do for **some** contacts not persist when restarting the applicat...Hi all,
when I change a contact name like here
![grafik](/uploads/a2482eb719e30ed05c1ce587edbda369/grafik.png)
that changes are
* not reflected to my android device
* do for **some** contacts not persist when restarting the application
<details><summary>Version</summary>
```
flatpak info net.jami.Jami
Jami - Privacy-oriented voice, video, chat, and conference platform
Kennung: net.jami.Jami
Ref: app/net.jami.Jami/x86_64/stable
Architektur: x86_64
Zweig: stable
Version: 20230727.1.3b85425a
Lizenz: GPL-3.0+
Ursprung: flathub
Sammlung: org.flathub.Stable
Installation: system
Installiert: 66,5 MB
Laufzeitumgebung: org.kde.Platform/x86_64/6.5
Sdk: org.kde.Sdk/x86_64/6.5
Commit: 78f0888061944efdf28f52a7870583ef84bc3861bbe824b3281bf0748707eb6e
Parent: f9d2b675b961a0cc3ab7c0f48272f49de00c866e8fae1e08972fd9cdec6111e5
Betreff: update jami to 3b85425a (1e146e6e)
Datum: 2023-07-28 08:52:02 +0000
```
</details>https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1424Display name change does not work for conversations which are offline2023-11-09T08:32:22ZovariDisplay name change does not work for conversations which are offlineThe following steps are for a Jami-type account (non-SIP account):
1. Click on a contact which is **_not_** online
2. Click `Details` in the top right
3. Click on the `Display name`
4. Change the name and press Enter
5. Quit Jami
6. Open...The following steps are for a Jami-type account (non-SIP account):
1. Click on a contact which is **_not_** online
2. Click `Details` in the top right
3. Click on the `Display name`
4. Change the name and press Enter
5. Quit Jami
6. Open Jami
7. **Bug:** The shown `Display name` is the name prior to the change by point 4 above
If step 1 is changed to:
1. Click on a contact which **_is_** online
then the `Display name` remains changed after quitting and re-opening Jami
Thank you
May be related to, or a duplicate of, https://git.jami.net/savoirfairelinux/jami-project/-/issues/757
Linux Mint 21.2 Cinnamon<br>
Jami Version: 202310301531https://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1430Maximize self in 1:1 video call2023-11-08T23:11:09ZWear GuxjMaximize self in 1:1 video callDuring a 1:1 video call on mobile handset, the outgoing video is always displayed as a thumbnail. Ideally, I should be able swap the pictures at any time. Particularly if there is no incoming video, it would be smarter if the outgoing (m...During a 1:1 video call on mobile handset, the outgoing video is always displayed as a thumbnail. Ideally, I should be able swap the pictures at any time. Particularly if there is no incoming video, it would be smarter if the outgoing (mirror) video is maximized rather than a small thumbnail on a void screen.
I can't find any way to do this, despite reading comments like #1429 and [939f6c](https://git.jami.net/savoirfairelinux/jami-client-android/-/commit/939f6c202fdc8baa7057fd35aee18a3fa05a8b01). So are there different UI wheteher 1:1 or conference? Will those be merged later?https://git.jami.net/savoirfairelinux/jami-project/-/issues/383CardBook integration2023-11-08T21:18:36ZJami BotCardBook integrationIssue generated from Tuleap's migration script.
**Originally submitted by: Óvári (ovari)**
GNU Ring protocol for CardBook address book integration
Mr Philippe Vigneau, developer of the CardBook add-on for Thunderbird, would like to...Issue generated from Tuleap's migration script.
**Originally submitted by: Óvári (ovari)**
GNU Ring protocol for CardBook address book integration
Mr Philippe Vigneau, developer of the CardBook add-on for Thunderbird, would like to add GNU Ring to his Contacts program.
https://addons.mozilla.org/thunderbird/addon/cardbook/
Would you please advise what protocol Ring uses?
It would be appreciated if you would communicated directly with Mr Vigneau, email cardbook.thunderbird@gmail.com. Mr Vigneau speaks French and English.
Thanking you in advance.
P.S. It will then enable the "Ring (software)" Wikipedia entry to be updated from:
\* Address book integration in GNOME and KDE
to:
\* Address book integration in CardBook, GNOME and KDE
https://en.wikipedia.org/wiki/Ring\_(software)