Thursday, April 9, 2026
22 changes · master
Resolved issues and error corrections
Spreadsheet chart links now take users to the appropriate datasource view instead of the model's default view. This makes it easier for users to inspect the underlying data in the expected format, such as opening list-based data directly in a list view.
Original PR description
Currently, if the user clicks on a datasource link (inside a chart) they will be directed to the default view of the action realted to the datasource model but it will not go to the corresponding type of view (e.g. a list datasource should direct to a list view). Task-5957004 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 Forward-Port-Of: odoo/odoo#257967 Forward-Port-Of: odoo/odoo#249883
This fix prevents users from automating a bank reconciliation model when a counterpart line has neither a partner nor an account. It avoids failed operations caused by the system falling back to the bank journal’s default liquidity account, helping accounting teams configure models correctly before use.
Original PR description
**Steps to reproduce:** - Go to Accounting dashboard - From Bank journal, open Reconciliation Models list - Create a new reconciliation model - Add counterpart line without partner and account - Click on "Automate" **Issue:** The operation fails because the default account of the bank journal is used as there is no user and no account configured for the counterpart. Which results on several lines using a liquidity account (i.e. the cause of the error). Either a partner or an account should be set on a counterpart line. opw-6056737 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#257923
Previewing breadcrumb visibility settings on a website page no longer marks the page settings as changed. This avoids unnecessary background saves when users are only checking how an option looks, keeping the editing experience cleaner and more efficient.
Original PR description
The option for the visibility option of the breadcrumbs uses a custom save handler (the same as for the header and the footer). To avoid making the rpc to save the options when nothing has been changed, it keeps a flag telling whether there has been any change. This flag was set when changing the visibility option for the breadcrumb even when simply previewing the option. This commit uses the same strategy as for the header and footer's option, and only set the flag if not previewing. task-5149984 Forward-Port-Of: odoo/odoo#250206
The setup requirement checker now handles package versions that include labels such as post-release markers. This prevents installation or environment validation from failing unexpectedly when valid dependency versions use common non-numeric suffixes.
Original PR description
This commit fixes a crash in the parse_version() function where it doesn't support non-integer castable version parts (i.e. 5.4.2.post1). Forward-Port-Of: odoo/odoo#257946
Users who try to send a postal letter with more than 8 pages now receive a clearer explanation of why sending failed. This helps them understand the page limit issue instead of seeing a generic failure message.
Original PR description
When a user attempted to send a letter with snailmail that had more than 8 pages, sending would fail, and a generic error message is logged on the letter. This commit makes the error message generated in that flow more specific to help users better understand the root cause of sending failure. task-5883011 Forward-Port-Of: odoo/odoo#257867
This fixes cursor navigation in the HTML editor when moving up or down around code blocks. Users editing formatted content can now move between paragraphs and code blocks more predictably, reducing frustration and editing errors.
Original PR description
### Description of the issue/feature this PR addresses: - When navigating with ArrowUp/ArrowDown around a code block, the caret could end up in an unexpected position. - Arrow navigation from start or end of a paragraph did not correctly enter the adjacent code block. - Arrow navigation from the start or end of a code block did not correctly move the caret to the previous or next sibling block. ### Desired behavior after PR is merged: - Paragraph start + ArrowUp moves to the end of the previous code block. - Paragraph end + ArrowDown moves to the start of the next code block. - Code block start + ArrowUp moves to the end of the previous paragraph. - Code block end + ArrowDown moves to the start of the next paragraph. task-5384549 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#241798
Fixed an issue in the Mail app where avatar names could be hidden because their display area had no width. This makes user names beside avatars visible again, improving clarity in mail-related views.
Original PR description
This commit fix the width of the displayName option of the Avatar component which was fixed to zero (bootstrap class 'w-0') Task-5122979 Forward-Port-Of: odoo/odoo#257981 Forward-Port-Of: odoo/odoo#257587
The Dutch tax report now shows line 1d with the correct negative sign, matching the rest of the supplies section. This helps businesses avoid misstated VAT report totals caused by a sign configuration change in the underlying tax tags.
Original PR description
It is be better to change the sign, because it is under supplies and the other report lines in that section also have a negative sign. In other words, anyone who would have configured the tax, would have used the negative tag to configure it right before. Now that the sign on the tags is gone, we need to put it correctly on the report line. opw-5874677 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 Forward-Port-Of: odoo/odoo#255039
This fixes a small timing issue in Point of Sale automated tests by giving local browser database activity more time to finish before a page refresh. It helps reduce false test failures and improves confidence in release validation without changing user-facing behavior.
Original PR description
In some tests, we use refresh which will refresh the page after letting the indexedDB finish its transactions. In some cases, the transactions take more time than expected. In this commit, we increase this timeout to avoid failures that could be caused by not letting the time to the db to finish its transactions. runbot-errors: 240911, 240912 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#253095
The emoji picker search field now correctly shows its placeholder text when using the newer interface framework. This small fix helps users understand where to type their emoji search and supports a smoother upgrade path.
Original PR description
Before this commit, using owl 3 on current template of emoji picker would not have the placeholder shown. This happens because `placeholder` is defined in JS component while `placeholder` is being used as if defined as a template variable. In owl2 this is not a problem because context of template has the component's context in the prototype chain, however that's not the case in owl3. This commit fixes the issue to match with recent changes in template to prepare for owl3. Before / After (with owl3): <img width="302" height="371" alt="Screenshot 2026-04-08 at 15 08 48" src="https://github.com/user-attachments/assets/c232d533-0d86-473c-b14b-2e7f406158a8" /> <img width="302" height="371" alt="Screenshot 2026-04-08 at 15 09 33" src="https://github.com/user-attachments/assets/84171fd2-0e54-4874-ac72-181fb27873f5" /> Forward-Port-Of: odoo/odoo#258110
This update fixes a point of sale test so it first confirms the loading indicator appears before checking that it disappears. This makes the check meaningful and helps prevent missed synchronization issues in the point of sale interface.
Original PR description
With this fix, we ensure fa-spin is in .status-buttons before to check that it's not there. If we don't add this previous step, the check is trivial ... always true. 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
Users can now print a survey even when no responses have been collected yet. This prevents an error page from appearing and keeps the survey printing workflow reliable.
Original PR description
Printing a survey without any answers currently triggers a rendering error because the template attempts to access an element from an empty recordset. Since the recordset contains no entries, this results in an index exception, causing the template engine to fail and display an error page. Steps to reproduce: 1. Open a survey in the "Surveys" app 2. Click on the cog menu of the control panel 3. Select "Print Survey" from the dropdown menu => An error page is displayed instead of the survey To resolve the issue, we will update the `survey_page_print` template to safely retrieve the first answer line by applying a slice operation [:1] on the `answer_lines` recordset that is currently causing the error. After this change, the user should be able to print the survey without answers. See: odoo/odoo#247409 Task-6093043 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The HTML editor toolbar now appears in the correct place when users select a table column. This makes table editing clearer and avoids confusion caused by the toolbar showing at the wrong side of the table.
Original PR description
**Current behavior before PR:** Steps to reproduce: - Create a 3 x 3 table. - Select 3rd column and wait for toolbar. Currently, the toolbar is positioned at the start of the table even when the last column is selected. This happens because selecting cells in the 3rd column creates a DOM selection range that starts at the first cell and ends at the last cell of the column, traversing all intermediate elements. As a result, browser's range rectangle does not match the actual custom-selection rect. **Desired behavior after PR is merged:** Now, Toolbar is positioned correctly above the custom selected cells. task-5935587 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#257879 Forward-Port-Of: odoo/odoo#248964
This update improves the reliability of automated website checks by making test steps more precise. It helps reduce random test failures, supporting smoother development and more dependable releases without changing user-facing behavior.
Original PR description
Fix undeterministic tours by making some triggers more precise in a few steps.
This fixes an issue that could cause an error when the system calculated work entry types for time off records. It helps keep HR leave processing reliable and avoids interruptions for users managing employee absences.
Original PR description
Forward-Port-Of: odoo/odoo#258346
This update adjusts the VAT number used in the 'L10nThaiTaxReportTest' test case to align with recent changes in how companies and individuals are created within Odoo. This ensures accurate reporting and tax calculations for Thai businesses.
Original PR description
in this commit:- - We're changing partner's vat in 'L10nThaiTaxReportTest' and adopting new vat as per new way of creating company and individual. as `branch name` is depend upon 'is_company'. - see https://github.com/odoo/odoo/commit/f6e431c813787958897526a4d6570124048b428a task-6002111 Forward-Port-Of: odoo/enterprise#113236 Forward-Port-Of: odoo/enterprise#112434
This update fixes an issue where chart links weren't directing users to the correct view type (e.g., a list view for a list datasource). Previously, links defaulted to the standard action view, leading to an inconsistent user experience. This change ensures chart links now accurately navigate to the appropriate view for each datasource type.
Original PR description
Currently, if the user clicks on a datasource link (inside a chart) they will be directed to the default view of the action realted to the datasource model but it will not go to the corresponding type of view (e.g. a list datasource should direct to a list view). Task-5957004 Forward-Port-Of: odoo/enterprise#113211 Forward-Port-Of: odoo/enterprise#108158
This update resolves an issue where manual digitization of vendor invoices was blocked if the bill date wasn't initially set. The change allows users to trigger digitization without a bill date, while still ensuring data consistency through a validation step afterward. This improves the flexibility of the invoice digitization process.
Original PR description
### Issue: When setting Vendor Bills to Digitize on demand, it is no longer possible in 19.0 to trigger digitization manually if the Bill Date is not set A missing required fields error is raised ###…
### Issue: When setting Vendor Bills to Digitize on demand, it is no longer possible in 19.0 to trigger digitization manually if the Bill Date is not set A missing required fields error is raised ### Cause: This PR: https://github.com/odoo/odoo/pull/238911 introduced a required field to prevent an error modal from appearing While this works as intended, it also blocks the `Digitize Document` action, which is supposed to populate the Bill Date automatically ### Fix: A condition similar to the one used for the Digitize Document button is applied to allow triggering digitization without a Bill Date The validation modal is still enforced afterward to ensure data consistency in case of manual edits ### Steps to reproduce: - Install `account` - In Settings, set `Document Digitization` for `Vendor Bills` to `Digitize on demand only` - Create and print an invoice (any data) or use an existing one - Import it into Vendor Bills - Click Digitize Document ### Before the fix: A missing required fields notification is raised, preventing digitization opw-5886012 Forward-Port-Of: odoo/enterprise#112585
This update fixes a minor issue in the knowledge history tour by adding a new step, ensuring a more complete and accurate user experience. This enhancement improves the onboarding process for new users and provides a clearer demonstration of the knowledge base features.
Original PR description
Fix tour by adding a new step.
This update corrects a stability issue within the Odoo Enterprise expense reporting module. By switching to a 'TransientModel' for the wizard, the system is now more reliable and efficient. This change ensures smoother operation of the expense tracking process.
Original PR description
`HrExpenseStripeTestPurchaseWizard` is currently using a normal `Model`, but it's a wizard, so use a `TransientModel`. Forward-Port-Of: odoo/enterprise#113313
This update ensures the demo data for the Turkish payroll module correctly references the state IDs. Previously, demo data used outdated state information, leading to potential errors. This change improves the accuracy and reliability of the demo environment for Turkish payroll setup.
Original PR description
Previously, all the turkish states were defined in the base module, but were moved to l10n_tr. This comit makes sure that demo data uses the correct state ids task-5945331
A technical issue preventing users from accessing the timesheet assistant was fixed. This involved correcting a duplicate key error in the configuration file, ensuring a smoother user experience when taking suggestions for timesheets. The change improves stability and usability of the timesheet feature.
Original PR description
In PR: https://github.com/odoo/enterprise/pull/108360/changes `aw_local_config.js` was replaced by `frequency_viewer_local_config.js` but in the Forward from saas-19.1 to saas-19.2, both files were maintained https://github.com/odoo/enterprise/commit/3ced9cf68affd973c570e92627361cd0db8eb518 Forward-Port-Of: odoo/enterprise#112639