Thursday, July 10, 2025
17 changes · saas-18.2
Resolved issues and error corrections
Long spreadsheet dashboard names in the search panel now show in a tooltip when users hover over them. This makes it easier to identify dashboards without guessing from truncated names.
Original PR description
Before this pr: - Long dashboard names were truncated in the search panel. - There was no way for the user to see the full name. After this pr: - A tooltip has been added to display the full dashboard name on hover. Task: [4903713](https://www.odoo.com/odoo/2328/tasks/4903713) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#217905 Forward-Port-Of: odoo/odoo#216578
The mail presence tracking now records online status without marking the related user profile as modified. This prevents routine login or activity updates from changing a user's last updated date, improving the reliability of audit and reporting information while keeping behavior otherwise unchanged.
Original PR description
Before this commit, when user presence changes, it was updating the write_date of user. This happens because any change of presence what doing a `Command.create()` on the presence_id field of user model. The presence object is automatically unlinked after 12 hours of inactivity, thus most users had their write_date changed every day because of the presence_ids being updated when logging in at least once a day. This commit fixes the issue by creating the presence rather than write on the user field, so that this is not considered a write on user object and thus it doesn't change the write_date of user. Other than not updating the write_date, the code behavior is functionally unchanged.
This fix makes the website live chat bot test wait for the bot's actual response timing instead of relying on an estimate. It reduces intermittent test failures and helps keep live chat chatbot behavior reliable when users type multi-part answers.
Original PR description
Before this commit, the `website_livechat_chatbot_flow_tour` tour was sometimes failing. The intent it to ensure the chat bot stops until the user fully wrote his answer. The flow is the following: -…
Before this commit, the `website_livechat_chatbot_flow_tour` tour was sometimes failing. The intent it to ensure the chat bot stops until the user fully wrote his answer. The flow is the following: - User sends a message (first part of his answer) - User starts typing: the chat bot waits - After some time, the user didn't finish his answer afterall, the chat bot continues. The chat bot uses the `_processAnswerDebounced` function to delay the processing of the step. However, the tour relies on `setTimeout`, expecting to come after the debounce delay. However, multiple messages are sent, and the debounce delay is postponed. As a result, the assertion is made too early, making the test fail. This commit fixes the issue by awaiting a deferred, resolved when the chat bot actually executes the debounced function. fixes runbot-113948,227675 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#218153
This fix makes an internal mail presence test more stable by avoiding timing issues when the test environment is under heavy load. It helps reduce false test failures, supporting smoother development and release validation without changing user-facing behavior.
Original PR description
Since [1], https://github.com/odoo/odoo/pull/207974 websocket timeout has been increased during test. Fetching notification only returns the notifications of the last 50 seconds initially. When runbot is under high load, this can lead to non deterministic failures. This commit patches the cursor date to bypass this issue. [1]: https://github.com/odoo/odoo/pull/207974 fixes rubot-223758 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#218178 Forward-Port-Of: odoo/odoo#218104
Mobile dialog headers no longer use back-end theme colors that could appear unexpectedly on the website. This keeps front-end dialogs visually consistent with the current design and avoids confusing brand or interface mismatches for visitors.
Original PR description
Before this PR: header color of `Dialog` on mobile was "community color" or white, depending on the version of Odoo the database is running. This was creating issues in in the front-end, where the user of the website would see back-end specific colors in different `Dialog`s. This PR removes the color customization of `Dialog`'header as it was fitting a design line we had before we introduced MILK. task-4001365 Example of the issue (mobile front-end): <img width="376" alt="Screenshot 2024-06-20 at 10 54 04" src="https://github.com/odoo/odoo/assets/110090660/dad6a4b2-6164-45dd-9e16-0160e2989607"> --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#170087
The E-Waybill report option now only appears after an E-Waybill has been successfully generated. This prevents users from trying to print an unavailable document and avoids a confusing error during invoice processing.
Original PR description
Currently, an error occurs when users print the E-Waybill without generating it. Steps to replicate: - Install `l10n_in_ewaybill` and switch to IN company. - Change the `Zipcode` on IN company to…
Currently, an error occurs when users print the E-Waybill without generating it. Steps to replicate: - Install `l10n_in_ewaybill` and switch to IN company. - Change the `Zipcode` on IN company to `aa`. - Go to `Invoicing > Customer > Invoices`. - Create an invoice, confirm and click Send E-WayBill. - Click on the Gear icon and Click on the report `Ewaybill`. Error: `ValueError: invalid literal for int() with base 10: ''....` `QWebException: Error while render the template ValueError: invalid literal for int() with base 10: '' Template: ir.ui.view(2614,) Path: /t/t/t/t/div/t[3] Node: <t t-if='doc.state in ewaybill_states'/>` The error occurs because the report printing is available even when the `E-Waybill` is not yet generated. This causes the execution flow to skip all the necessary validations, leading to a `ValueError` at line [1]. [1] - https://github.com/odoo/odoo/blob/aa7dac87a3eebce1b300e1e3d04398d680325b5d/addons/l10n_in_ewaybill/models/l10n_in_ewaybill.py#L640 This commit solves this issue by adding a domain to the report, so that it appears only after the EwayBill is generated. sentry-6695761066 https://github.com/user-attachments/assets/81e5a8eb-4c0c-4dc5-a65b-e22bc11098d2 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#215515
The HTML editor font size input now adjusts its text color properly when dark mode is enabled. This makes the editor easier to read and use for users working in dark mode.
Original PR description
Purpose of this PR: - Backport a [PR #206008](https://github.com/odoo/odoo/pull/206008), which ensures that the font-size input now changes its color appropriately in dark mode. task-4897771 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#215865
Expense posting no longer requires an employee work email because the related partner record can now be created without it. This prevents unnecessary blocking when submitting or posting expenses for employees who do not have a work email recorded.
Original PR description
- removed work email constraint while posting the expense as the partner is now created without the need of work email --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#212211
This fix adjusts the two-factor authentication login test flow so it only waits for a page change at the right step. This helps prevent false test failures and supports a more reliable login experience validation.
Original PR description
In this commit, we change the login page step by a step with isActive property. So this step is only active when the input#login is not on the page and then expectUnloadPage will be only listen when this step is active. 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#217972
This update fixes an unreliable automated test for the website HTML link editor. It helps keep release checks consistent and reduces false failures during validation, without changing customer-facing behavior.
Original PR description
The fix at [1] did not fix the issue. This is another attempt. runbot-227759 [1]: https://github.com/odoo/odoo/pull/215168/commits/9a3c9ecca14fb8701e4f934cf5285297cbe26310 Forward-Port-Of: odoo/odoo#218114
This fixes an automated test for message reactions so it correctly expects the same emoji selected twice to remove the reaction. The change improves reliability of Odoo's mail testing and helps prevent false build failures without changing business functionality.
Original PR description
Before this commit, test "Add the same reaction twice from the emoji picker" may fail non-deterministically in 18.1 on last step: the message reaction is sometimes kept, sometimes removed. The feature in 18.0 was keeping the emoji, whereas in 18.1 it now toggles the add / remove of reaction. This change of behaviour felt best with the addition of QuickReactionMenu, and for consistency this also works that way in emoji picker of message reaction. The test was not adapted but passed because the bus notifications were coming later than the burst of user actions to add emoji, thus there's flicker of showing message reaction at end when it's only temporarily and would be removed a fraction of seconds later. This commit fixes the test with the newer behaviour that it should toggle the reaction. Fixes runbot error 229340 Forward-Port-Of: odoo/odoo#218160
Employees with minimal point of sale permissions can no longer use the plus/minus button to set cart item quantities below zero. This prevents unintended returns or incorrect sales entries by users who should not have that level of control.
Original PR description
Fix issue where minimum rights employee were able to put negative orderline qty in the cart with the `+/-` button task-id: 4922318 enterprise PR: https://github.com/odoo/enterprise/pull/89669 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#217774
Corrected a translation update process that affected multiple country-specific accounting and reporting modules. This helps ensure localized report labels and related accounting terms display consistently for users in their local language.
Odoo Studio can no longer be opened on the Bank Reconciliation view. This prevents accidental customization of a sensitive accounting workflow that should remain controlled by the standard application.
Original PR description
- Install `web_studio` and `account_accountant` - Open Accounting -> Bank You can open studio on this view but this should not be possible opw-4859464 Forward-Port-Of: odoo/enterprise#89181 Forward-Port-Of: odoo/enterprise#89146
This update corrects how Amazon sales orders recognize DPD, Hermes, and Royal Mail carriers in Great Britain when carrier names are supplied by Sendcloud. It helps prevent shipping carrier mismatches so affected UK deliveries can be processed more reliably.
Original PR description
For DPD and Hermes (not the others), Sendcloud adds an unnecessary ISO code. In order to keep it should it be necessary (e.g. rml_gb), we map them to the Amazon const instead of stripping the code. While testing, it was also found that royal mail seems to have been renamed and was thus not working. Forward-Port-Of: odoo/enterprise#87745
This fix makes manufacturing shop floor tests ignore unrelated demo records when checking expected work orders. It reduces false build failures in automated testing, helping keep releases and updates moving smoothly.
Original PR description
### Issue: Certain shopfloor tests make assert on the number of records present in the shopfloor: - test_shop_floor_my_wo_filter_with_pin_user - test_automatic_backorder_no_redirect These assert can not be reliable due to demo-data's adding unrelated records e.g. https://github.com/odoo/enterprise/blob/5bfadae317ee47ac34703d4cc222677ac677cc7d/purchase_mrp_workorder_quality/data/purchase_mrp_workorder_quality_demo.xml#L79-L84 runbot-build-error-226734 Forward-Port-Of: odoo/enterprise#89556 Forward-Port-Of: odoo/enterprise#88005
Phone numbers entered with parentheses are now handled correctly by the VoIP feature. This helps calls connect as expected when users copy or enter numbers in common formats.
Original PR description
Add parentheses to the list of characters that are stripped from phone numbers. Part of task-4891947. Forward-Port-Of: odoo/enterprise#89625 Forward-Port-Of: odoo/enterprise#89551