Monday, September 7, 2026
12 changes · master
Code cleanup and technical improvements
The Indonesia QR payment module for self-ordering was renamed so it is treated as an Indonesia-specific localization. This prevents default test installations from pulling in Indonesia-related dependencies unnecessarily, reducing setup noise without changing business functionality.
Original PR description
QRIS is Indonesia's national QR payment standard and was commited here https://github.com/odoo/odoo/commit/077ea34a6765f7203222cd8329eb026336a6ac06 . Right now runbot install it and therefore all indonesian dependencies by default. This commit prefix the module by l10n_id to avoid this behavior. task-6542675
The spreadsheet edition test setup was updated to match an internal change in how popover positioning is provided. This helps keep automated tests reliable without changing the spreadsheet features users interact with.
Original PR description
The env value `getPopoverContainerRect` has been changed into an owl plugin. We need to adapt the test components accordingly. Task: 6510584
This change updates many automated tests to use a consistent way of freezing the current date and time. It reduces flaky or inconsistent test results across business areas such as accounting, CRM, point of sale, mail, and localization, without changing day-to-day product behavior.
Original PR description
This update removes unnecessary internal code left over from the migration to the newer interface framework. It does not change product behavior, but helps keep the codebase simpler and easier to maintain.
Original PR description
- https://github.com/odoo/enterprise/pull/130345 See commit messages for details. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update standardizes how tests control dates and times across several Odoo Enterprise apps. It helps reduce inconsistent test results and improves confidence that business workflows behave predictably over time.
Original PR description
Instead of patching (often partially) the time, use `mock_datetime_and_now`. https://github.com/odoo/odoo/pull/286853
The restaurant preparation display was updated to use the newer underlying interface expected by the platform. This keeps the screen compatible with upcoming framework changes and adds automated test coverage to reduce the risk of regressions.
Original PR description
Changes useLayoutEffect to useEffect to match the OWL3 API. We also write a new unit test because it turns out this particular effect was untested (see commented out effect runbot green: https://runbot.odoo.com/runbot/batch/2596701/build/114854663) Note: - This useLayoutEffect use to be a useEffect before this commit: https://github.com/odoo/enterprise/commit/eab9f777ae8303d7e3a8a94f7e356c6183dc1c2f - Removed a one step python tour that is redundant with new hoot.
This change cleans up leftover technical code from the Owl 3 migration that was no longer needed. It does not change business features, but helps keep the Studio codebase simpler and easier to maintain.
Original PR description
- https://github.com/odoo/odoo/pull/286533 See commit messages for details. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The spreadsheet edition test setup was updated to match an internal framework change for how popover positioning is provided. This keeps spreadsheet-related automated tests aligned with the current architecture without changing business features or user workflows.
Original PR description
The env value `getPopoverContainerRect` has been changed into an owl plugin. We need to adapt the test components accordingly. Task: 6510584
The room booking screen was updated to use newer underlying technology so it remains reliable in future Odoo versions. A new test was added to confirm the selected booking slot still scrolls into view when users change days.
Original PR description
Replaced `useLayoutEffect` with `onMounted` + `onPatched` because `useLayoutEffect` is deprecated in OWL3. `useLayoutEffect(() => { ... }, () => [this.state.selectedDay])` scrolled to the selected…
Replaced `useLayoutEffect` with `onMounted` + `onPatched` because
`useLayoutEffect` is deprecated in OWL3.
`useLayoutEffect(() => { ... }, () => [this.state.selectedDay])`
scrolled to the selected slot after each day change. OWL3 has no
direct equivalent with a dep array. The natural port to `useEffect`
ran eagerly before mount and crashed all 10 room_booking_form tests
(`this.root.el` was null). `onMounted` + `onPatched` guarantee the
DOM is present; a closure variable `scrolledDay` skips re-scrolls
when the day hasn't changed, preserving the original dep-array
semantics. An `onWillRender` subscription on `this.state.selectedDay`
ensures OWL schedules a re-render — and thus triggers `onPatched` —
whenever the day changes.
When commenting out the useLayoutEffect there was no error,
the code we refactored had NO TEST coverage. A test was written
to ensure our fix was correct, and it was tested against the
previous useLayoutEffect:
- Passed with previous useLayoutEffect.
- Failed with previous useLayoutEffect commented.
- Passed with our OWL3 replacement.The web tour feature was updated to use the current component property handling approach. This keeps the guided tour and recording tools aligned with the latest framework standards and improves long-term maintainability without changing user-facing behavior.
Original PR description
See commit messages for details. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update modernizes internal web interface components by replacing an older property definition pattern with a newer validation approach. It helps keep the web client easier to maintain and reduces the risk of component configuration issues, without introducing expected changes for end users.
Original PR description
See commit messages for details. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The spreadsheet edition test setup was adjusted to match an internal change in how popover positioning is provided. This helps keep spreadsheet filter and pivot panel testing reliable without changing the experience for end users.
Original PR description
The env value `getPopoverContainerRect` has been changed into an owl plugin. We need to adapt the test components accordingly. Task: [6510584](https://www.odoo.com/web#id=6510584&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form)
Instead of patching (often partially) the time, use `mock_datetime_and_now`. https://github.com/odoo/enterprise/pull/130586 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr