Monday, October 20, 2025
21 changes · 19.0
Resolved issues and error corrections
This fixes an issue where confirmed validation payments could skip part of the normal completion process. Sales payment validation now still avoids unnecessary emails while ensuring all required follow-up actions run correctly.
Original PR description
Versions -------- - 18.0+ Issue ----- `super` isn't called on `_post_process` for confirmed validation transactions. Cause ----- A fix that prevented the sending of mail for validation transactions added a `continue` in a loop, which skips over the `super` call in the loop. Solution -------- Instead of `continue`, add an `if` check to see if we want to send mail. Forward-Port-Of: odoo/odoo#231972
The user form now shows the phone field with the correct label, “Phone,” instead of mistakenly displaying “Email.” This prevents confusion when viewing or editing user contact details.
Original PR description
…sers is displayed as email Description of the issue/feature this PR addresses: In Odoo 19, the phone field label in the user form view was incorrectly displayed as “Email” instead of “Phone”. Current behavior before PR: The phone field in the user form view showed the wrong title — “Email”. Desired behavior after PR is merged: The phone field now correctly displays the title “Phone” in the user form view. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The user form now shows the phone field with the correct label instead of displaying it as email. This avoids confusion when viewing or editing user contact details.
Original PR description
… is displayed as email [BUG] https://github.com/odoo/odoo/issues/232233 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
Error messages now use the same bank account field label that users see on the form. This helps payroll and payment users quickly identify which routing or clearing number information needs to be completed.
Original PR description
The label shown in the res.partner.bank form view depends on the show_aba_routing field. If we don't show the correct label in these error messages it's not clear to the user what field they have to fill. task-5052996 Forward-Port-Of: odoo/enterprise#97318
The project sharing page now hides a chat expand option that was not supported for portal users. This prevents an error when external users open a shared project task and interact with the task chat.
Original PR description
Steps to reproduce: === - Create a project. - Share the project with access to edit rights to the portal user. - Log in as the portal user. - Open the shared project and then open a task. - Click on the expand button in the chat. Issue: === A traceback occurs when trying to expand the chatter in a project sharing task. Cause: === `inFrontendPortalChatter` not being set in `useSubEnv` is the reason for button appearance, and we don't have the necessary composer for it to render in the project sharing bundle. Fix: === Define missing `inFrontendPortalChatter` to hide the expand chatter composer action as it was not meant to be available in the portal/front-end. task-5049129 Forward-Port-Of: odoo/odoo#231360
The website shop search box now shows search suggestions with apostrophes correctly, such as “desk's lamp,” instead of displaying code-like characters. This avoids confusing shoppers and makes the storefront search experience look cleaner.
Original PR description
currently, we use `t-out` to set the placeholder, which escapes HTML so `desk's lamp` becomes `desk's lamp` Fix: - replace `t-out` with `t-value` to properly store placeholder. **Before** <img width="513" height="270" alt="image" src="https://github.com/user-attachments/assets/92046e41-e471-4eba-9510-a9ea91eeccd8" /> **After** <img width="472" height="252" alt="image" src="https://github.com/user-attachments/assets/79157a51-adac-4c95-8e39-a0caa7cf1537" /> opw-5136972 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#230961
This fixes an issue where names containing non-breaking spaces could cause generated signature images to fail or display incorrectly. Users can now create signatures and initials reliably even when names include these special spaces.
Original PR description
Before this commit: Names containing a non-breaking space would break the generated svg file. This is because the inserted ' ' is not valid XML. This also broke the initials signature generation. After this commit: The getCleanedName method actually returns the cleaned name and the signature svg files is correct. Related ticket: opw-4927425 Forward-Port-Of: odoo/odoo#231517
Payment QR codes now use the payment reference instead of the customer reference in the free communication field. This helps ensure payment instructions carry the intended reference, reducing confusion during payment matching and processing.
Original PR description
The aim of this commit is replacing the usage of customer reference for the free communication in EPC SEPA QR Code for the payment reference. task-5122875 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#231401
The mobile shop page no longer adds extra spacing that pushed carousel indicators out of alignment. This creates a cleaner, more consistent browsing experience for customers on phones.
Original PR description
This PR removes unnecessary mobile padding that misaligns the carousel indicators. task-5126294 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The asset list has been restored to its previous non-editable behavior so the New button opens the asset form correctly. This fixes a workflow issue that could block users from creating new assets as expected.
Original PR description
The previous change to make the asset list view editable caused a problem where the "New" button no longer opens the form view. This commit reverts that change to restore the intended functionality.
Feedback entered when completing a meeting activity is now saved in the event's internal notes instead of its public description. This prevents unnecessary updates or notifications from being sent through synced external calendars.
Original PR description
When using a meeting as activity, one can add feedback when marking the activity done. This feedback is currently added to the calendar.event description, which can in turn be synchronized with external calendars and trigger calendar event update notifications. As we added an internal 'notes' fields in [1] on the calendar.event model, add the feedback to that field instead. [1] : odoo/odoo@67d5383ce4a5fe2e1307ef787939d7e2371e6529 Task-5143141
Internal chat and call tests now use simpler mock audio and video streams, reducing unnecessary resource usage during automated testing. This helps make test runs more reliable and lowers the chance of test cleanup issues, without changing user-facing behavior.
Original PR description
Before this commit, since https://github.com/odoo/odoo/pull/231222, the streams used for tests were unnecessarily realistic. - The audio stream was running with an oscillator, it is now an empty idle stream. This may also fix an issue where if the `oscillator.start` function crashes, the stream wouldn't be added to the stream list and not be closed. - The video stream was playing at 1fps, it now uses the default of canvas.captureStream which does not generate new frames if the canvas does not change. The commit also makes the `mockGetMedia` return the streams that it manages instead of using an exported global variable, which may cause issues as hoot retains the reference to window.
The help text for advanced employee access in Point of Sale was updated to match how the setting actually works. This reduces confusion for users configuring employee permissions by making the description accurate.
Original PR description
Before this commit, the help text of the advanced_employee_ids field was inconsistent with its behavior, as it was not possible to keep it empty. This commit updates the help to reflect the actual behavior. opw-5112862 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#232004 Forward-Port-Of: odoo/odoo#228612
A bug in the Mail module could cause field settings from one discussion record to be reused for another. The fix keeps each record's extra field list separate, helping prevent incorrect or unexpected information from appearing in mail and discussion views.
Original PR description
Before this commit, the `extra_fields` kwarg of Store.Relation would be mutated in place, causing unexpected behavior where the `dynamic_fields` of a record would be used for others. This commit fixes the shared list mutation issue by making a copy of the `extra_fields` and appending to that. Forward-Port-Of: odoo/odoo#232266
This fixes how Facebook video links are recognized when users embed videos in the HTML editor. It helps ensure Facebook videos are handled correctly and reduces failed or incorrect embeds.
Original PR description
This PR improves the changes made in PR #215204.
When embedding facebook videos, the url looks like
`"//facebook.com/plugins/video.php?href=https://www.facebook.com/username/videos/{video_id}/"`
after embedding, so we need to check for "https:" and "http:"
with method `startsWith` instead of `includes`.
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prThis fixes an invalid Swedish IBAN used in demo data for the Sweden localization. The corrected account number follows the official IBAN format, helping demonstrations and test setups reflect valid banking data.
Original PR description
This commit replace the wrong `SE0826566594158439377422` IBAN by `SE5850000000014938684140` The actual IBAN of the sweden bank journal demo data is not following the official format, which is: - Country code: 'SE' -> **OK** - Valid checksum digit: '58' -> **OK** - Valid bank code: '5000' -> **KO**, '2656' is not a valid SE bank code - n zeros to fill the IBAN: '0000' -> **KO**, it's missing the zeros - Account number: '14938684140' -> **OK** Linked:https://github.com/odoo/enterprise/pull/95463 task-5107240 Forward-Port-Of: odoo/odoo#232190 Forward-Port-Of: odoo/odoo#230104
The search bar will no longer automatically focus and open the keyboard on tablet devices. This avoids an unnecessary interruption for tablet users while preserving the intended behavior on mobile phones.
Original PR description
This commit fixes the usage of the 'mobile' param in the useAutofocus hook, which incorrectly focused the input on tablets, instead of only enabling it on mobile devices. A test has been added as well to cover this use case. task-5169698 Forward-Port-Of: odoo/odoo#232191 Forward-Port-Of: odoo/odoo#232054
IoT payment terminals now record consistent logs for every step of a transaction, including details that help identify the transaction. This makes it easier for support teams to investigate payment issues and understand what happened during a terminal transaction.
Original PR description
This PR improves the logging of terminals used with iot box. We will now get a log for every step of a transaction along with some information identifying the transaction Forward-Port-Of: odoo/enterprise#97216
This fixes an internal payroll test that failed because newer Chrome versions changed how certain text styling information is reported. The adjustment keeps automated checks reliable without changing payroll features or user workflows.
Original PR description
Since either 140 or 141[^0] Chrome uses compact serialization rules for text-decoration, as a result of w3c/csswg-drafts#12486. This was merged [on August 12th][CL-6824265] and Chrome 139 was cut on August 5 so couldn't have had this change. The new serialization rule means values which can be ommitted from a shorthand (default or fallback) should be, so the default `text-decoration-line` and a `text-decoration-color` matching the `color` won't be serialized in `text-decoration` anymore. Instead of matching the shorthand, match the actual stored properties. [^0]: 140 was not deployed on chrome next so it may or may not have been broken then [CL-6824265]: https://chromium-review.googlesource.com/c/chromium/src/+/6824265
The app menu search field now tells browser extensions not to offer autocomplete suggestions. This prevents tools like Bitwarden from showing unnecessary popups over the main menu, making navigation cleaner for users.
Original PR description
Bitwarden pops up small form on top of the main menu for no reason. It is because of the hidden input created to trigger search when you type. Put `autocomplete="off"` to avoid these popups, as the search feature handle its own autocompletion. Note: this commit is a backport of odoo/odoo@403d7b70ab16b8b70ea46aa692883c7b4a6e83b7 Forward-Port-Of: odoo/enterprise#97506
This fixes an issue where a failed file upload in the full mail composer could cause an error screen. Users can now recover from upload failures without the composer crashing, improving reliability when attaching files.
Original PR description
Before this commit, when a file upload in the full composer would be fail, it would result in a traceback. This happens because we would try to access the attachment resulting from the upload, which is however undefined when the upload fails. This commit fixes the issue by guarding the access of said attachment. task-4778468 Forward-Port-Of: odoo/odoo#231219