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()
```
fix(SDP) Do not filter out SSRC 'cname' attributes. (#2695)
* fix(SDP) Do not filter out SSRC 'cname' attributes.
Chrome doesn't generate the a=ssrc line with 'msid' attribute when the track is removed from pc and a renegotiation is triggered. As a result a source-remove is sent to the p2p peer when it shouldn't be causing issues on the receiver when the same source is added back to the conference. Fixes toggleCamera on mobile browser not working as expected.
- Based off 1.5.0, same as we were using before
- Remove optional dependencies
- Remove unnecessary dependencies
In addition, in this repo:
- Bundle the external plugins we are using as they are single JS files