Thursday, June 12, 2025
5 changes · saas-18.3
Resolved issues and error corrections
This fixes how live chat participants are classified when a logged-in user interacts with a chatbot instead of a human operator. Accurate visitor classification helps ensure chat flows, reporting, and follow-up behavior work as expected.
Original PR description
Even if there is no user_operator (which is the case when using chatbot), the livechat_member_type should be set to "visitor".
This fixes an issue in the HTML editor where entering a link label and then clearing the URL could leave the label inserted as plain paragraph text. Clicking outside the link popover now discards the incomplete link, preventing unintended text from appearing in documents or website content.
Original PR description
**Current behavior before PR:** Steps to reproduce: - Open link popover. - Type something in label input. - Type URL. - Make URL input empty. - Click outside the link popover. - Label is inserted as plain text in paragraph. **Desired behavior after PR is merged:** Label should not be inserted to the paragraph if URL is empty. Now, Clicking outside link popover is same as clicking on the "Discard" button in case of empty URL. task-4831650 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The VoIP keypad search now handles contacts whose names are blank or otherwise missing without causing an error. This prevents interruptions when users search for phone contacts and improves reliability for edge-case contact data.
Original PR description
This commit fixes a bug that happens when the partner name is a falsy value like a `" "`. This made the `t9_name` to be `false` and then to give an error when trying to access the `trim()` function. A solution for this was to guard it with a condition to check if the t9_name is falsy or not.
A stability issue in the Belgian Codabox connection setup was fixed so new setup records no longer trigger an error when company VAT details are missing. This helps keep automated checks and setup flows reliable, especially for companies that have not yet filled in all registration information.
Original PR description
The test `test_computed_fields_without_dependencies` triggers all compute methods on new records (model.new()).
In `_compute_company_vat`, we had:
`re.sub(r'[^0-9]', '', wizard.company_id.vat or wizard.company_id.company_registry)`
When running on a new record, both `vat` and `company_registry` are `False`, so:
`re.sub(..., False)`
This causes `TypeError: expected string or bytes-like object, got 'bool'`.
We fix this by explicitly passing a string fallback.
[runbot-164199](https://runbot.odoo.com/odoo/error/164199)This update corrects migrated Luxembourg and Canada financial report definitions that could fail to open after a syntax change. It removes outdated internal settings that were no longer needed, helping affected reports load reliably in version 18.3.
Original PR description
Some aggregation expressions used to have 'cross_report' as subformula. Though, it was useless (since the aggregation only uses terms from the same report), and the subformula was removed from the data file without explicitly resetting it to False. This became a problem in 18.3, because the cross_report syntax changes. Because of that, a migrated report failed to open, since it still was using the old syntax on that expression. We fix that by explicitly emptying the subformula. This was done in https://github.com/odoo/odoo/commit/bbba54a08c56e0a4d040fc8035996d9d7cafedad for the monthly Luxembourgish tax report ; but some other occurrences needed to be fixed.