Tuesday, May 19, 2026
12 changes · saas-18.2
Resolved issues and error corrections
This fixes an issue in the HTML editor where selecting content starting inside a table cell and ending outside it did not select the full table as expected. Users now get consistent table selection behavior regardless of the direction they drag or select content.
Original PR description
The previous commit fixes a behavior that is expected when the user makes a selection that starts in any element and ends in a table cell (the whole table gets selected), but the reverse case was never handled, namely when the selection starts in a table cell and ends outside of it. backport-https://github.com/odoo/odoo/pull/239270/changes/68e71fad5bbb0445bb1850bf694235f3235b602f task-5420366 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#264722
Embedded action names linked to server actions now use the server action name directly, so they stay current across languages. This prevents outdated or untranslated labels from appearing when languages are added or action names are changed.
Original PR description
When an embedded action is created from a server action, its name is just stored as is. When using these actions e.g. in the Documents top bar, there is already a "hack" to copy the name of the…
When an embedded action is created from a server action, its name is just stored as is. When using these actions e.g. in the Documents top bar, there is already a "hack" to copy the name of the server action to the embedded action in each active language. This has a few issues: - When a language is activated after the embedded action creation, the name of the server action is not copied to the embedded action, resulting in an untranslated name. - When the name of the server action is changed, the name of the embedded action is not updated, resulting in an outdated and possibly untranslated name. The workaround is to disable/enable the action now, but it's not very user-friendly and can be easily forgotten. To fix this, we can simply delegate the display name of the embedded action to the linked server action. This way, the name of the embedded action will always be up to date and correctly translated. Related: https://github.com/odoo/enterprise/pull/116369 Forward-Port-Of: odoo/odoo#262981
Fixed an issue where a Table of Contents block could keep showing a heading after that heading was merged back into regular text. This helps users keep documents and notes accurate without manually refreshing or rebuilding the table of contents.
Original PR description
Steps to Reproduce : - Go to To-Do → Create New and add a Table of Content block - Type text → in new line create /h1 → it appears in ToC - Place cursor before /h1 and press Backspace → it merges with paragraph Description of the issue: Table of Content block does not update accordingly Cause: After the heading is merged with the previous paragraph, `delayedUpdateTableOfContents` is triggered, but at that time no heading is available in the editable area. As a result, instead of updating the Table of Contents, it returns without making any changes. Solution: If Table of content already contains heading, then update regardless of whether editable contains heading elements or not. task-6150579 Forward-Port-Of: odoo/odoo#261675
The HTML editor color picker can now hide default theme colors when used in Studio report editing. This prevents report designs from accidentally using theme-based colors that may not be appropriate or stable for those documents.
Original PR description
This commit will add a new props to ColorSelector to disable default theme colors to allows studio to not use them opw-6167143 linked to https://github.com/odoo/enterprise/pull/109206 enterprise https://github.com/odoo/enterprise/pull/117555 Forward-Port-Of: odoo/odoo#264917
The HTML editor toolbar now correctly reflects the background color of selected table cells, including empty cells, icons, double-click selections, and keyboard-based selections. This gives users clearer visual feedback while editing tables and helps avoid applying or changing the wrong colors.
Original PR description
Before this commit: the background color of selected table cells isn't shown in the toolbar. After this commit: we have a background color processor in the table plugin to calculate the background…
Before this commit: the background color of selected table cells isn't shown in the toolbar. After this commit: we have a background color processor in the table plugin to calculate the background color of selected cells. The color and background color are also properly reset to update the selected color when selecting an empty table cell. table_selectionchange_handlers is created to make sure the selected color is updated after it. ### Commit 2: [FIX] html_editor: add background color indicator for icons Before this commit: the background color isn't properly indicated in the toolbar. After this commit: we create a provider for icon's background color, and extract the common code in the color_plugin as an utils function. ### Commit 3: [FIX] html_editor: show bg color when double click on empty cell Before this commit: the bg color is not updated when double clicking an empty cell. After this commit: we call setSelection with the current editable selection to trigger updateSelectedColor in the color plugin, when double clicking on an empty cell and selecting table cell(s) by keyboard. task-5976046 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#252011
This fix ensures that when an inherited custom field is renamed, related generated fields are cleaned up first. This helps prevent database inconsistencies and errors for businesses customizing their Odoo setup.
Original PR description
When renaming a custom field that is inherited, first remove the generated inherited fields from the database. backport of https://github.com/odoo/odoo/pull/240603 opw-6148175 Forward-Port-Of: odoo/odoo#264044
This update fixes an issue where WhatsApp channel avatars were incorrectly displayed as the default Discuss avatar after a member was added. Now, avatars are correctly pulled from the channel's WhatsApp member, ensuring a consistent and accurate representation of participants in WhatsApp channels. This improves the user experience for WhatsApp channel communication.
Original PR description
WhatsApp sidebar avatars should be resolved from the channel's whatsapp member, not from an arbitrary non-self member. Before this fix, adding a member to a WhatsApp channel caused the default Discuss avatar to be displayed instead of the actual WhatsApp member's avatar. This happened because the correspondent was not correctly computed for channels of type whatsapp. task-[5879840](https://www.odoo.com/odoo/project/1519/tasks/5879840) Forward-Port-Of: odoo/enterprise#115745
This update removes a redundant step in creating embedded actions within Odoo. Previously, a separate translation was required, but now the system automatically uses the translation from the linked action. This simplifies the process and ensures consistent translations across the platform.
Original PR description
Now that `ir.embedded.actions` delegates its display name to the linked action, the manual translation copy on embedded action creation is no longer needed. Related: https://github.com/odoo/odoo/pull/262981 Forward-Port-Of: odoo/enterprise#116369
This update prevents the report editor in Odoo Studio from using default theme colors, which were causing potential styling issues. This change ensures reports are styled consistently and independently of the main Odoo interface. The fix addresses a longstanding architectural problem within Odoo, now implemented in Studio.
Original PR description
Before this commit, there was no way to tell the ColorPicker to not use the DEFAULT_THEME_COLOR_VARS (ie classes of the form o-color-[n] with n some integer) Those colors are a bit special (see full…
Before this commit, there was no way to tell the ColorPicker to not use the DEFAULT_THEME_COLOR_VARS (ie classes of the form o-color-[n] with n some integer)
Those colors are a bit special (see full discussion on the opw)
Their existence is described in module web
Their CSS definition is implemented in module html_editor
Reports don't use them at all We probably don't want reports' style
to be influenced by the presence or lack thereof of the html_editor
module, which was originally made to customize the interface.
Those architecture issues should be solved downstream in master, but they are practically endemic in Odoo.
This commit addresses the fact that Studio's report editor should not allow those colors as possible customization by offering the components and plugins in the chain a props to disable them.
After this commit (and more broadly the PR bundle), the default theme colors are not available in studio's report editor.
see odoo/odoo#251446
backport of https://github.com/odoo/enterprise/pull/109206
opw-6167143
community: https://github.com/odoo/odoo/pull/264917
Forward-Port-Of: odoo/enterprise#117555This update corrects a bug where portal users could unintentionally delete documents they shouldn't have. The fix ensures that portal users can only delete documents they own, preventing automatic deletion by the system's cleanup process. This improves data integrity and aligns with intended user permissions.
Original PR description
Reproduce: with rpc call as portal user, you can archive documents you have access to. This is not desired as this may lead to records being deleted when the cron collects the trash, but we only wanted to support portal users deleting only records they own. What we did when calling toggle_active should be done for all calls to `write` with `active`. It also removes the need for `_raise_if_unauthorized_archive` and `_unlink_except_unauthorized`. Task-6205627 Forward-Port-Of: odoo/enterprise#116886
This update ensures that the General Ledger export accurately reflects the accounts displayed in the UI when using search filters. Previously, the export didn't consistently include all accounts matching the search criteria due to a difference in how the UI and backend search functions were implemented. This change corrects this discrepancy, providing more reliable reporting.
Original PR description
When applying a search filter in the General Ledger, the lines displayed in the UI differ from the ones exported. The discrepancy comes from the fact that the UI search bar filters lines using a simple "contains" logic on the displayed line name, while the backend export relies on the account model’s `_name_search` behavior, just as in the chart of accounts. For example, searching for "40" displays the accounts 400000, 400010, and 124000 but the last one (124000) is not is in the export results. task: 5917435 Forward-Port-Of: odoo/enterprise#116768 Forward-Port-Of: odoo/enterprise#107928
Documentation and clarification updates
This update adds QoQa's signed corporate contributor agreement to Odoo's records. It helps confirm the legal basis for accepting QoQa contributions in this version.
Original PR description
Description of the issue/feature this PR addresses: This is the corporate CLA for QoQa. I backported #262581 because we need it from 18.0 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#262582