Tuesday, November 18, 2025
9 changes · saas-18.4
Enhancements to existing features
This update improves internal documentation for the website and HTML builder plugin system. It helps developers understand available services and plugin resources more easily, supporting safer maintenance and future enhancements without changing business workflows.
Original PR description
Backport of https://github.com/odoo/odoo/pull/234203
Resolved issues and error corrections
This change makes the web client more resilient when a browser no longer exposes the platform information it used to provide. By checking for the feature instead of assuming it is always present, Odoo avoids unnecessary errors and improves compatibility with modern browsers.
Original PR description
This commit uses "Feature detection" to avoid some error when the platform key is not available from navigator. > The platform property indicates the platform/OS the browser is running on. > Theoretically this information is useful for detecting the browser and serving code to work around browser-specific bugs or lack of feature support. However, this is unreliable and is not recommended for the reasons given in User-Agent reduction and Browser detection using the user agent. > Feature detection is a much more reliable strategy. https://developer.mozilla.org/en-US/docs/Web/API/Navigator/platform https://developer.mozilla.org/en-US/docs/Learn_web_development/Extensions/Testing/Feature_detection task-4420689 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#235958
The employee org chart button now opens the Hierarchy view on mobile devices instead of the Kanban view. This makes the org chart work as expected on smaller screens and helps users quickly see reporting lines.
Original PR description
Steps to Reproduce: - Open an employee record. - Set managers for the employee. - Open the employee’s form view on mobile. - Click org chart stat button. Before: - On mobile, the org chart button opened the Kanban view by default. After: - On mobile, the org chart button now opens the Hierarchy view by default. task-5245129 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#235228
This change prevents long product attribute values from spilling outside the product card in the catalog view. It keeps the layout tidy and consistent, so users can browse and select products without the screen becoming misaligned or harder to use.
Original PR description
Steps to reproduce: 1. Go to Products > Create a new product. 2. Add or create a new attribute with a long text value. 3. Go to Sales > Open any quotation. 4. In the sale order line, click on…
Steps to reproduce: 1. Go to Products > Create a new product. 2. Add or create a new attribute with a long text value. 3. Go to Sales > Open any quotation. 4. In the sale order line, click on "Catalog" and search for the created product. Issue: - The product image and attribute value text overflow outside the product card in the kanban view, causing layout misalignment and breaking the UI design. <img width="647" height="225" alt="image" src="https://github.com/user-attachments/assets/afc592bb-e25a-4d81-882b-0e7cc7ad1064" /> Cause: - The inner div containing the attribute text lacked overflow control, allowing long text to exceed the container width and pushing other elements. Solution: - Added the Bootstrap class `overflow-hidden` to the div element to ensure the image and text remain properly contained within the card layout. <img width="587" height="171" alt="image" src="https://github.com/user-attachments/assets/580ce1e5-42bd-4c2d-b6bf-14315759626d" /> opw-5222002 Forward-Port-Of: odoo/odoo#235680 Forward-Port-Of: odoo/odoo#235214
This change fixes an intermittent issue in the manufacturing work order tour by making the “Add Component” flow more stable. It also ensures the intended product appears first, which helps the process run consistently during tests and for users following the same steps.
Original PR description
The search in the "Add Component" dialog caused a re-render race, making the tour ``test_add_component_from_shop_foor_in_multi_step_manufacturing`` fail intermittently. This fix removes the search steps and marks the “Courage” product as favorite so it appears first in the catalog. runbot-227694 Forward-Port-Of: odoo/enterprise#92403
This change fixes an automated HR test that was failing because it did not set a contract start date before running date calculations. It ensures the test runs reliably on the targeted branch and helps prevent false failures in the validation pipeline.
Original PR description
The test_version_cron_update_no_fields from hr/tests/test_hr_employee.py didn't pass on runbot saas-18.4 due to the lack of explicitly defined start date of contract leading to an error when trying to substract False to a datetime object. I explicitly added a contract_date_start on the hr.version creation and modified the assigning line as the create_version function returns the new version object but doesn't attribute it to the employee directly. Runbot error: 233590 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update corrects the website builder test setup so it works consistently in Firefox. It prevents a test-only behavior from blocking builder tests, which helps keep automated testing reliable across browsers.
Original PR description
In the website builder test suite, Chrome doesn't load the initial iframe (we load a dummy iframe instead) and never goes through `preparePublicRootReady` from the `WebsiteBuilderClientAction`. On the contrary, Firefox does load the initial iframe. We already have a partial fix for it in the html_builder test helpers (see `originalIframeLoaded`), but it stopped working at some point. As Firefox loads the iframe and goes through `preparePublicRootReady`, it re-assigns `this.publicRootReady` to a deferred that is never resolved in tests, which prevents any Hoot builder test from working. Solution: completely override `preparePublicRootReady` with an empty method in tests. task-5266212
When viewing a module’s information page, tabbed sections in the index.html file are now clickable and behave as expected. This brings the module info experience in line with the behavior users already see in the Odoo app store, making it easier to review content in organized sections.
Original PR description
* Before: if we have a block contain multiple tab in index.html file we can not click on it to switch between tab, unlike the behiviour in odoo apps store description https://github.com/user-attachments/assets/ab7f8213-2112-46e2-bb72-5e01cc1f7883 * After: Make the nav tabs work as it should be https://github.com/user-attachments/assets/12c05abc-84f6-495e-ae5b-b6eca4d81a92 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#186568
This update adjusts Swiss payroll transmission tests so they can run without requiring accounting-specific setup on the payslip structure. It makes the test data more self-contained and reliable, which helps prevent unrelated accounting settings from causing payroll test failures.
Original PR description
Forward-Port-Of: odoo/enterprise#99264 Forward-Port-Of: odoo/enterprise#98672