Friday, October 3, 2025
2 changes · 19.0
Enhancements to existing features
Point of Sale now blocks keyboard-based order line changes while a popup is open, such as customer selection, notes, or coupon dialogs. This reduces accidental order changes and makes checkout interactions safer and more predictable for staff.
Original PR description
Before this commit: - Even when a popup (e.g., customer selection, note, coupon) was open, unfocused keyboard inputs could still update orderline values. After this commit: - Orderline editing via keyboard is disabled whenever a popup is active. - Prevents unintended changes and ensures a safer user flow in POS. Task-5033716 Forward-Port-Of: odoo/odoo#229479 Forward-Port-Of: odoo/odoo#226300
VoIP call handling has been improved so each active call keeps its own state instead of sharing one global state. This matters because attended transfers can involve multiple simultaneous call sessions, and the change reduces the risk of calls being mixed up or affected by timing issues.
Original PR description
The original VoIP code was written under the assumption that there would only ever be one session at a time. Consequently, much of the session state was stored in a global object called the UserAgent. However, Odoo 19 implemented an attended transfer in VoIP, creating situations in which two sessions occur simultaneously. For this reason, the asynchronous code should no longer update session properties stored on the global UserAgent, as the session may have changed in the meantime, which could lead to race conditions. This commit moves some logic from the UserAgent to the Session, and ensures all callbacks are properly mapped to the relevant session.