Thursday, March 20, 2025
14 changes
1 change
Resolved issues and error corrections
Changing the screen orientation for an IoT kiosk no longer sends the request to an invalid address. This ensures kiosk display rotation settings can be updated reliably from the IoT form.
Original PR description
Introduced in commit 27a58bc. Steps to reproduce: 1. Configure an IoT box as a kiosk 2. In the IoT form view, change the Screen Orientation and save your changes. 3. The request will fail, and if you look in the developer tools you will see the request went to `undefined/hw_proxy...` instead of `<iot_box_ip>/hw_proxy...`. task-4658229
13 changes
Resolved issues and error corrections
Odoo Discuss now consistently dims conversation names when they are muted, whether muting is applied globally or to a specific thread. This makes it easier for users to distinguish muted conversations while keeping inactive threads visible in the sidebar.
Original PR description
Description of the issue/feature this PR addresses: The goals of the PR are multiple: - The thread names in the discuss app are not muted when "mute all conversations" is enabled or when the specific thread is muted. - The threads with no new messages are invisible when the parent thread is muted Current behavior before PR: see above Desired behavior after PR is merged: The thread opacity is set to 50 whenever the thread is muted (by any of the two ways) task-4607160 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix ensures payment references are generated correctly when a customer pays a single overdue invoice. It helps keep payment records accurate and easier to reconcile, reducing confusion for accounting teams.
Original PR description
computed by dedicated method _compute_reference when a single invoice is overdue.
The mail interface now hides the individual 'mute conversation' button when the user has already enabled 'mute all conversations'. This avoids showing an unnecessary option and makes notification settings clearer for users.
Original PR description
**Current behavior before PR**: The 'mute conversation' button was always visible, even when 'mute all conversations' was enabled. **Desired behavior after PR is merged**: The 'mute conversation' button is hidden when 'mute all conversations' is enabled task-[4630970](https://www.odoo.com/odoo/project/1519/tasks/4630970) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes how employee work entries are generated when a contract uses a fully flexible schedule. Time off is no longer calculated from a non-existent working schedule, helping avoid incorrect work entry records for affected employees.
Original PR description
In case of fully flexible working schedules, the leaves must not be computed from the working schedule (as there is none). The test for this bug is in the following related PR: https://github.com/odoo/enterprise/pull/80785 task-4623219
This fix preserves whether the chatter panel was open when users move between to-dos, including when opening a to-do from the activity view. It makes the To-Do app behave more consistently and avoids extra clicks for users who rely on the chatter.
Original PR description
Steps to reproduce: - Open To-Do app - Open a todo and click on chatter - Go back and open another todo - The chatter is closed by default Issue: - The chatter should be opened if opened earlier - If todo opened from activity view chatter is not opened Reason: - No logic to preserve the state if chatter. Solution: - Using local storage to store the state of the chatter and thus apply changes accordingly. task-4592501
The stock replenishment flow now warns users when they try to snooze an automatically created replenishment rule that cannot keep the snooze setting after refresh. This prevents confusion where an item appears hidden at first but reappears because the snooze date was not preserved.
Original PR description
Steps to reproduce the bug:
- Create a storable product “P1”
- Go to Operations > Replenishment:
- An orderpoint is created for “P1”
- Click on the Snooze button:
- Snooze for 1 day
- Snooze date: today
- The orderpoint for "P1" becomes invisible thanks to the “Snooze” filter
- Refresh the page
Problem:
The snooze filter is correctly applied, but an orderpoint for "P1" is still visible. This happens because the old snoozed orderpoint was unlinked, and a new one was created without the snoozed_until field set.
https://github.com/odoo/odoo/blob/18.0/addons/stock/models/stock_orderpoint.py#L596-L599
opw-4628611Forum page links used for search and sharing metadata now include the correct language setting and handle redirected URLs more reliably. This helps visitors and search engines land on the right localized forum content, including reply links with page anchors.
Original PR description
Previously, the `lang` parameter was missing from the URL, and URLs were not correctly updated when a 308 redirect was present. This commit ensures that the `lang` parameter is added and that URLs are properly converted after a 308 redirect.
A test in the website tour tooling has been temporarily skipped because it was producing inconsistent results. This helps keep automated checks reliable while the team redesigns a better way to detect this type of issue.
Original PR description
We're skipping the unit test to check for indeterminisms with mutations. Indeed, the strategy for detecting this kind of indeterminism needs to be rethought, and for the moment, this test is failing in an indeterministic way (lol) in master. 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 a problem where some invoice pages could fail to load when installment information was unavailable. The invoice template now handles missing or empty installment status safely, improving reliability for customers viewing invoices online.
Original PR description
Previously, when installment_state was None,
the template raised an error because None in ('next', 'overdue') is not a valid operation.
This change ensures safe access to installment_state using .get(), preventing potential errors when
the key is missing or its value is None.
**Description of the issue/feature this PR addresses:**
The invoice template was raising an error when installment_state was None, as the condition None in ('next', 'overdue') is invalid.
**Current behavior before PR:**
If installment_state is None, the template crashes due to an invalid comparison.
**Desired behavior after PR is merged:**
The template now safely retrieves installment_state using .get(), preventing errors when the key is missing or its value is None.
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prKanban card footers now display multiple items on additional lines instead of spilling into neighboring cards. This keeps card content readable and prevents visual overlap when many footer items are shown.
Original PR description
Before this commit, when the footer had many items, those were not wrapped so, the overflew under the next card. After this commit, elements inside the footer are wrapped, and they overflow on a next line. task-4609581 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
Documents kanban cards once again display tags that have no assigned color, preserving the experience users already expect. The update also includes internal cleanup and test modernization for the Documents area, helping keep future changes safer without changing day-to-day workflows.
Original PR description
Even though it's been commonplace in Odoo for a while, tags (or more precisely facets) with index-0/False color where still shown on Documents kanban cards. This should remain the case functionally as users are not expected to go and change the color of all their tags, nor can we decide for them at upgrade (and it'd be too late for many as well). Task-4645015 Also, cleaning up some test stuff for hoot. See details in individual commits. Task-3861500
This update fixes internal tests for Project Enterprise scheduling so they no longer incorrectly depend on the timesheet feature being present. It helps keep quality checks stable and reduces the chance of false failures during development or releases.
Original PR description
Same logic as: https://github.com/odoo/enterprise/pull/79947 rb-145524 rb-145525
Invoice reports now display the authorized signatory image without stretching it to full width. This preserves the signature’s original proportions, making printed or shared invoices look more professional and accurate.
Original PR description
The authorized signatory image is resized and loses it's aspect ratio. To fix, the w-100 (100% width) class is removed. OPW-4586108