odoo/odoo#201803
Created by fw-bot
Merged
at 0a8b76c7b36eb81281d245b39410aa1b90713f0c
Statuses:
- legal/cla: Contributor License Agreement check
- ci/runbot: Odoo Test Suite
- ci/upgrade_enterprise: Test upgrades for enterprise master
- ci/template: Contact runbot team on discord for help.
- ci/style: Optional style check. Ignore it only if strictly necessary.
- ci/security: Required security check. Can only be ignored by security team.
- 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.