Daily updates from Odoo
Wednesday, August 19, 2026
7 changes
Code cleanup and technical improvements
The inventory barcode app was updated as part of a broader platform migration to keep it compatible with the next version of Odoo's interface framework. This is an internal cleanup with no expected change to day-to-day warehouse scanning or stock counting workflows.
Original PR description
As part of the Owl 3 migration, replace onWillUpdateProps hook with the appropriate Owl 3 alternatives.
This update simplifies how commission plan charts are displayed by using a shared chart handling mechanism already adopted elsewhere. It reduces duplicated code and prepares the feature for newer platform changes, with no expected change to day-to-day user workflows.
Original PR description
The commission plan graph duplicated the same Chart.js lifecycle as the community components: an `onWillStart` loading the `web.chartjs_lib` bundle, then render on mount, destroy and re-render on every patch, destroy on unmount. Here we drop it for the hook extracted in the community PR. `useChart(getConfig)` is called from the constructor as a field and owns the canvas signal ref, so the template takes its `t-ref` from `this.chart.ref`. `spreadsheet_edition` patches `GraphRenderer` and reads its chart instance, which now lives behind the hook's accessor. WHY: useLayoutEffect is deprecated in OWL3 NOTE: the `JSON.parse` of the record value that `setup` did is dropped - `renderChart` re-parsed it on every run anyway, and nothing reads `this.data` before the chart is built. Community PR: odoo/odoo#282745
The map view code was updated to use the newer application lifecycle approach required by the next Odoo web framework version. This is an internal technical cleanup with no expected change to user-facing map behavior.
Original PR description
Replace `useLayoutEffect` with `onMounted` (functionnaly 1:1 equivalent because of the empty dependency array). Seperating in its own commit for simplicity of security review. WHY: useLayoutEffect is deprecated in OWL3
This update refreshes internal code used by spreadsheet editing screens and VoIP call controls to align with newer platform standards. It should help maintain compatibility and reduce maintenance risk without changing the expected user experience.
This update simplifies internal invoice creation code across sales-related modules, including subscriptions, loyalty, tests, and Brazilian stock EDI. It should make future maintenance safer and more consistent without changing day-to-day user workflows.
The audio visualizer was updated to use the newer supported approach in Odoo’s interface framework, replacing an outdated internal mechanism. This reduces future upgrade risk and adds test coverage to help ensure the visualizer continues working correctly.
Original PR description
Replaced `useLayoutEffect` with `computed` because `useLayoutEffect` is deprecated in OWL3. `barHeights` is pure derived state from `props.frequencies` and `barCount` (a signal). `computed` auto-tracks both dependencies and re-evaluates without side effects, making it a natural fit for this case. 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.
This change renames an internal user access group to make its purpose clearer and more consistent across the system. It should not change day-to-day workflows, but helps maintain the platform and reduces confusion for future updates.