Daily updates from Odoo
Tuesday, November 25, 2025
16 changes
2 changes
Enhancements to existing features
- `-g 0` turns out to significantly increases file size without increasing quality (apparently it makes every frame an i-frame) - lossless video seems useful for comparing different runs, and while it *is* costly it's pretty reasonable for screencasting (5~6 times the size of a normal output, but a third the size of current outputs) - "lossless h264" (per ffmpeg) does not seem to actually be lossless - lossless av1 does work (and is slightly smaller than h265), but the libsvtav1 shipped by ub
Original PR description
- `-g 0` turns out to significantly increases file size without increasing quality (apparently it makes every frame an i-frame) - lossless video seems useful for comparing different runs, and while it *is* costly it's pretty reasonable for screencasting (5~6 times the size of a normal output, but a third the size of current outputs) - "lossless h264" (per ffmpeg) does not seem to actually be lossless - lossless av1 does work (and is slightly smaller than h265), but the libsvtav1 shipped by ubuntu does not support it, and libaom is *extremely* slow, so that might be something to revisit in a few years Testing on the main flow tour (desktop), - the current setting generates a 40MB file - removing `-g 0` generates a 2.6MB file, quality seems about the same - h264 pseudo-lossless yields a 9.4MB file - h265 lossless is 16.9MB - av1 (libsvtav1) is 2.5MB - av1 lossless (libaom) is 13.2MB Forward-Port-Of: odoo/odoo#236710
This update streamlines the Peppol Registration Wizard by ensuring a warning banner only appears after endpoint details are entered, and removing unnecessary placeholders. This simplifies the process for users and improves the overall user experience within the account module.
Original PR description
In the Peppol Registration Wizard: - Warning banner should only show up when endpoint as been filled - Remove placeholder - ~Remove the "in" migration~ Ref PR for master: odoo/odoo#234088 Task [link](https://www.odoo.com/odoo/project/967/tasks/5170831?debug=assets) task-5170831 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#235982 Forward-Port-Of: odoo/odoo#234087
3 changes
Enhancements to existing features
This update enhances the Peppol Registration Wizard by streamlining the user experience. Specifically, a warning banner now only appears after endpoint details are entered, and a placeholder has been removed for clarity. This simplifies the process for users registering for Peppol.
Original PR description
In the Peppol Registration Wizard: - Warning banner should only show up when endpoint as been filled - Remove placeholder - ~Remove the "in" migration~ Ref PR for master: odoo/odoo#234088 Task [link](https://www.odoo.com/odoo/project/967/tasks/5170831?debug=assets) task-5170831 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#235982 Forward-Port-Of: odoo/odoo#234087
This update enables the IoT box to connect without requiring a secure HTTPS certificate. By utilizing Local Network Access (LNA), the system now defaults to HTTP requests, simplifying the connection process and improving reliability. This change ensures consistent functionality for IoT devices.
Original PR description
Enterprise PR: https://github.com/odoo/enterprise/pull/100331 **This PR contains 2 commits:** - **[IMP] iot_base: allow use of LNA for IoT requests** Chromium 142 added support for HTTPS -> HTTP…
Enterprise PR: https://github.com/odoo/enterprise/pull/100331 **This PR contains 2 commits:** - **[IMP] iot_base: allow use of LNA for IoT requests** Chromium 142 added support for HTTPS -> HTTP requests on the local network (Local Network Access). This commit adds a flag to the IoT longpolling class to enable LNA support. The flag forces all requests to use HTTP even in an HTTPS environment. It also sets the `targetAddressSpace` option to `local` in the `fetch` request. - **[IMP] point_of_sale: use_lna support for IoT requests** Since https://github.com/odoo/odoo/pull/235702, there is a `point_of_sale.use_lna` system parameter. When it is set, ePOS requests will use HTTP instead of HTTPS, and the `targetAddressSpace: "local"` option is used in the `fetch` request. This bypasses the need for a HTTPS certificate. This commit adds the same functionality to all IoT requests from the POS. This should allow the IoT box to function correctly without a HTTPS certificate. task-5353672 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This pull request introduces new automated tests for the UrbanPiper integration, ensuring the functionality continues to work correctly. Additionally, several minor fixes have been implemented to improve stability and data accuracy, specifically related to receipt printing and timer display.
Original PR description
## 1. Hoot test
in this commit:
- add HOOT tests for components, model, screen, and service
- added test for methods in `order_info_popup` and `order_display`
- include tests for `pos_order`, `ticket_screen`, and `pos_store`
- add utility to generate UrbanPiper-filled order
## 2. minor fixes
in this commit:
- kept serialized data for receipt printing
- ensure timer does not display negative values
- correct variable usage in ticket screen to fetch proper props for display order
- revamp `getTime` method to use l10n time format
task: 50483121 change
Enhancements to existing features
This update enhances compatibility with newer IoT Boxes (v19.1+) by adding a check for the 'bb status' within the system's data status. This ensures seamless integration and prevents potential issues related to the latest IoT Box versions. It's a routine maintenance update to maintain compatibility.
Original PR description
We now check the bb status in `data.status` in addition to `data.status.status` to ensure compatibility with v19.1+ IoT Boxes. Forward-Port-Of: odoo/enterprise#100440
4 changes
Enhancements to existing features
In this commit, we converted the payroll benefits into salary rules and adjusted the demo data. task-5122374.
Original PR description
In this commit, we converted the payroll benefits into salary rules and adjusted the demo data. task-5122374.
This update improves the Tyro point-of-sale system's compatibility with self-order kiosks. Specifically, it allows kiosks to access product information and prevents receipt printing, while displaying an error message for unsupported features like surcharges and tips. This ensures a smoother user experience on kiosk systems.
Original PR description
Community PR: https://github.com/odoo/odoo/pull/231190 This commit includes some small changes to make Tyro compatible with the kiosk: - Allow the `get_tyro_product_info` method to be called from the kiosk. - Don't try to print merchant receipts from the kiosk. - Show an error message if surcharges/tips are used in the kiosk, these are not yet supported. task-4882726
This update enhances the user experience of Odoo's payroll system by refining the visual presentation of pay run and employee payslip views. Specifically, minor formatting adjustments and label changes have been made to improve clarity and consistency.
Original PR description
- Replace '-' with '→' in Period on pay run payslip form - Change label 'payslip' to 'Payslip' in pay run kanban view - Remove kanban view from the Employee Payslips task-5163907
This pull request addresses improvements to the generation of UBL test files for Odoo's tax localization modules (GT and MX). Specifically, it streamlines XML processing and formatting for better test file structure and consistency, ensuring accurate validation of invoices.
Original PR description
When backporting to 18.0, we discovered a few improvement findings which are important to add in the original master version. - `_sort_xml_attributes` is reinventing the wheel. etree has a built in method- `canonicalize` which handles converting the XML to fit in to the `c14n` v2 standard, which already includes sorting of the attributes. We should use that instead of `_sort_xml_attributes`. - collect all namespaces from the whole document and put them on the root element, after the canonicalization process. This reverts the canonicalize standard of placing namespaces as deep inside the tree as possible which makes the generated UBL test ugly & crowded, as almost all element tag in UBL files are prefixed with namespaces. These collected namespaces are also sorted to ensure consistency. - remove xml_declaration on the test files related-community-PR: https://github.com/odoo/odoo/pull/237365 task-4891206
5 changes
Enhancements to existing features
- `-g 0` turns out to significantly increases file size without increasing quality (apparently it makes every frame an i-frame) - lossless video seems useful for comparing different runs, and while it *is* costly it's pretty reasonable for screencasting (5~6 times the size of a normal output, but a third the size of current outputs) - "lossless h264" (per ffmpeg) does not seem to actually be lossless - lossless av1 does work (and is slightly smaller than h265), but the libsvtav1 shipped by ub
Original PR description
- `-g 0` turns out to significantly increases file size without increasing quality (apparently it makes every frame an i-frame) - lossless video seems useful for comparing different runs, and while it *is* costly it's pretty reasonable for screencasting (5~6 times the size of a normal output, but a third the size of current outputs) - "lossless h264" (per ffmpeg) does not seem to actually be lossless - lossless av1 does work (and is slightly smaller than h265), but the libsvtav1 shipped by ubuntu does not support it, and libaom is *extremely* slow, so that might be something to revisit in a few years Testing on the main flow tour (desktop), - the current setting generates a 40MB file - removing `-g 0` generates a 2.6MB file, quality seems about the same - h264 pseudo-lossless yields a 9.4MB file - h265 lossless is 16.9MB - av1 (libsvtav1) is 2.5MB - av1 lossless (libaom) is 13.2MB Forward-Port-Of: odoo/odoo#236710
This update simplifies the Peppol Registration Wizard by removing unnecessary warnings and placeholders. Specifically, the outdated 'in' migration process has been removed, streamlining the registration experience for users. This change focuses on clarity and efficiency within the wizard.
Original PR description
In the Peppol Registration Wizard: - ~Warning banner should only show up when endpoint as been filled~ - Remove placeholder - ~Remove the "in" migration~ Ref PR for master: odoo/odoo#234088 Task [link](https://www.odoo.com/odoo/project/967/tasks/5170831?debug=assets) task-5170831 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#235982 Forward-Port-Of: odoo/odoo#234087
This pull request optimizes how Odoo handles employee data, resulting in faster loading times and improved responsiveness when working with employee records. The changes enhance the performance of the HR module, leading to a smoother user experience. This is a general performance improvement.
Original PR description
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
This update ensures that the same optional fields related to vehicle assets are consistently shown on both Receipts and Vendor Bills within the Enterprise module. This improves data clarity and simplifies processes for users managing fleet assets. The change aligns field visibility across related documents.
Original PR description
This commit ensures that the same optional fields are displayed consistently on both Receipts and Vendor Bills. Updated the visibility of the following fields: - vehicle_id (Vehicle) task-5349202
This update ensures that key optional fields – like deductible amounts, vehicle IDs, landed costs indicators, and purchase order references – are consistently displayed on both Receipts and Vendor Bills. This improves data clarity and simplifies processes for users managing financial transactions across multiple modules.
Original PR description
Modules modified - account, account_fleet, stock_landed_costs, purchase This commit ensures that the same optional fields are displayed consistently on both Receipts and Vendor Bills. Updated the visibility of the following fields: - deductible_amount (Professional %) - vehicle_id (Vehicle) - is_landed_costs_line (Landed Costs) - purchase_order_id (Purchase Order) task-5349202
1 change
Enhancements to existing features
This update streamlines accounting test creation by introducing a standardized helper for asserting and saving XML files. This simplifies test maintenance, reduces errors, and provides a more organized approach to XML handling within the Odoo accounting tests.
Original PR description
> This is a backport of the merged https://github.com/odoo/odoo/pull/235565 - with a couple of improvements & adaptations to the test files. This commit adds helpers and improves on the way we assert…
> This is a backport of the merged https://github.com/odoo/odoo/pull/235565 - with a couple of improvements & adaptations to the test files. This commit adds helpers and improves on the way we assert XML files in `AccountTestInvoicingCommon` and all accounting test that extend from it. From now on, all accounting test code that assert an XML tree/string to an XML file should call the `assert_xml` helper, and design their test file name/location/etc. around this framework. This approach has a few major benefits: Assert / Save XML When testing XML files, we often need to perform create/read/update operations on the asserted XML to make sure it corresponds to the most updated/intended data. Previously, to save something to an XML, a developer would need to write their own local helpers to save the XML in the right directory. This was cumbersome and error-prone, so we decided to design a helper that allows developer to immediately save AND/OR update the asserted XML: to save/update an XML, we can simply add `SAVE_XML` as an additional test tags. Better test naming and optional subfolder management To better organize test files, the `assert_xml` method allows us to write just the test key name (without `.xml`), and the framework will automatically get the XML to assert/save from the `test_files` directory. An optional `subfolder` parameter is also added to allow writing to specific subfolder within `test_files`. Better `___ignore___` management in assertion XMLs Sometimes, we want to ignore a few XML node that are not relevant, or have content that are not deterministic (changes on every test run). To handle this, previously, developers would need to modify the assertion XML content by hand or write their own local script to do so. With this new framework, we just need to add an `ignore_schema.xml` file somewhere in the `test_files` directory. If put inside a subfolder, it will be applied with more priority towards the XML that are put on that specific subfolder. Save "pure" XML (before applying `___ignore___`) in temporary folder When calling `SAVE_XML`, before applying the ignore patches, the XML will be saved in a temporary folder (same folder as the screenshots for tours), so that developers can use them in external tests in the future, and for any other saving reasons. In addition, this commit also: - add `extra_tags` helper to save all the common tags for EDIs, for a better way to enable `EXTERNAL_MODE` testing inspired by `l10n_mx_edi` - convert some non-assert XML test helpers into a class method - canonicalize the XML to ensure consistency of the generated test files following the C14N Version 2 standard. (Deterministic namespaces location, sorted attributes, etc.) task-4891206