Thursday, June 26, 2025
11 changes · saas-18.4
Resolved issues and error corrections
This fix ensures text highlights appear in the correct position when selected content includes a line break. It improves the visual reliability of the website builder so users can apply highlights without unexpected misalignment.
Original PR description
Steps to reproduce: - Go to the website builder in edit mode - Select "We build great products ... to optimize their performance", the goal here is to have a `<br>` in the selection - Highlight the selection | Expected behaviour | Current behaviour | |--------|--------| |  |  | | Highlights are well positioned | The highlights SVGs are not well positioned, the br shift everything |
This fix ensures the website editor's link popover closes when users click elsewhere, such as another menu or top bar item. It prevents stale popovers from staying on screen and makes editing website navigation feel cleaner and less confusing.
Original PR description
Before this commit clicking on certain elements with a link popover open would not cause the link popover to close. Steps to reproduce: - go to the website homepage - open the editor - click on any top menu links like Home or Contact Us - click on the user dropdwon in the topbar (usually Administrator) - the popover from the first click is still open After the change clicking anywere that's not the popover's current link will cause the popover to close.
The IoT printer list now consistently keeps the same printer when duplicate printers share the same IP address and device ID. This prevents printers from appearing or disappearing randomly in the device list, improving reliability for users managing connected printers.
Original PR description
There was a flaw in the printer deduplication logic that meant that in the case where we have two printers with the same IP and the same device-id, the printer that was returned could change randomly with each `get_devices` call. The result was the printers appearing and disappearing randomly in the device list. We fix this by sorting the list of printers first. If multiple printers could be chosen, we take the first one based on identifier. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix ensures Romanian electronic invoicing only searches invoices and bills within the relevant company. It helps prevent records from other companies from being included in multi-company environments, improving accuracy and data separation.
Original PR description
Add the company to the domain to avoid searching invoices/bills from other companies. task-####### --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes an internal automated test so it works correctly when only the Purchase Stock app is being tested. It ensures a related feature is available before checking extra behavior, helping keep future updates reliable without changing day-to-day user workflows.
Original PR description
This commit fixes the `test_move_description` introduced in odoo/odoo#177390. The test failed in single app tests because part of the functionality depended on the existence of `product_matrix` module. This commit makes sure that the module is installed when checking for those extra parts. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an error that could occur when users grouped records by custom property fields in web views. The change helps reports and grouped lists load reliably when property-based fields are used, and adds test coverage to prevent the issue from returning.
Original PR description
We get a KeyError in `self._fields[groupby_spec.split(':')[0]]` in the `_open_groups` when we group by a property field because groupby_spec contains a property path (properties.property_name).
Fix it and add a test for it.This fix restores a consistent visual appearance for animated text options in the website builder after a recent redesign. It also makes highlighted text options look more aligned with the animated text controls, improving clarity for users editing website content.
Original PR description
With the redesign after the initial website builder refactor, the appearance of option for animated text was broken: it mixed light on dark and dark on light elements. After the initial website builder refactor, the appearance of the option for highlighted text was a bit weird. This commit changes it to be closer to the animated text option. Redesign commit: 0bbf24a4b0d6d6160e1964f18391f86b4513fc72 Website refactor: 9fe45e2b7ddbbfd0445ffe25a859e67a316d02b2 task-4367641
This update corrects a test setup issue for electronic invoicing so nightly checks use the intended company registration number. It helps keep automated quality checks reliable and prevents false failures in the community test environment.
Original PR description
The TestUblBis3 tests are failing in the nightly community runbot because the company_registry is not set on the company, causing the peppol_eas and peppol_endpoint to use the company's VAT number rather than its company_registry number. runbot-227638
The website editor once again shows the size of a selected image. This helps content editors quickly check image weight while building pages, supporting better page performance decisions.
Original PR description
When converting the website builder to `html_builder`, the tag that displayed the selected image's size was forgotten. This commit re-introduces it. task-4367641
Empty HTML property fields now display as blank in list views instead of showing the word "False". This makes records easier to read and avoids confusion for users reviewing lists with optional HTML content.
Original PR description
Bug === Create an HTML properties, and don't set a value. It is displayed as "False" in the list view, while it should be an empty string. Change the HTML formatter, so it's consistent with the text formatter. Task-4896271
Website forms with many conditional visibility rules now load much faster. The change avoids repeated recalculation of the same form information, reducing delays for visitors and improving the form experience.
Original PR description
**Problem** Before this commit, the `Form` interaction handled visibility calculations inefficiently. Large forms making massive use of visibility conditions could take seconds to be loaded. The function `getFormDataIncludingDisabledFields` (see [1]) was called more often than necessary, leading to the entire form being cloned for every single entry being checked. **Solution** This commit introduces a simple caching mechanism for the form data. The cached value is updated via `getFormDataIncludingDisabledFields` only at the start of the interaction and when receiving user input (debounced). [1] https://github.com/odoo/odoo/pull/213643 task-4367641