I think we’ve tied down the main splitbrain reliability problem with matrix-video-chat as being due to folks leaving instances running in background tabs. This means they keep a sync loop running for the same device in the other tabs, which race to consume to-device msgs with the fg tab. I think the race is something like:
tab1 is calling /sync
tab2 calls the sameish /sync, which returns with a todevice
tab2 calls /sync again before tab1 returns, acknowleding and deleting the queued to device msg
tab1 returns but without the todevice which has been “stolen” by tab2
This could affect device verif, possibly e2ee, and voip when msc3401 lands.
I think we’ve tied down the main splitbrain reliability problem with matrix-video-chat as being due to folks leaving instances running in background tabs. This means they keep a sync loop running for the same device in the other tabs, which race to consume to-device msgs with the fg tab. I think the race is something like:
This could affect device verif, possibly e2ee, and voip when msc3401 lands.