odoo/odoo#201803

Created by fw-bot
Merged at 0a8b76c7b36eb81281d245b39410aa1b90713f0c

Statuses:

label
odoo-dev:saas-18.2-18.0-call-awaited-records-proto-tso-422757-fw
head
844db94db8f5ba9232c1e15af6549a19db824101
merged
7 months ago by Discuss, Sébastien Theys (seb)
odoo/odoo
18.0 #200981
saas-18.1 #201653
saas-18.2 #201803
saas-18.3
saas-18.4
19.0
master #202167

[FW][FIX] discuss: prevent track race condition in calls

Before this commit, we could get events for a RtcSession that is
not yet available. This can happen when network information (SFU/p2p)
races Odoo server information (bus). As RtcSessions' source of truth
is the Odoo server, information obtained from the call network are
only acknowledged if we have the record from Odoo.

This commit fixes this issue by awaiting sessions
for which events are obtained.

Fetching should not be necessary as:
- if the event is for a session that exists, the client will eventually
obtain it (from the bus message that is sent when a new is created,
or by the rtc_service.ping() which periodically fetches sessions).
- if the event is for a session that does not exist, fetching does not
make sense.

Forward-Port-Of: #201653
Forward-Port-Of: #200981