Tuesday, October 21, 2025
11 changes · saas-18.2
Resolved issues and error corrections
This fix makes debug-mode settings on event and event type forms easier to read by adding more space between related labels and fields. It helps administrators more clearly identify options for showing menu buttons on event website pages.
Original PR description
The PR fixes the display of the fields displayed when the debug mode is activated and used to show buttons in the menu of event website pages. Previously, it was difficult to determine what were the labels of the fields. To make it clearer, the spaces between the label-field couples have been increased. Task-4750239 Forward-Port-Of: odoo/odoo#214135
Meeting activity feedback is no longer added to the calendar event description. This prevents internal notes from being shared through external calendar syncs or triggering unnecessary meeting update notifications, while keeping the feedback available in the internal chatter.
Original PR description
When marking a calendar.event activity as done, one can submit a feedback. Currently, that feedback is logged in the chatter, and is also appended at the end of the meeting's description. As this field is synchronized with external calendars, this may lead to notification / meeting updates. However, this should serve an internal purpose instead, and should not be shared to attendees in that way. Therefore, simply remove this behavior. The feedback will still be found in the note in the chatter. Task-5143141 Forward-Port-Of: odoo/odoo#231670
Customers receiving Gelato shipping notifications now get a working tracking link for single-parcel shipments. This prevents failed links in delivery emails and helps customers follow their orders without contacting support.
Original PR description
After receiving the shipping webhook from Gelato, we send a shipping notification with the tracking information to the customer. This commit fix the tracking url for single parcel, which was pointing to an inexistant url. opw-4637331 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#232071
This update fixes several issues in Odoo's internal Hoot testing tools and web test framework, including clearer error handling, better failed-test debugging links, improved logs, and small interface improvements. It is intended to make automated testing more reliable and easier to diagnose without affecting normal business workflows.
Original PR description
## Pull Request HOOT 38 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. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#231263
When staff create a new customer from Point of Sale, the customer form now suggests the configured default price list instead of simply choosing the first available one. This helps avoid pricing mistakes at checkout and restores the expected behavior from earlier versions.
Original PR description
**Problem:** When creating a new partner from PoS, the suggested pricelist is not the default pricelist we defined in the configuration. It worked before 18.0, but now the suggested pricelist is the first one that we defined in the configuration, not the one we set as default. **Steps to reproduce:** - In the configuration, enable flexible pricelists and fill some available pricelists. - Set a default pricelist that is not the first one you defined in the available section. - Open a session, click on the customer and click on create. - Go to the Sales and Purchase tab. - The pricelist is not the default one. **Why the fix:** If we are in PoS, we now put the default pricelist as a default for the new partner. We only do that if it is available, otherwise we fall back to the default flow. This is how it worked before 18.0. opw-4876573 Forward-Port-Of: odoo/odoo#217913
Mandatory matrix questions in surveys now work correctly even when their description includes a table. This prevents survey respondents from encountering an error and helps ensure required questions can be completed reliably.
Original PR description
A conflict occurs if a matrix question is set to "Mandatory answer" (questionRequired = True) and a table is also added to its description. The issue is that when the system evaluates a required matrix, it gets the subQuestionsIds by looking for the first table within the question's wrapper. If a table exists in the description, the system incorrectly tries to retrieve the IDs from that table. This action throws a traceback because the descriptive table does not contain any sub-question data. This commit fixes the issue by being more specific when looking for the table containing the subQuestionsIds. It adds a specific class to this table and uses it in the selector. An attribute selector, like 'table[data-sub-questions]', could also have been used as an alternative. opw-4931881 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#229909
Editing longer messages in Mail no longer makes the composer box appear larger than needed. This improves the message editing experience by keeping the input area correctly sized and visually consistent.
Original PR description
Before this commit, when editing a message longer than ~30 characters, the composer would be bigger than necessary. This happens because the height of the composer is assigned in a `useEffect` which gets executed before the `useEffect` that sets the message in "edit" mode. This results in the width of the textarea to be the size of the message, rather than the full width of the thread, and thus to have a bigger `scrollHeight`: <img width="454" height="136" alt="Pasted image 20251017143022" src="https://github.com/user-attachments/assets/a14ba961-d986-4862-b513-b11768564c8c" /> _(At this point the composer height is set)_ This commit fixes the issue by replacing `useEffect` with a getter to ensure the height calculation happens when the DOM is in the correct state. task-4661400
A web interface test was updated to handle a small browser measurement change introduced in Chrome 140. This avoids false test failures without changing how users experience the resizable panel.
Original PR description
In Chrome 140, a fix [^0] has been applied regarding the `offsetParent` property with a fixed position element. Due to this fix, a resizable panel's test failed by 1px. As this difference doesn't have a real functional impact, we adapted the test to accept both the pre/post fix values. Note: that it is also related to a clarification [^1] in the CSS spec [^2]. [^0]: https://chromium-review.googlesource.com/c/chromium/src/+/6774502 [^1]: https://github.com/w3c/csswg-drafts/issues/12352 [^2]: https://drafts.csswg.org/cssom-view/#dom-htmlelement-offsetparent Forward-Port-Of: odoo/odoo#232458
This fix improves how product image fetch jobs are scheduled by replacing a fragile duplicate-check mechanism with a safer cleanup before scheduling. It reduces unnecessary processing overhead and helps ensure image fetch timing works as intended, especially when multiple records are handled at once.
Original PR description
Remove `_check_image_cron_is_not_already_triggered` because: - It doesn't work in batch mode due to `self.cron_id.id`. - It increases the cost of creating a cron trigger because the reference lookup (`ref`) makes at least one extra query. (We want to keep cron trigger creation efficient since it is used everywhere.) - Because of this constraint, there is an extra commit in `_trigger_fetch_images_cron` that is inefficient and error-prone, serving no purpose. Keep the intended effect of the constraint by removing the existing cron trigger before the new one is created, ensuring the time offset is respected.
This fixes an issue where users could not turn debug mode on or off from the command palette while using the Documents app. The app now uses the latest navigation state when building links, so the debug setting updates correctly without requiring manual URL changes.
Original PR description
Issue: In the documents app toggling debug mode through the command palette (ctrl-k) does not work. Manually editing the URL works as expected. Cause: A patch on `router.stateToUrl` for the documents app rebuilds the URL to create clean, shareable links. When doing so, it attempted to preserve the debug status by referencing the global `odoo.debug`. This global object did not reflect client-side state changes. The command palette correctly provides the intended future state to the router. The patch was ignoring this incoming state and using the outdated global value, causing the generated URL to be incorrect. Solution: Modify the patch to use the `state` argument provided to `stateToUrl`, which contains the correct, up-to-date information for the navigation. Task-5095056 Forward-Port-Of: odoo/enterprise#96275
This fixes an internal payroll test that failed because newer Chrome versions changed how certain text styling details are reported. The change keeps payroll test checks reliable without affecting payroll features or the user experience.
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 Note: this commit is a backport of odoo/enterprise@eddbdb2d9593b331c5ef641b7747ec61c736d84d