igniterealtime / openfire-pade-plugin

A plugin for Openfire that offers web-based unified communications - chat, groupchat, telephone, audio and video conferencing.
Apache License 2.0
58 stars 30 forks source link

Breakout Rooms: Two UI bugs and Double-Join of Breakout Room #266

Closed gjaekel closed 3 years ago

gjaekel commented 3 years ago

On the event of returning from breakout rooms the participants displayed at the origin room panel may have a wrong identity, i.e. appear as the wrong participant

Before breakout: image

After rejoin: image

In addition, on the breakout event, each participant is joined twice times to the breakout room. One may only get notice of this, if there no auto-login with stored credentials! After first join, a popup will tell that you will be joined to the breaktout room withing 10secs. This will happens as annouced.

gjaekel commented 3 years ago

I also want to rise a feature request: With the action of sending the distributed participans to the allocated breakout rooms, they should not disappear from the panel but become "greyed out" to have a reference of the distribution during the ongoing breakout period.

cool0707 commented 3 years ago

This bug is not reproduced in my environment. Do the participants who have the same name use the same user ID in Openfire?

gjaekel commented 3 years ago

Thank you for support! I was using three different XMPP accounts (my own, foo and bar) and three tabs on the same browser client. Do you also don't notice the quick of double-joining?

Here a fresh check using three different browsers. TLDR: No issue, too. Maybe it's caused by a quirk of using tabs in same browser, e.g. a race condition in the Local Store.

image image image

The participants disappear from the breakout pannel. (As an enhancement, they should be just "greyed out") image

Now I command [Reassemble] on the Moderator's session. image Again, I have to give the credentials. I re-legitimate in the "natural order" (foo,bar). This time, it works. image

gjaekel commented 3 years ago

Just discovered a different bug: I pressed [Breakout] by accident without populating the Room1 again. The state changed to a greyed-out [Reassemble]. It's unrecoverable, even by close and re-open. image

gjaekel commented 3 years ago

A 2nd bug: No by the scroll buttons, but one may enter a value of 0 (or even negative) as the number of rooms. If it's null, an "ghost room" will appear "before" the current (named Meeting Participants) and the internal logic will get screwed.

image

gjaekel commented 3 years ago

The double-login isn't notable if the password is stored. but it's happening; here the log of sending foo and bar to two different rooms and reassembling them afterwards

20210325-091215.895 [Jit]  :(bastelkeller) +{1|83d722ce}
20210325-091215.897 [ICE]  :(bastelkeller) :{83d722ce} ~<91c730b67ce9984>
20210325-091215.941 [Jit]  :(bastelkeller) +{2|c39f9ee1 83d722ce}
20210325-091215.943 [ICE]  :(bastelkeller) :{c39f9ee1} ~<91c730b67ce9984>
20210325-091216.054 [ICE]  :(bastelkeller) :{c39f9ee1} +<91c730b67ce9984>
20210325-091216.059 [ICE]  :(bastelkeller) :{83d722ce} +<91c730b67ce9984>
20210325-091224.693 [Jit]  :(bastelkeller) +{3|3995e4c7 c39f9ee1 83d722ce}
20210325-091224.696 [ICE]  :(bastelkeller) :{3995e4c7} ~<91c730b67ce9984>
20210325-091224.833 [ICE]  :(bastelkeller) :{3995e4c7} +<91c730b67ce9984>
20210325-091301.721 [===]  ={3} =(1|bastelkeller{3})

All "in", breakout now ..

20210325-091301.722 [Jit]  :(bastelkeller) -{83d722ce} ={2}
20210325-091301.750 [Jit]  :(bastelkeller) -{3995e4c7} ={1}
20210325-091303.101 [Foc]  +(bastelkeller-5wv4ixk46)        <<------foo
20210325-091303.120 [Foc]  +(bastelkeller-x3o1nslmo)        <<------bar
20210325-091313.424 [Foc]  -(bastelkeller-5wv4ixk46) :{}        <<------foo
20210325-091313.494 [Foc]  -(bastelkeller-x3o1nslmo) :{}        <<------bar
20210325-091314.739 [Foc]  +(bastelkeller-5wv4ixk46)        <<------foo
20210325-091314.799 [Foc]  +(bastelkeller-x3o1nslmo)        <<------bar
20210325-091321.751 [Jit]  :(bastelkeller) -{c39f9ee1} ={0}
20210325-091426.399 [===]  ={0} =(3|bastelkeller-x3o1nslmo{0} bastelkeller-5wv4ixk46{0} bastelkeller{0})

all at breakout, reassemble now ...

20210325-091426.597 [Jit]  :(bastelkeller-5wv4ixk46) +{1|95962a0a}
20210325-091426.599 [ICE]  :(bastelkeller-5wv4ixk46) :{95962a0a} ~<3d384de5d031cee5>
20210325-091426.611 [Jit]  :(bastelkeller-x3o1nslmo) +{1|17313e39}
20210325-091426.613 [ICE]  :(bastelkeller-x3o1nslmo) :{17313e39} ~<fa17179a91af4e3d>
20210325-091426.732 [ICE]  :(bastelkeller-x3o1nslmo) :{17313e39} +<fa17179a91af4e3d>
20210325-091426.738 [ICE]  :(bastelkeller-5wv4ixk46) :{95962a0a} +<3d384de5d031cee5>
20210325-091437.468 [Jit]  :(bastelkeller-5wv4ixk46) -{95962a0a} ={0}
20210325-091437.470 [Foc]  -(bastelkeller-5wv4ixk46) :{95962a0a}
20210325-091437.476 [Jit]  :(bastelkeller-x3o1nslmo) -{17313e39} ={0}
20210325-091437.478 [Foc]  -(bastelkeller-x3o1nslmo) :{17313e39}
20210325-091439.426 [Jit]  :(bastelkeller) +{1|480bcaf9}
20210325-091439.429 [ICE]  :(bastelkeller) :{480bcaf9} ~<7d1e767630612f79>
20210325-091439.512 [Jit]  :(bastelkeller) +{2|b57ae75f 480bcaf9}
20210325-091439.514 [ICE]  :(bastelkeller) :{b57ae75f} ~<7d1e767630612f79>
20210325-091439.565 [ICE]  :(bastelkeller) :{480bcaf9} +<7d1e767630612f79>
20210325-091439.611 [ICE]  :(bastelkeller) :{b57ae75f} +<7d1e767630612f79>
20210325-091439.821 [Jit]  :(bastelkeller) +{3|c39f9ee1 b57ae75f 480bcaf9}
20210325-091439.823 [ICE]  :(bastelkeller) :{c39f9ee1} ~<7d1e767630612f79>
20210325-091439.959 [ICE]  :(bastelkeller) :{c39f9ee1} +<7d1e767630612f79>
20210325-091550.525 [===]  ={3} =(1|bastelkeller{3})