When joining if there was a modification of presence just before sending the presence in the same millisecond we send later a second presence. While testing we see modifications from e2ee which cause the duplicate presence.
It doesn't get translated in the TS build, for one.
Script I used:
```python
import os
for (dirpath, dirnames, filenames) in os.walk('.'):
if '.git' in dirpath:
continue
if 'node_modules' in dirpath:
continue
if 'dist' in dirpath:
continue
if 'types' in dirpath:
continue
for filename in filenames:
path = os.path.join(dirpath, filename)
if not path.endswith('.js') and not path.endswith('.ts'):
continue
#print(path)
with open(path, 'r+') as f:
#print(f)
data = f.read()
if '__filename' in data:
p, ext = os.path.splitext(path)
txt = f"'{p[2:]}'"
print(txt)
data = data.replace('__filename', txt) # Assign the result back to data
f.seek(0)
f.write(data)
f.truncate()
```
feat(silent): track if participant joined without audio (#2534)
* feat(silent): track if participant joined without audio
* Fix failing tests, use jitsi.org namespace
---------
Co-authored-by: Дамян Минков <damencho@jitsi.org>
* fix: Fixes double conf requests & always send them after presence error.
* Revert "fix: Sends conference requests on retries of errors."
Seems we are sending two conference requests in the happy path.
This reverts commit 86e2fb2bed.
* fix: Sends conference requests on retries of errors.
This changes the behavior of retires when Room creation restricted error is received, we will always send the conference request to jicofo when retrying.
Also, after error for password protected rooms and providing password, a conference request was not send which can result jicofo left the room and error is received.
fix: Sends conference requests on retries of errors.
This changes the behavior of retires when Room creation restricted error is received, we will always send the conference request to jicofo when retrying.
Also, after error for password protected rooms and providing password, a conference request was not send which can result jicofo left the room and error is received.
When a self presence is received ( from mute or something else) during
leave operation, after presence unavailable is sent and before the final
presence unavaliable is received, we were interpreting it as muc joined
since the joined flag was immediately set to false.
feat: Handles join error about required display name. (#2312)
* feat: Handles join error about required display name.
* squash: Fixes tests.
* squash: Adds param to DISPLAY_NAME_REQUIRED event indicating is it coming because of lobby.
* squash: Drops all clear up methods for unrecoverable errors.
The jitsi-meet part is taking care of it.
feat: Clean up immediately when room is not joined.
When receiving error like max occupants reached we have not joined the room, and there is no point of sending presence unavailable and check and clean after 5 secs.
* feat(visitors): Visitors chat.
For messages coming from visitors, which are not in the current room we need to supply a display name.
Mark messages with custom display name as coming from guest.
* feat: Adds a visitors version to conferenceIQ.