Friday, April 17, 2026
5 changes · 17.0
Resolved issues and error corrections
This update resolves a test issue causing inconsistent results in the web_editor's link popover functionality. The fix ensures the selection is correctly set after a click, mirroring a user's actual interaction. This improves the reliability of the test and the overall stability of the web_editor module.
Original PR description
The popover opening is triggered through click, but there is a selectionchange handler on click that checks if the selection is outside of the link and, if it is, closes the popover. In this case, the click method didn't set the selection inside the link properly because of the presence of \ufeff around the link. The test actually passes by mistake when the runbot was fast, but failed when the runbot was slow, as the selectionchange handler had the time to execute and close the popover. This commit forces the selection to be inside the link after calling click, to be closer to what actually happens when a user click on a link, as opposed to a programmatic click. runbot-161423
This update corrects a bug where a refund payment was automatically generated when an uncaptured Stripe payment was voided. This prevented incorrect financial reporting and ensured accurate transaction tracking. The change avoids unnecessary refund processing for payments that haven't been collected.
Original PR description
When an uncaptured Stripe payment is voided, the system will still generate the refund payment entry. Steps to reproduce: - Configure the Stripe payment provider - enable "Capture Manually" - generate webhook - Create a sales order - Generate a payment link and pay with Card - Back to the SO, click 'Void Transaction' Issue: Refund payment entry will be created even if no payment has been collected for the transaction. opw-5866924
This update fixes a minor inefficiency in the process of importing invoices from XML files. Previously, the system unnecessarily re-searched for products, even after a successful search. This change ensures the import process is more efficient and responsive, reducing potential delays.
Original PR description
### Description: Following this commit[^1], parts of the import of invoices from XML files was improved and batched. However, the logic used to filter products that has been searched was flawed: it checked if a product had already been found, rather than if a search had already been attempted. This caused the code to still trigger a search even if it has been executed previously with the same parameters. ### Reference: opw-5462267 [^1]: 2ca1ebac8d4b026e58c4373a346244b086425ff3
This update resolves an issue that could cause incorrect behavior after uninstalling modules in Odoo. Previously, uninstall processes didn't fully clear outdated data, leading to potential errors. Now, the system ensures all relevant caches are cleared, guaranteeing a cleaner and more reliable uninstall experience.
Original PR description
When uninstalling a module, the ORM may replace field objects in the registry via a prefetch patch to avoid fetching deleted fields. The previous code only called lazy_property.reset_all(), which resets lazy-property caches, but left _field_trigger_trees and _is_modifying_relations intact. Those structures still held references to the old field objects, and could be consulted by subsequent ORM operations, leading to incorrect trigger resolution or relation tracking. Clear both caches whenever a shared field has been patched so all registry state stays consistent with the new field objects. runbot-242251 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Features or functions removed from Odoo
This update removes a confusing tooltip from the 'tax_scope' field in the accounting module. The tooltip incorrectly suggested this field restricted taxes by product type, which isn't true. This change clarifies the field's function and improves user understanding.
Original PR description
The current tooltip suggests that the `tax_scope` field restricts the use of taxes based on the product type. However, this is misleading, as the field does not enforce any restriction at the product level. To avoid confusion, remove the tooltip entirely. Backport of: https://github.com/odoo/odoo/pull/256573 opw-6118051