jami-daemon issueshttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues2023-03-28T14:54:49Zhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/828Multiple host video is broken2023-03-28T14:54:49ZSébastien BlinMultiple host video is broken# Scenario
+ Alice got a conference with Bob and Carla
+ Carla adds David to the conference (Alice and Carla are now a host)
# Current result
+ Video & maximize is broken
# Expected
We should be able to maximize and see the 4 videos# Scenario
+ Alice got a conference with Bob and Carla
+ Carla adds David to the conference (Alice and Carla are now a host)
# Current result
+ Video & maximize is broken
# Expected
We should be able to maximize and see the 4 videoshttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/660Conference, various crash on peer exit2021-11-24T14:58:45ZSébastien BlinConference, various crash on peer exit# Scenario
+ Alice call Bob
+ Alice adds Carla to the conference
+ Bob stop
+ Crash
```
0x00007fffedfe7364 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator std::basic_string_view<char, std::c...# Scenario
+ Alice call Bob
+ Alice adds Carla to the conference
+ Bob stop
+ Crash
```
0x00007fffedfe7364 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator std::basic_string_view<char, std::char_traits<char> >() const () from /lib64/libstdc++.so.6
(gdb) bt
#0 0x00007fffedfe7364 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator std::basic_string_view<char, std::char_traits<char> >() const () at /lib64/libstdc++.so.6
#1 0x00007fffec0f563c in std::less<void>::_S_cmp<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&, std::integral_constant<bool, false>) (__t=<error reading variable: Cannot access memory at address 0x40>, __u="") at /usr/include/c++/10/bits/stl_function.h:601
#2 0x00007fffec0f569f in std::less<void>::operator()<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&) const (this=0xc3c6c8, __t=<error reading variable: Cannot access memory at address 0x40>, __u="") at /usr/include/c++/10/bits/stl_function.h:586
#3 0x00007fffec0f0eeb in std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::_Identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<void>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_lower_bound_tr<std::basic_string_view<char, std::char_traits<char> >, void>(std::basic_string_view<char, std::char_traits<char> > const&) const (this=0xc3c6c8, __k="") at /usr/include/c++/10/bits/stl_tree.h:1346
#4 0x00007fffec0eb35e in std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::_Identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<void>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_find_tr<std::basic_string_view<char, std::char_traits<char> >, void>(std::basic_string_view<char, std::char_traits<char> > const&) const (this=0xc3c6c8, __k="") at /usr/include/c++/10/bits/stl_tree.h:1314
#5 0x00007fffec0e63b3 in std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<void>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::find<std::basic_string_view<char, std::char_traits<char> > >(std::basic_string_view<char, std::char_traits<char> > const&) const (this=0xc3c6c8, __x="") at /usr/include/c++/10/bits/stl_set.h:812
#6 0x00007fffec0d9002 in jami::Conference::isModerator(std::basic_string_view<char, std::char_traits<char> >) const (this=0xc3c4a0, uri="") at conference.cpp:946
#7 0x00007fffec0d327a in operator()() const (__closure=0x7ffe9e2422c0) at conference.cpp:100
#8 0x00007fffec0dc11a in operator()() (this=0x7ffe9e2422c0) at manager.h:1057
#9 0x00007fffec0de730 in std::__invoke_impl<void, jami::runOnMainThread<jami::Conference::Conference(bool)::<lambda(std::vector<jami::video::SourceInfo>&&)>::<lambda()> >::<lambda()>&>(std::__invoke_other, struct {...} &) (__f=...)
at /usr/include/c++/10/bits/invoke.h:60
#10 0x00007fffec0ddef4 in std::__invoke_r<void, jami::runOnMainThread<jami::Conference::Conference(bool)::<lambda(std::vector<jami::video::SourceInfo>&&)>::<lambda()> >::<lambda()>&>(struct {...} &) (__fn=...) at /usr/include/c++/10/bits/invoke.h:110
#11 0x00007fffec0dd337 in std::_Function_handler<void(), jami::runOnMainThread<jami::Conference::Conference(bool)::<lambda(std::vector<jami::video::SourceInfo>&&)>::<lambda()> >::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...)
at /usr/include/c++/10/bits/std_function.h:291
#12 0x00007fffec1328d8 in std::function<void ()>::operator()() const (this=0x7ffe9e5d5e40) at /usr/include/c++/10/bits/std_function.h:622
#13 0x00007fffec205ce3 in jami::ScheduledExecutor::loop() (this=0xdc94a0) at scheduled_executor.cpp:137
#14 0x00007fffec2052a1 in operator()() const (__closure=0xe2e828) at scheduled_executor.cpp:32
#15 0x00007fffec207212 in std::__invoke_impl<void, jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> >(std::__invoke_other, struct {...} &&) (__f=...) at /usr/include/c++/10/bits/invoke.h:60
#16 0x00007fffec2071c7 in std::__invoke<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> >(struct {...} &&) (__fn=...) at /usr/include/c++/10/bits/invoke.h:95
#17 0x00007fffec207174 in std::thread::_Invoker<std::tuple<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > >::_M_invoke<0>(std::_Index_tuple<0>) (this=0xe2e828) at /usr/include/c++/10/thread:264
#18 0x00007fffec207148 in std::thread::_Invoker<std::tuple<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > >::operator()(void) (this=0xe2e828) at /usr/include/c++/10/thread:271
#19 0x00007fffec20712c in std::thread::_State_impl<std::thread::_Invoker<std::tuple<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > > >::_M_run(void) (this=0xe2e820) at /usr/include/c++/10/thread:215
#20 0x00007fffedf38444 in execute_native_thread_routine () at /lib64/libstdc++.so.6
#21 0x00007fffed9513f9 in start_thread () at /lib64/libpthread.so.0
#22 0x00007fffedc354c3 in clone () at /lib64/libc.so.6
```
```
Thread 72 "jami-qt" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffebaffd640 (LWP 3232921)]
std::_Rb_tree<jami::Observable<std::shared_ptr<DRing::MediaFrame> >*, std::pair<jami::Observable<std::shared_ptr<DRing::MediaFrame> >* const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<jami::Observable<std::shared_ptr<DRing::MediaFrame> >* const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<jami::Observable<std::shared_ptr<DRing::MediaFrame> >*>, std::allocator<std::pair<jami::Observable<std::shared_ptr<DRing::MediaFrame> >* const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_lower_bound (this=0x817f990, __x=0xc, __y=0x817f998, __k=@0x7ffebaff92f0: 0xd117170) at /usr/include/c++/10/bits/stl_tree.h:1937
1937 if (!_M_impl._M_key_compare(_S_key(__x), __k))
(gdb) bt
#0 std::_Rb_tree<jami::Observable<std::shared_ptr<DRing::MediaFrame> >*, std::pair<jami::Observable<std::shared_ptr<DRing::MediaFrame> >* const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<jami::Observable<std::shared_ptr<DRing::MediaFrame> >* const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<jami::Observable<std::shared_ptr<DRing::MediaFrame> >*>, std::allocator<std::pair<jami::Observable<std::shared_ptr<DRing::MediaFrame> >* const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_lower_bound(std::_Rb_tree_node<std::pair<jami::Observable<std::shared_ptr<DRing::MediaFrame> >* const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*, std::_Rb_tree_node_base*, jami::Observable<std::shared_ptr<DRing::MediaFrame> >* const&) (this=0x817f990, __x=0xc, __y=0x817f998, __k=@0x7ffebaff92f0: 0xd117170) at /usr/include/c++/10/bits/stl_tree.h:1937
#1 0x00007fffec0ea361 in std::_Rb_tree<jami::Observable<std::shared_ptr<DRing::MediaFrame> >*, std::pair<jami::Observable<std::shared_ptr<DRing::MediaFrame> >* const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<jami::Observable<std::shared_ptr<DRing::MediaFrame> >* const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<jami::Observable<std::shared_ptr<DRing::MediaFrame> >*>, std::allocator<std::pair<jami::Observable<std::shared_ptr<DRing::MediaFrame> >* const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::find(jami::Observable<std::shared_ptr<DRing::MediaFrame> >* const&) (this=0x817f990, __k=@0x7ffebaff92f0: 0xd117170)
at /usr/include/c++/10/bits/stl_tree.h:2555
#2 0x00007fffec0e6513 in std::map<jami::Observable<std::shared_ptr<DRing::MediaFrame> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<jami::Observable<std::shared_ptr<DRing::MediaFrame> >*>, std::allocator<std::pair<jami::Observable<std::shared_ptr<DRing::MediaFrame> >* const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::find(jami::Observable<std::shared_ptr<DRing::MediaFrame> >* const&) (this=0x817f990, __x=@0x7ffebaff92f0: 0xd117170)
at /usr/include/c++/10/bits/stl_map.h:1170
#3 0x00007fffec0d9af9 in jami::Conference::detachVideo(jami::Observable<std::shared_ptr<DRing::MediaFrame> >*) (this=0x817f860, frame=0xd117170) at conference.cpp:610
#4 0x00007fffec324a1a in jami::video::VideoRtpSession::setupConferenceVideoPipeline(jami::Conference&) (this=0xd120760, conference=...) at ./media/video/video_rtp_session.cpp:352
#5 0x00007fffec324795 in jami::video::VideoRtpSession::setupVideoPipeline() (this=0xd120760) at ./media/video/video_rtp_session.cpp:324
#6 0x00007fffec3242dc in jami::video::VideoRtpSession::start(std::unique_ptr<jami::IceSocket, std::default_delete<jami::IceSocket> >, std::unique_ptr<jami::IceSocket, std::default_delete<jami::IceSocket> >)
(this=0xd120760, rtp_sock=std::unique_ptr<jami::IceSocket> = {...}, rtcp_sock=std::unique_ptr<jami::IceSocket> = {...}) at ./media/video/video_rtp_session.cpp:271
#7 0x00007fffec37350e in jami::SIPCall::startAllMedia() (this=0xd117280) at ./sip/sipcall.cpp:2037
#8 0x00007fffec3756b4 in jami::SIPCall::onIceNegoSucceed() (this=0xd117280) at ./sip/sipcall.cpp:2472
#9 0x00007fffec378a1e in operator()() const (__closure=0x7ffb880099c0) at ./sip/sipcall.cpp:3129
#10 0x00007fffec37c878 in operator()() (this=0x7ffb880099c0) at ./manager.h:1057
#11 0x00007fffec3825e2 in std::__invoke_impl<void, jami::runOnMainThread<jami::SIPCall::initIceMediaTransport(bool, std::optional<jami::IceTransportOptions>)::<lambda(bool)>::<lambda()> >::<lambda()>&>(std::__invoke_other, struct {...} &) (__f=...)
at /usr/include/c++/10/bits/invoke.h:60
#12 0x00007fffec3813d2 in std::__invoke_r<void, jami::runOnMainThread<jami::SIPCall::initIceMediaTransport(bool, std::optional<jami::IceTransportOptions>)::<lambda(bool)>::<lambda()> >::<lambda()>&>(struct {...} &) (__fn=...) at /usr/include/c++/10/bits/invoke.h:110
#13 0x00007fffec37f7c3 in std::_Function_handler<void(), jami::runOnMainThread<jami::SIPCall::initIceMediaTransport(bool, std::optional<jami::IceTransportOptions>)::<lambda(bool)>::<lambda()> >::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...)
at /usr/include/c++/10/bits/std_function.h:291
#14 0x00007fffec134480 in std::function<void ()>::operator()() const (this=0x7ffb880098f0) at /usr/include/c++/10/bits/std_function.h:622
#15 0x00007fffec20789d in jami::ScheduledExecutor::loop() (this=0xdcc320) at scheduled_executor.cpp:137
#16 0x00007fffec206e5b in operator()() const (__closure=0xdfcab8) at scheduled_executor.cpp:32
#17 0x00007fffec208dcc in std::__invoke_impl<void, jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> >(std::__invoke_other, struct {...} &&) (__f=...) at /usr/include/c++/10/bits/invoke.h:60
#18 0x00007fffec208d81 in std::__invoke<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> >(struct {...} &&) (__fn=...) at /usr/include/c++/10/bits/invoke.h:95
#19 0x00007fffec208d2e in std::thread::_Invoker<std::tuple<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > >::_M_invoke<0>(std::_Index_tuple<0>) (this=0xdfcab8) at /usr/include/c++/10/thread:264
#20 0x00007fffec208d02 in std::thread::_Invoker<std::tuple<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > >::operator()(void) (this=0xdfcab8) at /usr/include/c++/10/thread:271
#21 0x00007fffec208ce6 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > > >::_M_run(void) (this=0xdfcab0) at /usr/include/c++/10/thread:215
#22 0x00007fffedf38444 in execute_native_thread_routine () at /lib64/libstdc++.so.6
#23 0x00007fffed9513f9 in start_thread () at /lib64/libpthread.so.0
#24 0x00007fffedc354c3 in clone () at /lib64/libc.so.6
```
```
0x00007fffedf23e53 in std::_Rb_tree_increment(std::_Rb_tree_node_base const*) () from /lib64/libstdc++.so.6
(gdb) bt
#0 0x00007fffedf23e53 in std::_Rb_tree_increment(std::_Rb_tree_node_base const*) () at /lib64/libstdc++.so.6
#1 0x00007fffec0e6993 in std::_Rb_tree_const_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::operator++() (this=0x7ffecaff92d8) at /usr/include/c++/10/bits/stl_tree.h:368
#2 0x00007fffec0dd8e7 in jami::Conference::isHost(std::basic_string_view<char, std::char_traits<char> >) const (this=0x9448cf0, uri="host") at conference.cpp:1158
#3 0x00007fffec0dc040 in jami::Conference::isHandRaised(std::basic_string_view<char, std::char_traits<char> >) const (this=0x9448cf0, uri="host") at conference.cpp:948
#4 0x00007fffec0d634d in operator()() const (__closure=0x7ffafc4be450) at conference.cpp:108
#5 0x00007fffec0dee4c in operator()() (this=0x7ffafc4be450) at manager.h:1057
#6 0x00007fffec0e045e in std::__invoke_impl<void, jami::runOnMainThread<jami::Conference::Conference(bool)::<lambda(std::vector<jami::video::SourceInfo>&&)>::<lambda()> >::<lambda()>&>(std::__invoke_other, struct {...} &) (__f=...)
at /usr/include/c++/10/bits/invoke.h:60
#7 0x00007fffec0e005c in std::__invoke_r<void, jami::runOnMainThread<jami::Conference::Conference(bool)::<lambda(std::vector<jami::video::SourceInfo>&&)>::<lambda()> >::<lambda()>&>(struct {...} &) (__fn=...) at /usr/include/c++/10/bits/invoke.h:110
#8 0x00007fffec0dfa21 in std::_Function_handler<void(), jami::runOnMainThread<jami::Conference::Conference(bool)::<lambda(std::vector<jami::video::SourceInfo>&&)>::<lambda()> >::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...)
at /usr/include/c++/10/bits/std_function.h:291
#9 0x00007fffec134480 in std::function<void ()>::operator()() const (this=0x7ffb241e8d40) at /usr/include/c++/10/bits/std_function.h:622
#10 0x00007fffec20789d in jami::ScheduledExecutor::loop() (this=0xdcb3a0) at scheduled_executor.cpp:137
#11 0x00007fffec206e5b in operator()() const (__closure=0xde11c8) at scheduled_executor.cpp:32
#12 0x00007fffec208dcc in std::__invoke_impl<void, jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> >(std::__invoke_other, struct {...} &&) (__f=...) at /usr/include/c++/10/bits/invoke.h:60
#13 0x00007fffec208d81 in std::__invoke<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> >(struct {...} &&) (__fn=...) at /usr/include/c++/10/bits/invoke.h:95
#14 0x00007fffec208d2e in std::thread::_Invoker<std::tuple<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > >::_M_invoke<0>(std::_Index_tuple<0>) (this=0xde11c8) at /usr/include/c++/10/thread:264
#15 0x00007fffec208d02 in std::thread::_Invoker<std::tuple<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > >::operator()(void) (this=0xde11c8) at /usr/include/c++/10/thread:271
#16 0x00007fffec208ce6 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > > >::_M_run(void) (this=0xde11c0) at /usr/include/c++/10/thread:215
#17 0x00007fffedf38444 in execute_native_thread_routine () at /lib64/libstdc++.so.6
#18 0x00007fffed9513f9 in start_thread () at /lib64/libpthread.so.0
#19 0x00007fffedc354c3 in clone () at /lib64/libc.so.6
(gdb)
```Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/562Conference: create sink for each peer2021-09-08T14:06:10ZAline Gondim SantosConference: create sink for each peerAline Gondim SantosMohamed ChibaniAline Gondim Santoshttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/502Moderator not able to mute host in rendez-vous2021-04-13T13:38:16ZPierre LespagnolModerator not able to mute host in rendez-vous# Scenario
- Bob call Bob-RDV (2 accounts same device)
- Alice join Bod-RDV
- Alice mute Bob
# Current Result
- Bob is not muted# Scenario
- Bob call Bob-RDV (2 accounts same device)
- Alice join Bod-RDV
- Alice mute Bob
# Current Result
- Bob is not mutedPierre LespagnolPierre Lespagnolhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/468Prepare reception of the new conference info2021-03-17T17:39:39ZPierre LespagnolPrepare reception of the new conference infosee #467see #467Pierre LespagnolPierre Lespagnolhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/467Add frame size to conference info2021-04-13T13:38:05ZPierre LespagnolAdd frame size to conference infoPierre LespagnolPierre Lespagnolhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/465Video mixer: avoid black bands around video2021-03-19T17:47:03ZSébastien BlinVideo mixer: avoid black bands around videoPierre LespagnolPierre Lespagnolhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/414Rendezvous: mute other calls on new incoming calls2021-03-19T17:40:47ZSébastien BlinRendezvous: mute other calls on new incoming calls# Scenario
+ Alice is in a call with Bob and is hosting rendezvous-alice
+ Someone call rendezvous-alice
# Current Result
+ Alice and Bob got no sound
# Expected
+ Alice & Bob should hear eachother# Scenario
+ Alice is in a call with Bob and is hosting rendezvous-alice
+ Someone call rendezvous-alice
# Current Result
+ Alice and Bob got no sound
# Expected
+ Alice & Bob should hear eachotherPierre LespagnolPierre Lespagnolhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/329Video-conference: Make moderators able to hang up a call2021-01-06T14:55:46ZSébastien BlinVideo-conference: Make moderators able to hang up a callA moderator is only able to change the layout currently, only the host can hang up calls. This needs some change:
+ Add a hangupParticipant API for the daemon which takes the URI of the participant to hang
+ If it's the host, just ha...A moderator is only able to change the layout currently, only the host can hang up calls. This needs some change:
+ Add a hangupParticipant API for the daemon which takes the URI of the participant to hang
+ If it's the host, just hang up the call
+ If not, send to the host of the call a confOrder (https://git.jami.net/savoirfairelinux/ring-project/wikis/technical/6.1.-Conference-Protocol) to ask the host to hang up the call for this participant
+ Clients should show hangup if they are moderatorIteration 25Pierre LespagnolPierre Lespagnolhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/323Sound is cut when receiving a new call in a rdv2021-02-04T13:59:58ZSébastien BlinSound is cut when receiving a new call in a rdv# Reproduce steps:
Alice has 2 accounts A1, A2 (which is a rdv) ; Bob account B, Carla account C
+ A1 calls B
+ C calls A2 while A&B is in a call
+ Call between A1 & B => sound is cut
# Expected result
The sound must go on# Reproduce steps:
Alice has 2 accounts A1, A2 (which is a rdv) ; Bob account B, Carla account C
+ A1 calls B
+ C calls A2 while A&B is in a call
+ Call between A1 & B => sound is cut
# Expected result
The sound must go onhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/322Conference: moderators should be able to hangup a participant2020-12-10T16:57:26ZSébastien BlinConference: moderators should be able to hangup a participantAll is in the titleAll is in the titlehttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/729video-split: remove dummyrtpsession2022-04-07T20:26:42ZAline Gondim Santosvideo-split: remove dummyrtpsessionBefore Video-split we needed a dummy rtp session in order to show audio only participants in the conference ui.
With the mentioned change, we can now remove this dummy session.Before Video-split we needed a dummy rtp session in order to show audio only participants in the conference ui.
With the mentioned change, we can now remove this dummy session.Aline Gondim SantosAline Gondim Santoshttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/604Video conf: bad mute status2021-08-05T19:41:06ZSébastien BlinVideo conf: bad mute status+ Alice is a rendez-vous
+ Bob joins
+ Carla joins
+ Bob is muted by a moderator
+ Bob leaves
+ Bob joins
# Expected result
+ Bob should not be shown as muted because it's not anymore
# Current
Bob is shown as muted+ Alice is a rendez-vous
+ Bob joins
+ Carla joins
+ Bob is muted by a moderator
+ Bob leaves
+ Bob joins
# Expected result
+ Bob should not be shown as muted because it's not anymore
# Current
Bob is shown as mutedAline Gondim SantosAline Gondim Santoshttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/507Unable to kick local participant from rendez-vous2024-01-26T12:42:50ZPierre LespagnolUnable to kick local participant from rendez-vous# Scenario
- Bob join RDV-Bob (2 accounts same device)
- Bob join RDV-Alice
- Alice join RDV-Alice (2 accounts same device)
- Bob kick Alice from conference
# Expected result
- Alice is kicked from RDV-Alice
# Current result
- Alice is...# Scenario
- Bob join RDV-Bob (2 accounts same device)
- Bob join RDV-Alice
- Alice join RDV-Alice (2 accounts same device)
- Bob kick Alice from conference
# Expected result
- Alice is kicked from RDV-Alice
# Current result
- Alice is not kicked
# Logs
```
Invalid conference state in detach participant: current "ACTIVE_DETACHED" - expected "ACTIVE_ATTACHED"
```Pierre LespagnolPierre Lespagnolhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/505Update missing at the end of sub- conference2021-04-13T13:37:58ZPierre LespagnolUpdate missing at the end of sub- conference# Scenario
- Bob join Bob-RDV (2 accounts same device)
- Alice join Bob-RDV
- Bob create conference with Bob-RDV and Roger
- Bob ends conference
# Current result
- Alice doesn't receive the update and see remaining layout from Bob and R...# Scenario
- Bob join Bob-RDV (2 accounts same device)
- Alice join Bob-RDV
- Bob create conference with Bob-RDV and Roger
- Bob ends conference
# Current result
- Alice doesn't receive the update and see remaining layout from Bob and RogerPierre LespagnolPierre Lespagnolhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/503Overlay not fit the participant frame in rendez-vous2021-04-13T13:38:19ZPierre LespagnolOverlay not fit the participant frame in rendez-vous# Scenario
- Bob join Bob-RDV (2 accounts same device)
- Alice join Bob-RDV
- Bob create conference with Bob-RDV and Roger
# Current result
- The Bob and Roger's overlay not fit their frames for Alice
# Notes
- If Bob change the layout...# Scenario
- Bob join Bob-RDV (2 accounts same device)
- Alice join Bob-RDV
- Bob create conference with Bob-RDV and Roger
# Current result
- The Bob and Roger's overlay not fit their frames for Alice
# Notes
- If Bob change the layout, the overlays are displayed as expected
- Observed on qt-client (maybe client side)Pierre LespagnolPierre Lespagnolhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/491Layout update missing for rendezvous2021-04-13T13:37:59ZPierre LespagnolLayout update missing for rendezvous# Scenario
- Bob call rendezvous-bob
- Alice call rendezvous-bob
- Bob create conf with rendezvous-bob and Roger
- Alice quit rendezvous-bob
- Alice call rendezvous-bob
# Current Result
- Bob don't have the new layout with Alice# Scenario
- Bob call rendezvous-bob
- Alice call rendezvous-bob
- Bob create conf with rendezvous-bob and Roger
- Alice quit rendezvous-bob
- Alice call rendezvous-bob
# Current Result
- Bob don't have the new layout with AlicePierre LespagnolPierre Lespagnolhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/484Avatar is not shown if a conference participant mute his video2021-04-30T03:02:40ZPierre LespagnolAvatar is not shown if a conference participant mute his videoAline Gondim SantosAline Gondim Santoshttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/466"Audio only" participants are not visible in conference2021-05-03T17:11:08ZPierre Lespagnol"Audio only" participants are not visible in conferenceThe goal is to show the "audio only" participants in the conference layout in order to show an avatar and to allow moderation control on these participants (mute, hang-up, ...).The goal is to show the "audio only" participants in the conference layout in order to show an avatar and to allow moderation control on these participants (mute, hang-up, ...).Pierre LespagnolAline Gondim SantosPierre Lespagnolhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/453Add option to enable moderation for all participant in conferences2021-03-09T22:21:43ZPierre LespagnolAdd option to enable moderation for all participant in conferencesPierre LespagnolPierre Lespagnol