Currently, tab completion is unreliable because it does not keep a
correct list of available participants. New participants are added, but
none are removed. Additionally, while the sessionRenderer refreshes its
participant list, chatParticipants does not, so also after creating the
chat window initially, will the available list be incomplete.
Initially I wanted to solve this (partially) by only allowing
fireLocalUserPresenceChangeEvent to create a chat window, but that
doesn't seem to be the way that Jitsi solves this. Instead, it issues a
join command and immediately opens the chat window itself. This causes
premature loading of the chat room members list.
This is now fixed by reloading the chatParticipants list if the chat
panel happens to be created/opened already. (Instead of only loading
once upon first creation.)
fix-bookkeeping-for-tab-completion.patch (3.08 KB)