Monday, August 3, 2026
9 changes · saas-18.4
Resolved issues and error corrections
Applying an animation to all text in the website Cover block no longer causes the text to shift left. This keeps edited website sections visually consistent and avoids extra manual alignment fixes for users.
Original PR description
Step to reproduce: 1.Drag & drop a "Cover" block. 2.Select all the text in the block (from "Your journey" to "readers.") 3.Add an animation to the selected text. 4.The text shifts to the left instead of remaining centered. Before this commit : When selecting all the text(from "Your journey" to "readers") in s_cover snippet and applying ananimation, the text alignment unexpectedly changed to left. After this commit : When we select the text (from "Your journey" to "readers.") in s_cover snippet then apply animation on our selected text the text stays centered as expected. This is achieved by ensuring that the outer container maintains the text-center property, so the entire text block (from "Your journey" to "readers.") retains its original alignment. task:5155887
This fixes an issue where the editor toolbar could briefly appear between a double-click and triple-click while selecting text. The toolbar now waits correctly, creating a smoother editing experience and avoiding distracting flicker.
Original PR description
Purpose of this PR: - On double click, opening the toolbar is delayed by 300ms to prevent flickering before a potential triple click. - However, mouseup was re-enabling selection tracking (onSelectionChangeActive = true) before the 300ms delay finished. Because browser selectionchange events are dispatched asynchronously after mouseup, they triggered updateToolbar() immediately, bypassing the 300ms delay. - This fix re-enables selection tracking only after the 300ms debounced update actually finishes. runbot-941543 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#278025
Fixes an issue where the unread message banner in Discuss channels could disappear incorrectly after marking messages as read on multiple devices. Users will now see the banner again when new unread messages arrive, improving message visibility and reducing missed updates.
Original PR description
Before this commit, the unread banner could stop showing in a channel until it was left and opened again: - open a channel with unread messages - click "Mark as Read" - read the same channel from another device - receive a new message: the server counter increases, still no banner This happens because an implicit mark as read freezes the local unread state, so the banner stays in place while the user reads. The problem is that it stays frozen even after the banner is gone, and never follows the server counter again. This commit freezes that state only while something is still unread locally. This also fixes the flaky test "no unread message banner after message is deleted". https://runbot.odoo.com/odoo/error/242776 Forward-Port-Of: odoo/odoo#279601 Forward-Port-Of: odoo/odoo#279195
This fixes issues in the system that formats log records as structured data, so ignored fields and test-related information are handled correctly. It also adds tests to reduce the risk of similar logging issues returning in future updates.
Original PR description
The JsonFormatter has two bugs - the ignore list is not working as expected - in 18.0-18.4 the 'test' key is broken This commit add tests to ensure those behavior works as expected While on it, also…
The JsonFormatter has two bugs - the ignore list is not working as expected - in 18.0-18.4 the 'test' key is broken This commit add tests to ensure those behavior works as expected While on it, also adds a `additional_record_keys` parameter to allow to specifically add keys to the default list, without having to override the whole list, and add additional default keys (exc_info and test) The previous `ignored_record_keys` default value was possible to remove by calling `JSONFormatter(ignore_record_keys=[])` The purpose was to be able to easily include all keys and ignore the default ingnore list, but this makes the additional blacklisting of a few keys more tedious, and the general usage and implementation more complex `JSONFormatter(ignore_record_keys=[*JSONFormatter.DEFAULT_IGNORED_RECORD_KEYS, 'other key'])` To simplify the logic, **this is not the case anymore**, so to include all keys something like this would be needed `JSONFormatter(additional_record_keys=JSONFormatter.DEFAULT_IGNORED_RECORD_KEYS)` Or an hardcoded list. Forward-Port-Of: odoo/odoo#279344 Forward-Port-Of: odoo/odoo#279049
When users insert inline code while writing formatted text, the editor now keeps styles like bold, italic, or underline for the text typed afterward. This prevents accidental formatting loss and makes note-taking and content editing more consistent.
Original PR description
Problem: When creating inline code from formatted text, the formatting is not preserved for the text that follows the inline code. Solution: Preserve the active text formatting (e.g., bold, italic, underline) when inserting inline code, ensuring subsequent text on the same line retains the previously applied styles. Steps to reproduce: - Go to To-Do → Create New. - Type some text in bold. - Insert an inline code block. - Continue typing after the inline code. - Observe that the text after the inline code is no longer bold. opw-6395163 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#276943
UK tax total labels now use the familiar term “VAT” instead of “TAX” in default tax groups. The subtotal label is also updated to “Subtotal,” making UK financial documents clearer and better aligned with local business terminology.
Original PR description
Use "VAT" instead of "TAX" for the default UK tax groups. Also set "Subtotal" as their preceding subtotal label so that it replaces "Untaxed Amount". task-[6413495](https://www.odoo.com/odoo/project/967/tasks/6413495) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#278351
This change prevents errors when an email server has no authentication method configured. It ensures the related information is always set correctly, so users can view or read those records without unexpected failures.
Original PR description
backport: [19.0](https://github.com/odoo/odoo/pull/266411) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#279961
This fix makes the automated barcode workflow wait until a transfer is truly ready before validating it. It reduces random test failures, helping keep warehouse barcode processes more stable during updates.
Original PR description
Make sure the validate button has the 'primary-btn' class as it means that the transfer is valid before clicking on it. runbot-939917 Forward-Port-Of: odoo/enterprise#125221 Forward-Port-Of: odoo/enterprise#125005
Follow-up filters are now only shown to invoicing and accounting users who have access to the related follow-up status information. This prevents other users from encountering access errors when viewing or using customer follow-up options.
Original PR description
Description of the issue this commit addresses: Follow-up filters are visible to users without access to the restricted followup status field. Using these filters queries journal items and raises an access error. --- Desired behavior after this commit is merged: This commit limits the follow-up filters to invoicing and accounting users, matching the access groups of the followup status field. --- runbot-[161825](https://runbot.odoo.com/odoo/error/161825) Forward-Port-Of: odoo/enterprise#125674