Daily updates from Odoo
Friday, October 17, 2025
6 changes
5 changes
Code cleanup and technical improvements
IoT system-related helper code was reorganized into a dedicated system file to make future maintenance easier. This reduces internal complexity and helps developers add new IoT utilities with less risk of code conflicts, without changing expected user behavior.
Original PR description
To reduce the size of the helpers file, and avoid struggling with circular imports when trying to add new utilities in system.py, we moved all system utilities to system.py file. Community PR: odoo/odoo#230735
The spreadsheet code has been reorganized so the calculation model is separated from the screen display logic. This prepares spreadsheets to run without a visible interface, such as on servers or in background workers, improving future flexibility and scalability.
Original PR description
One day we have a simple repo that does everything,
The next the repo has 2 packages:
- packages/o-spreadsheet-engine that contains the spreadsheet model and all the plugins
- src that contains all the components that shows the spreadsheet on screen and the rendering logic in general
The goal of the change is to be able to load the Model in headless mode, in nodejs and eventually in a webworker
Task: 4179627This update modernizes how many Odoo Enterprise apps read and save system configuration settings. It should not change day-to-day behavior, but it makes the underlying code safer and easier to maintain across accounting, banking, AI, and related features.
Original PR description
community: https://github.com/odoo/odoo/pull/223180 upgrade: https://github.com/odoo/upgrade/pull/8647 documentation: https://github.com/odoo/documentation/pull/15077
The sales commission area no longer shows a redundant forecast configuration option or unused forecast views. This makes the settings and reports cleaner while keeping forecast fields available when users choose to display them.
Original PR description
Before: - A setting existed to toggle forecast display, but most forecast fields were already optional, making the setting ineffective. - Some views linked to the sale.commission.plan.target.forecast model was unused. - The `Achievement Forecast` setting in res.config.settings was present but served no real purpose. - In pivot view under measures forecast field is default selected. After: - Removed the now-redundant forecast setting. - Deleted unused views tied to the forecast model. - All forecast-related fields remain optional for display directly in the view. - Removed the unused “Achievement Forecast” config option. - Forecast field in not default selected in pivot view Impact: - Simplifies the codebase by removing dead settings and views. - Ensures cleaner configuration and UI behavior. - Easier to maintain and understand for future updates. task-4903751
This update streamlines how WhatsApp discussion messages determine whether they can be translated. It is an internal cleanup that should make the messaging code easier to maintain without changing the user experience.
Original PR description
https://github.com/odoo/odoo/pull/232128
1 change
Code cleanup and technical improvements
This update improves the internal test coverage for audio and video calls in Discuss by simulating network behavior without needing real network access. It helps ensure call-related features are tested more safely and that media streams are properly cleaned up, reducing the risk of issues such as lingering camera or microphone activity.
Original PR description
- Add a Mock for the network layer of calls (`rtcService.network`), which allows for the testing of features that depend on network events, without using online tests (which would require local network access in the test environment). - Improve the stream testing API, so tests for stream cleanup are also added, which guards against memory leaks that could be caused if streams aren't properly closed and the associated lingering OS/browser level media indicators (eg: webcam activity light). - Add a test for https://github.com/odoo/odoo/pull/230287 now that it's possible to test such features.