Tuesday, October 28, 2025
7 changes · saas-18.2
Resolved issues and error corrections
Editing the Terms and Conditions link on a product page no longer causes an error when the link uses a predefined muted text color. This improves reliability for website editors making routine product page changes.
Original PR description
Problem: On website > shop > product page, when trying to edit the link of "Terms and conditions", a traceback occurs. Cause: When applying changes on "Terms and conditions" in `shop/product`, `ColorPlugin.removeAllColor()` is called on the `a` element. Its color was applied by the `text-muted` class. This case in color removal was not properly handled. Solution: In `getFonts`, consider elements that have those special classes (e.g., `text-muted`) when processing color removal. Steps to reproduce: 1. Open website/shop. 2. Open any product page. 3. Open the editor. 4. Select the "Terms and conditions" text. 5. Click edit in the link popover. 6. Click apply. 7. Traceback occurs. opw-5130016 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#229725
This change fixes an intermittent automated test failure in the barcode area by ensuring the screen update completes before the test checks the result. It helps keep validation of barcode features stable and reduces false alarms in the development pipeline.
Original PR description
This commit fixes a test that sometimes failed, because we didn't wait for an animationFrame after the macro was complete. As a consequence, there was no guarantee that the form view had been updated before the check. runbot error~226829 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 Forward-Port-Of: odoo/odoo#233153
This fix ensures website form fields with names containing the | character can still be used in visibility rules. Businesses can safely customize form field labels without causing dependent fields to disappear incorrectly.
Original PR description
Before this commit, after selecting a field containing the char "|" for conditional display, the field on which the condition is set will never appear again. This commit enable the use of any characters in form fields Steps to reproduce the bug: - Add a form - Add two fields (A and B) - Rename the field A with a string that contains "|" - Set the field B visibility to "Visible only if" - Set the field A as the visibility condition for field B (field B visible only if field A contains 'hello', for example) - Save the changes - Complete the field A according to the visibility condition (The second field does not appear) task-3893749 Forward-Port-Of: odoo/odoo#181275
This update prevents product packaging unit conversions from showing "Undefined" when a unit lacks a related reference unit. It ensures users see a sensible default unit label, reducing confusion when configuring product packaging.
Original PR description
### Steps to reproduce: - In the settings enable "Product Packaging" - Create a product and set its `uom_id` (next to sales price) to "pack of 6" - In the sales tab click on Packagings > This opens a list view of units with convertions #### > The "Units" is converted to "1 Undefined" ### Cause of the issue: The "Units" uom does not have any set `relative_uom_id` so that `record.relative_uom_id[1] ` is undefined: https://github.com/odoo/odoo/blob/e44ea4adbe56586349b78ae4796803777d8a782a/addons/uom/static/src/components/many2x_uom_tags/many2x_uom_tags.js#L74 opw-5189284 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix prevents editor-specific list styling from changing regular page content outside the editor. It keeps frontend pages looking as intended when the HTML editor is present, reducing unintended visual issues for users.
Original PR description
Problem: The CSS selector `li *` was applied globally, affecting all list content on pages where the editor is loaded — including frontend content outside the editor. Cause: The selector was not scoped to the editor context, so its styling leaked into non-editor elements. Solution: Restrict the `li *` selector to apply only within headers inside the editor to prevent unwanted global styling. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update documents an old, inactive event speaker biography building block so teams understand why it remains present in this stable version. It reduces confusion for maintainers without changing website behavior or affecting customers.
Original PR description
Problem introduced at [1] (see [2]). In stable, this comments the code to explain the dead code presence. In master, that snippet will be removed, as nobody seemed to have missed him for 4+ major versions and its structure is not perfect (overflow hidden...). Thankfully it should not come with any compatibility issue as it was not associated with any JS/CSS). Maybe a new equivalent will be introduced in master later on. [1]: https://github.com/odoo/odoo/commit/b5c87d86cad1aa2b44f805da0b2d6635aeb85b96 [2]: https://github.com/odoo/odoo/pull/68644#discussion_r903721785 task-4084801 Forward-Port-Of: odoo/odoo#233203
This fix prevents website forms from crashing when a form field is changed into an attachment upload field. It improves reliability for website editors by ensuring file upload fields are not incorrectly prefilled with contact details.
Original PR description
Steps to reproduce: =================== 1- Add a Contact Us form. 2- Change the "Phone" field type to "Attachment" and save. → Traceback occurs. Cause: ====== After changing the field type, the field…
Steps to reproduce: =================== 1- Add a Contact Us form. 2- Change the "Phone" field type to "Attachment" and save. → Traceback occurs. Cause: ====== After changing the field type, the field still keeps its `fillWith` value. When saving or refreshing, the system tries to prefill it with a phone number. Since the type is now "file", it cannot be prefilled, causing a traceback. Why it didn't happen before: ============================ In older versions, fields were fetched using `serializeArray()`: https://github.com/odoo/odoo/blob/ad03751ef0a9e617c2b24a30b1c06aa4e25d48a1/addons/website/static/src/snippets/s_website_form/000.js#L167 That method automatically filtered out unsupported input types: https://github.com/odoo/odoo/blob/ad03751ef0a9e617c2b24a30b1c06aa4e25d48a1/addons/web/static/lib/jquery/jquery.js#L9001 Fix: ==== Exclude fields of file-like types from the prefill logic, similar to the behavior of `serializeArray()`. opw-5145855 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr