Daily updates from Odoo
Thursday, January 8, 2026
10 changes
Code cleanup and technical improvements
This update modernizes the Odoo codebase by incorporating recent Python typing improvements introduced in versions 3.11 and 3.12. These changes enhance code readability and maintainability, particularly in how data types are defined, ultimately contributing to a more robust and efficient system.
Original PR description
Description of the issue/feature this PR addresses: Various typing additions in python 3.11, 3.12 than can simplify some declarations. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update refactors how WhatsApp channel expiration dates are managed within Odoo Enterprise. Specifically, the date used to determine channel validity is now correctly integrated into the channel model. This ensures accurate channel management and prevents potential issues related to outdated channel access.
This update enhances the WhatsApp integration by utilizing a dedicated channel for managing contact threads. This change streamlines the process of viewing and interacting with conversations, leading to a more organized and efficient user experience within WhatsApp. It's a refinement of the existing WhatsApp functionality.
This update refactors how WhatsApp channels are managed within Odoo, specifically addressing a technical detail related to account identification. This change enhances the stability and efficiency of the WhatsApp integration, ensuring smoother communication flows for users. It's an internal technical update focused on improving the core functionality.
This update refactors how WhatsApp channels handle new messages, streamlining the process for users. Specifically, the automatic opening of a chat window when a new message arrives has been moved to the channel itself, enhancing efficiency and reducing potential conflicts. This change improves the overall WhatsApp experience within Odoo Enterprise.
Original PR description
PR community: https://github.com/odoo/odoo/pull/242275
This update refactors how new messages automatically open chat windows within Odoo channels. Previously, this feature was available across all chats, but now it's specifically tied to channel conversations. This change streamlines the chat experience and ensures new messages are linked to the relevant channel discussions.
Original PR description
PR enterprise: https://github.com/odoo/enterprise/pull/103360
This update refactors how important messages are tracked within WhatsApp channels. Previously, this information was scattered; now, it's consolidated within the channel itself, leading to a more organized and efficient system for managing channel activity. This change enhances the overall WhatsApp experience for users.
Original PR description
PR community: https://github.com/odoo/odoo/pull/242234
This update refactors how commands are executed within live chat channels. Moving command execution to the channel ensures commands are handled more efficiently and reliably, improving the overall chat experience. This change focuses on internal improvements to the Odoo platform.
This update refactors how the 'isDisplayed' flag is managed within Odoo's live chat and email channel systems. Moving this tracking to the channel itself improves data accuracy and consistency, ensuring more reliable channel status reporting. This change enhances the overall reliability of messaging functionality.
This update removes an outdated function used to determine user display names within the Odoo system. The change improves code clarity and aligns with best practices by converting a previous implementation into a getter. This ensures consistent and accurate user name presentation.
Original PR description
*: im_livechat Method `ResPartner._computeDisplayName` has been flagged as deprecated. This is not really "deprecated", but more like an important consideration of previously a `field.Attr()` that has been intentionally turned into a getter. This commit removes the deprecated function and moves all relevant code in the getter `ResPartner.displayName`. The docstring of getter has been tweaked to clarify the intention of getter instead of a record field.