Daily updates from Odoo
Friday, June 27, 2025
11 changes
3 changes
Code cleanup and technical improvements
This change makes automated tour tests fail when a page reload or redirect is not declared in advance. That reduces flaky test behavior and helps keep customer-facing flows such as point of sale, website sales, events, and blogs more stable during development.
Original PR description
In this commit, we uncomment the listener on beforeUnload to ensure that expectUnloadPage is correctly used in tours. From now on, if a step produces a page unload but didn't declare it, the tour will fail with an Error. This forces step producing page reload/redirect to declare them, s.t. the tour stops after that step, waiting for the next page to be loaded to continue. This is done to remove non determinism in tours. 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
The website builder's internal action handling was simplified so plugin registration now manages how actions run. This should make the builder easier to maintain and extend, with no expected change for end users aside from improved reliability in related tests.
Original PR description
*: website This refactor centralizes the responsibility of binding BuilderAction methods (`apply`, `prepare`, `isApplied`, etc.) into the builder plugin registration logic, instead of having them bound within the BuilderAction constructor. It simplifies the BuilderAction class and gives the plugin more control over instance behavior, improving flexibility and future extensibility. Minor fix in builder button test included.
This update makes automated website sales and rental checkout tests stricter when a page reload or redirect happens. By requiring those transitions to be declared, the tests become more predictable and reduce flaky validation results for future releases.
Original PR description
In this commit, we uncomment the listener on beforeUnload to ensure that expectUnloadPage is correctly used in tours. From now on, if a step produces a page unload but didn't declare it, the tour will fail with an Error. This forces step producing page reload/redirect to declare them, s.t. the tour stops after that step, waiting for the next page to be loaded to continue. This is done to remove non determinism in tours.
8 changes
Code cleanup and technical improvements
The Documents app code was reorganized to use safer standard markup helpers and to align with required formatting checks. This is an internal cleanup that reduces security scan noise and helps future changes be easier to review, without changing user-facing behavior.
Original PR description
Use markup template and html functions to make the code cleaner and safer while no longer triggering ci/security flag.
This update simplifies internal test infrastructure to reduce memory use and improve performance in the JavaScript test suite. It removes an older testing mechanism and adapts affected tests, helping make ongoing development and quality checks more reliable.
Original PR description
This PR aims at reducing the memory footprint and performance issues of the JS unit test suite. See commit messages for more details. Community: https://github.com/odoo/odoo/pull/215920
The project planning view code was tidied up to use safer, standard ways of building on-screen content. This reduces false security warnings in checks and helps keep the Project app easier to maintain without changing user-facing behavior.
Original PR description
Use markup template and html functions to make the code cleaner and safer while no longer triggering ci/security flag.
The Planning module has been updated to use safer, cleaner methods for displaying formatted content. This reduces internal security scan warnings while keeping the user experience unchanged.
Original PR description
Use markup template and html functions to make the code cleaner and safer while no longer triggering ci/security flag.
Spreadsheet pivot formulas were updated to use a clearer internal way of handling pivot filters and domains. This should make pivot-related spreadsheet behavior easier to maintain and more consistent, with no expected change to day-to-day user workflows.
Spreadsheet side panels now use a shared text input component for fields such as filters, lists, and pivots. This makes the interface more consistent and easier to maintain without changing core business workflows.
Original PR description
The component TextInput is meant to be used whenever a text input is necessary in a side panel. This commit replaces all theses inputs by the component TextInput Task: 3964069
This update replaces older internal model properties with their current equivalents across accounting-related enterprise modules. It helps keep the codebase aligned with the latest platform standards, reducing future maintenance risk without changing day-to-day user workflows.
Original PR description
odoo/odoo#193636
The automated website shopping tests now better detect when a page reload or redirect is expected. This reduces inconsistent test results and helps teams catch issues earlier before changes reach users.
Original PR description
In this commit, we uncomment the listener on beforeUnload to ensure that expectUnloadPage is correctly used in tours.