Daily updates from Odoo
Wednesday, July 8, 2026
2 changes
Code cleanup and technical improvements
The Swedish SIE import tool was adjusted internally so related behavior can be extended more easily in the future. This does not introduce a user-facing change, but it improves maintainability for businesses that rely on custom accounting import flows.
Original PR description
We changed some tools to be regular model method to allow inheritance. task-none Forward-Port-Of: odoo/enterprise#121862
This update keeps the Studio view editor working reliably as the underlying web framework evolves. It replaces an outdated internal mechanism with the supported approach while preserving behavior such as restoring selected elements, keeping the sidebar in sync, and unblocking the interface after edits.
Original PR description
Replaced `useLayoutEffect` with `onMounted` + `onPatched` because `useLayoutEffect` is deprecated in OWL3. `useEffect` (OWL3's reactive effect) was tried first but caused regressions: it runs eagerly…
Replaced `useLayoutEffect` with `onMounted` + `onPatched` because `useLayoutEffect` is deprecated in OWL3. `useEffect` (OWL3's reactive effect) was tried first but caused regressions: it runs eagerly during `setup()` before mount, so `updateActiveNode`'s call to `viewRenderer.el.querySelectorAll` hit a null element. `onMounted` + `onPatched` restore the exact post-DOM-patch timing of the former `useLayoutEffect`, making the behaviour correct without any reactive-subscription machinery. `activeNodeXpath` is read inside `onPatched` but that hook is not a reactive context, so reads are naturally untracked — matching the original `untrack` wrapper. The `isInEdition` reset is written through `toRaw(viewEditorModel)` so the setter side-effect (`ui.unblock()`) still fires while no re-render is scheduled, avoiding an infinite patch loop. The `useLayoutEffect` refactored in this PR had test coverage — below are some tests that failed when the effect was commented out, and are now passing: - @web_studio/view_editors/form_editor/restore active notebook tab and element - @web_studio/view_editors/interactive_editor/blockUI not removed just after rename - @web_studio/view_editors/interactive_editor_sidebar/update sidebar after edition see commented-out runbot build: https://runbot.odoo.com/runbot/batch/2602194/build/115250513