Thursday, June 12, 2025
18 changes
3 changes
Resolved issues and error corrections
The VoIP keypad search now handles contacts whose names are blank or otherwise missing without causing an error. This prevents interruptions when users search for phone contacts and improves reliability for edge-case contact data.
Original PR description
This commit fixes a bug that happens when the partner name is a falsy value like a `" "`. This made the `t9_name` to be `false` and then to give an error when trying to access the `trim()` function. A solution for this was to guard it with a condition to check if the t9_name is falsy or not.
A stability issue in the Belgian Codabox connection setup was fixed so new setup records no longer trigger an error when company VAT details are missing. This helps keep automated checks and setup flows reliable, especially for companies that have not yet filled in all registration information.
Original PR description
The test `test_computed_fields_without_dependencies` triggers all compute methods on new records (model.new()).
In `_compute_company_vat`, we had:
`re.sub(r'[^0-9]', '', wizard.company_id.vat or wizard.company_id.company_registry)`
When running on a new record, both `vat` and `company_registry` are `False`, so:
`re.sub(..., False)`
This causes `TypeError: expected string or bytes-like object, got 'bool'`.
We fix this by explicitly passing a string fallback.
[runbot-164199](https://runbot.odoo.com/odoo/error/164199)This update corrects migrated Luxembourg and Canada financial report definitions that could fail to open after a syntax change. It removes outdated internal settings that were no longer needed, helping affected reports load reliably in version 18.3.
Original PR description
Some aggregation expressions used to have 'cross_report' as subformula. Though, it was useless (since the aggregation only uses terms from the same report), and the subformula was removed from the data file without explicitly resetting it to False. This became a problem in 18.3, because the cross_report syntax changes. Because of that, a migrated report failed to open, since it still was using the old syntax on that expression. We fix that by explicitly emptying the subformula. This was done in https://github.com/odoo/odoo/commit/bbba54a08c56e0a4d040fc8035996d9d7cafedad for the monthly Luxembourgish tax report ; but some other occurrences needed to be fixed.
3 changes
Resolved issues and error corrections
A failing automated tour test in Documents Spreadsheet was simplified after a spreadsheet library update exposed unnecessary steps. This helps keep validation reliable without changing the user-facing spreadsheet experience.
Original PR description
The multipage tour started failing after an update of the lib o-spreadsheet. While no significant change seems to explain the failing, it turns out that the tour makes LOTS of useless steps and the actual feature tested doesn't even require to load a spreadsheet. This revision simplifies the tour as much as possible. Fixes runbot error 226565
12 changes
Resolved issues and error corrections
This fixes an Italian localization setting so subtotal labels use an English default and can be translated according to the user or partner language. Invoices, sales orders, and purchase orders will no longer show the untaxed amount label in Italian for non-Italian users.
Original PR description
The Italian localization defined 'preceding_subtotal' in tax group records using the Italian term "Imponibile" as the default value. This caused the label for untaxed amounts in invoices, sale orders, and purchase orders to always appear in Italian, regardless of the system or partner language. task-4853046 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 fixes an internal test for the point-of-sale IoT scale integration so it matches the latest scale checksum behavior. It helps keep automated checks reliable and reduces the risk of future scale-related regressions reaching users.
Original PR description
See community PR odoo/odoo#213999 for the details of the change. This commit simply fixes the scale checksum test to reflect the new code. task-4866092
A spreadsheet test was adjusted to stay compatible with an updated pivot table parameter. This helps keep spreadsheet filtering behavior reliable after related changes in the spreadsheet engine.
The automated project creation check now completes the Sales Order Item form before saving the project. This prevents intermittent failures caused by an unfinished pop-up blocking the save action, improving confidence in the sales-project workflow tests.
Original PR description
Steps to reproduce the issue: 1- install sale_project without demo data 2- as the test is not deterministic, adding step_delay may help reproducing it The project creation tour was intermittently failing at the step that attempts to save the project (.o_form_button_save:enabled). The failure occurred because this step was triggered while a modal (for creating a Sales Order Item) was still visible and overlaid on top of the main form. Add missing steps in the project tour to select a product in the Sales Order Item form and save and close the form. build_error-163102
This fixes the online shop cart notification banner so it remains properly positioned when shoppers scroll the page. The change helps customers keep important cart feedback visible and reduces confusion during checkout-related interactions.
Original PR description
task-208961 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update adjusts internal tests for the mail editor and Unsplash integration so they wait properly before counting items on screen. It helps reduce unreliable test failures, supporting smoother development and releases without changing user-facing behavior.
Original PR description
Purpose of this PR: - Update powerbox test cases to use `expectElementCount` helper, which waits for elements to appear before checking their count. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The HTML editor now places a separator before an empty block and after a block that already contains text. This makes page editing behave more intuitively and avoids separators appearing in the wrong position.
Original PR description
Description of the issue this PR addresses: Current behavior before PR: The separator was always inserted before the current block, regardless of its content. Desired behavior after PR is merged: The separator is inserted before the block if it's empty, otherwise it is inserted after the block if it contains text. task-4848276 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update makes automated command palette tests less likely to fail randomly when the test environment is slower or busier than usual. It improves confidence in build results without changing the user-facing command palette experience.
Original PR description
Before this commit, some command palette tests failed non- deterministically. The cause was that the values set on debounced functions were too short, compared to the time it took to render the component after each action, PLUS the additional animation frame awaited by each call to 'advanceTime'/'runAllTimers'. All in all, should the CPU be a bit busier than usual, these tests would fail. This commit does 2 things: - the debounce delays have been vastly increased (100 & 200ms -> 500 & 1000ms); - the awaited actions in the command palette test module have been reduced to a minimum, using Hoot helpers directly instead of the web 'contains' wrapper. runbot [223268](https://runbot.odoo.com/odoo/runbot.build.error/223268) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix removes a race condition that could stop dynamic placeholder popovers from opening after a previous one was closed or failed. Users should see more reliable behavior when using placeholder selection in the web interface.
Original PR description
Before this commit there was a race condition that prevented other DynmaicPlaceholder to be spawned because they waited a Promise that was initiated by a now dead instance of the same class This was because the cached promise was originating from a protected method (orm service, with useService) Also, the cache did not account for failures. After this commit, there is no concurrency failures of that kind. opw-4815802 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 fix removes duplicate asset entries that were introduced by an earlier change in the website and HTML editor areas. It helps keep page editor resources cleaner and reduces the risk of unnecessary loading or maintenance confusion.
Original PR description
We have duplicate assets imported from the pr: https://github.com/odoo/odoo/pull/187091 up to saas-18.2, this pr is to clean the duplicate introduced --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Invoice reports for Mexican electronic invoicing now display the same fiscal regime used in the official CFDI when an invoice is marked as issued to the public. This prevents inconsistencies between the customer-facing invoice and the legally generated document.
Original PR description
Before, if you marked the to publick check in an invoice, the generated cfdi would force the Without fiscal obligations regime at the receptor data, but this wasn't done on the invoice which caused a mismatch on what was being reflected on the invoice and what was on the cfdi. This commit targets to show the same info on the invoice if invoice is set to public target: 18.0 -> master task-4685440
A new automated test was added to help ensure follow-up reports do not crash when the journal option is disabled. This reduces the risk of the same issue returning in future updates and helps keep customer follow-up processes stable.
Original PR description
Adds a test to the fix done in the commit [814b1b2](https://github.com/odoo/enterprise/commit/814b1b21f60189715c82c96397c36da706736490) opw-4836094
This fixes how SEPA Direct Debit batch payments choose eligible payments after a recent domain change. It helps ensure users see the correct payment options when preparing SEPA batches, reducing confusion and potential processing errors.
Original PR description
The dynamic payments domain for batch payments has been added in https://github.com/odoo/enterprise/pull/86217 Fix the override for domain payments in the SEPA module.
The report editor no longer makes unnecessary server requests when users add a field with the slash shortcut. This improves efficiency and can make the editing experience smoother without changing user-facing functionality.
Original PR description
…t mail should do Before this commit, in the reportEditor, add a field (by typing "/") There was calls made to the server that are not necessary for the report editor. This commit removes the calls by overriding the corresponding method. opw-4815802