Monday, July 7, 2025
20 changes · saas-18.4
Resolved issues and error corrections
When users create a link in the website editor and then choose Discard, the link editing popup now closes correctly. This prevents stale link details from remaining on screen after the actual page changes have been undone.
Original PR description
Steps to reproduce: - Open website builder - Select some text and "Add a link" with the toolbar - Fill the URL field - Select "Button Primary" - Click "Discard" - Bugs: The link popover does not closes The dom changes are discarded, but it still shows the same info task-4367641
Website users will now see link previews refresh immediately as they type a URL or choose an autocomplete suggestion. This makes creating links clearer and reduces mistakes before publishing or saving content.
Original PR description
### Steps to reproduce: - Install the Website module. - Go to a To-Do and type a slash command, e.g., /link. - Enter a label for the link. - Type in the URL input — observe the preview. - Select a suggestion from autocomplete dropdown — observe the preview. ### Description of the issue/feature this PR addresses: - The link preview did not update while typing in the URL input. - It also did not update after selecting an item from autocomplete dropdown. ### Desired behavior after PR is merged: - The link preview updates live while typing and upon selecting a suggestion. task-4910827 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix updates older image-related data used in the website editor so it matches the current naming format. It helps avoid inconsistencies when editing existing pages or content with images, with no expected impact outside edit mode.
Original PR description
When `html_builder` was introduced, some data attributes related to images have changed. Unfortunately, the attributes on static data were not adapted accordingly. Because of this, both namings might appear in this version. This commit migrates images and background images attributes so that, upon edition, a single naming scheme remains used. It should be safe enough given that those attributes are only used by edit mode. Dataset changes: - copy `originalId` to `attachmentId` - rename `originalMimetype` to `formatMimetype` task-4367641
The calendar side panel now stays the same width regardless of the content shown in it. This makes the Timesheet calendar filters and controls more stable and easier to use.
Original PR description
Before this commit, the width of the calendar side panel varied depending on the content. Steps to reproduce: - Go to Timesheet - Select the calendar view - Click on the "+" button and click on the filter button. task-4921562 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 update makes automated checks for the HTML editor more reliable by waiting properly for link preview popovers and splitting an overly long test. It helps reduce random test failures in the release pipeline, supporting smoother validation without changing user-facing behavior.
Original PR description
Forward-Port-Of: odoo/odoo#217434 Forward-Port-Of: odoo/odoo#215168
This fix prevents long website builder dropdown menus from extending beyond the visible screen. Users can now access all available options without parts of the menu being cut off, improving usability when editing website forms or other elements with many choices.
Original PR description
The goal of this commit is to prevent the BuilderSelect from having part of its dropdown outside the screen. This makes some of the elements in the dropdown inaccessible.
This problem is linked to a popover limit that should be set in the future.
Solution:
We will set a limit of 50% of the screen for the height in BuilderSelect
To reproduce:
- Have a BuilderSelect containing many items For example, Type when a Field is selected in a Form.
- Click on the BuilderSelect
Before this commit:
Part of the dropdown is outside the screen and therefore few elements
are impossible to select.
After this commit:
The size of the dropdown is limited to prevent it from being outside the screen.
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-prFont selections such as Open Sans now work reliably in the website theme editor. This ensures the chosen typography is displayed as expected, helping websites maintain their intended branding and appearance.
Original PR description
Since `html_builder` was merged, font family selection is not implicitly quoted anymore. This is a problem for font families having names that contain spaces. This commit puts font family names between quotes before calling `customizeWebsiteVariable`. Steps to reproduce: - Go to the Theme tab - Pick "Open Sans" as font family - Inspect page => The used font was not "Open Sans". task-4367641
A small typo in the Belgian tax configuration was corrected from “.00” to “0.0”. This helps ensure the Belgium localization data is formatted consistently and avoids potential issues when setting up or using Belgian tax records.
Original PR description
Forward-Port-Of: odoo/odoo#216453 Forward-Port-Of: odoo/odoo#216098
This update improves Odoo's internal Hoot testing framework with fixes for search, error handling, event behavior, and debugging usability. It helps developers run and troubleshoot automated tests more reliably while keeping changes limited to the test environment, reducing risk for business users.
Original PR description
## Pull Request HOOT (PRHOOT) 34 This pull requests brings various improvements and fixes to Hoot and the Odoo unit test ecosystem. See the different commit messages for more details. Note: these changes are made in stable to avoid having to support multiple versions of the HOOT API. As such, these changes are intended to be strictly limited to unit tests as to not put the rest of the code base at risk. Enterprise: https://github.com/odoo/enterprise/pull/88949 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#217463 Forward-Port-Of: odoo/odoo#216546
This fix ensures that changes made to cached web responses do not accidentally alter the saved cache content. It helps keep application data more reliable and prevents hard-to-track display or behavior issues caused by reused cached information.
Original PR description
Before this commit, modifying the response directly (whether from the RAM cache or the IndexedDB cache) would also modify the RAM cache content. Now, rather than storing a reference, the RAM cache stores a copy of the IndexedDB value. Also, when the RAM cache is returned, a copy of the stored value is returned.
This change gives the web desktop test suite more time to complete as the number of automated tests has grown. It reduces the chance of false failures caused by busy machines rather than actual product issues, helping keep development checks stable.
Original PR description
The number of tests in the hoot suite keeps increasing, and we're close to the timeout for the desktop suite. Depending on the CPU load, it happens that the suite timeout. This commit thus shifts it up to 40 minutes. 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 change makes an automated website popup test more reliable by waiting longer for the popup to appear before checking its close behavior. It helps reduce intermittent test failures in validation systems without changing the customer-facing website experience.
Original PR description
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 fix prevents key parts of a website table of contents block from being dragged into unrelated page areas. Editors can still reorder those parts using the existing arrow controls, reducing accidental layout issues while building pages.
Original PR description
When the table of content options were converted to `html_builder`, the drag'n'drop of the content part and the navbar part was not restricted to remain within the table of content section. Because of this it was possible to e.g. drop the navbar inside the grid layout of another block. This commit prevents this. task-4367641
This fix restores previously removed user setting methods related to muting in Mail to comply with Odoo's stable version policy. It helps preserve expected behavior and compatibility for existing users and customizations.
Original PR description
This commit reintroduces the methods removed in https://github.com/odoo/odoo/pull/215866 in order to follow stable policy.
This fix makes automated point-of-sale tests for the Brazilian electronic invoicing module more reliable by waiting for product searches to fully finish before continuing. It reduces false test failures in build checks, helping teams validate changes with fewer interruptions.
Original PR description
The tours regularly fail in single app builds because the "No other products found" notification is not found. Waiting on that notification is necessary because the product search happens asynchronously. I was not able to reproduce the test failure locally. But in an attempt to improve the situation this changes the approach to use the little "loading" spinner to wait on the search to finish by using Chrome.isSynced(). This method is used elsewhere in POS tests and should hopefully be less flaky. builx_error-224202 Forward-Port-Of: odoo/enterprise#88300
This fix ensures several Odoo Enterprise apps correctly identify where real-time updates should be sent. It helps prevent missed or misrouted notifications in areas such as approvals, knowledge, VoIP, helpdesk live chat, WhatsApp, and Mexican e-invoicing tests.
Original PR description
\* = approvals, knowledge, l10n_mx_edi, voip, website_helpdesk_livechat, whatsapp Enterprise counter-part. https://github.com/odoo/odoo/pull/215869
Users can now open Studio from the Documents list even when a document shortcut is selected. This prevents an error that interrupted customization work in Documents and keeps the workflow usable.
Original PR description
Steps: - Install `documents` and `studio` - Open documents, go to list view - Select a random file and 'Create a shortcut' via the actions - Try to open studio - traceback opw-4900667 Forward-Port-Of: odoo/enterprise#89508
This fix ensures that when users open a task from the Field Service calendar, the intended form layout is used. It keeps the Field Service calendar aligned with a related platform change, preventing confusing or incorrect task editing screens.
Original PR description
This commit is the counter part of odoo/odoo#216631 which removes a parameter to the editRecord function. Task-4910395
Fixes an issue where processing overdue invoice follow-ups could fail when SMS follow-up settings were enabled. The follow-up process now avoids using outdated customer mobile field data, helping staff complete payment reminders without interruption.
Original PR description
When clicking the `Process Follow-ups` button after creating a due invoice, a traceback could occur due to missing data on the related records. Steps to reproduce: --- - Install `account_followup`…
When clicking the `Process Follow-ups` button after creating a due invoice, a traceback could occur due to missing data on the related records.
Steps to reproduce:
---
- Install `account_followup` module(without demo)
- Go to `Follow-up Levels` and enable SMS in `15 Days`
- Create an invoice with Invoice Date(2 months ago) and Payment terms: `15 Days`
- Now, click on the selected customer and fill in all important details
- In the action button, click `Process Follow-ups`
Traceback:
---
```
KeyError: 'mobile'
ValueError: KeyError('mobile') while evaluating
'if records:\n action = records.action_manually_process_automatic_followups()'
```
The mobile field was removed from `res.partner` (see related commit), but it was not removed from here. This commit cleans it up to avoid referencing a non-existent field.
commit- https://github.com/odoo/odoo/commit/6b820eb6fc6f782ba6a83d605d87b4a1dd2a87be
sentry-6720070075
Forward-Port-Of: odoo/enterprise#89241Odoo Studio now uses the platform’s built-in field capabilities to decide whether fields can be grouped, sorted, or aggregated, instead of relying on less reliable guesses. This helps users see more accurate options when configuring views such as lists, kanban, pivot, graph, gantt, and search.
Original PR description
Before this commit we used some heuristics in studio to determine whther some field had some ability (groupable, sortable, aggregator) After this commit, we use the not so new tools given by https://github.com/odoo/odoo/commit/b177b058be1531c3d2af2b591c22591c19240d33 Note that we still rely on the field type, because even if possible, groupong by some fields doesn't make much sense (eg.: float) task-4879382 Forward-Port-Of: odoo/enterprise#89342 Forward-Port-Of: odoo/enterprise#88522