Saturday, September 13, 2025
43 changes · 19.0
Enhancements to existing features
This update adjusts internal performance expectations for the Knowledge app after a change in how HTML content is handled during creation. It helps keep automated performance tests accurate and prevents false alarms without changing user-facing behavior.
Original PR description
Adapting query count, due to not putting html fields in cache upon creation. task-4962646 Forward-Port-Of: odoo/enterprise#93741 Forward-Port-Of: odoo/enterprise#93171
The manufacturing demo data for tables now reflects the updated shop floor workflow, where each production step has its own worksheet. This gives users clearer, step-specific guidance in demos and removes an unused worksheet file.
Original PR description
Purpose: -------- With the new shopfloor design, worksheets are no longer defined at the operation level. Each step now has its own worksheet at the Quality Point level. The demo data of [FURN_9666] Table and [FURN_8522] Table Top has been updated accordingly to align with this design and provide users with a consistent experience. Before this commit: ------------------- The worksheet was attached at the operation level as a single PDF, with pages reused across different steps. After this commit: ------------------ - Worksheets are now defined at the Quality Point level. Each step has its own dedicated worksheet, split from the original PDF and applied to the corresponding Quality Check. - The unused file `drill-worksheet.pdf` has also been removed. Relevant PR: https://github.com/odoo/odoo/pull/200345 Task: 5068250
Demo data for the Table and Table Top products now matches the new shopfloor workflow. Instead of one worksheet reused across an operation, each quality step has its own dedicated worksheet, making demonstrations clearer and more consistent for users.
Original PR description
_* = quality_mrp_workorder, quality_mrp_workorder_worksheet Purpose: -------- With the new shopfloor design, worksheets are no longer defined at the operation level. Each step now has its own worksheet at the Quality Point level. The demo data of [FURN_9666] Table and [FURN_8522] Table Top has been updated accordingly to align with this design and provide users with a consistent experience. Before this commit: ------------------- The worksheet was attached at the operation level as a single PDF, with pages reused across different steps. After this commit: ------------------ Worksheets are now defined at the Quality Point level. Each step has its own dedicated worksheet, split from the original PDF and applied to the corresponding Quality Check. Relevant PR: https://github.com/odoo/odoo/pull/200345 Task: 5068250
The Discuss message composer now has subtler button colors, cleaner focus outlines, and better spacing in mobile action menus. These visual refinements make chat and discussion interactions feel clearer and less distracting across light and dark themes.
Original PR description
1. Send button in discuss app and chat window has lighter primary color so this looks best in white and dark theme in addition to green outline on input focus 2. Send button has darker outline, so…
1. Send button in discuss app and chat window has lighter primary color so this looks best in white and dark theme in addition to green outline on input focus 2. Send button has darker outline, so the button feels slightly smaller so it has more visual spacing with input 3. input focus outline has its effect reduced (100% to 65%), so this is less distracting especially in dark theme 4. Composer buttons in mobile are rounded and no oval-shaped. 5. Discuss actions in bottom sheet have better (more) spacing in-between icon and label Before / After <img width="456" height="799" alt="Screenshot 2025-09-12 at 14 44 19" src="https://github.com/user-attachments/assets/5db8971a-bf1b-4269-b4dd-19a0632d3a7b" /> <img width="454" height="798" alt="Screenshot 2025-09-12 at 18 05 19" src="https://github.com/user-attachments/assets/2965e6ab-57dd-4861-86e1-3a6ccb6cccc7" /> Before / After <img width="445" height="800" alt="Screenshot 2025-09-12 at 14 44 30" src="https://github.com/user-attachments/assets/9e8d9b7e-2fa7-4d4f-b5b2-9a57bedbbe56" /> <img width="444" height="797" alt="Screenshot 2025-09-12 at 14 45 20" src="https://github.com/user-attachments/assets/1ee8a33e-8fe4-4184-add6-9788582d925f" />
The messaging menu now shows the same live chat status indicator that users already see in other chat areas. This makes agent or chat availability easier to spot at a glance and keeps the experience consistent across Odoo messaging.
Original PR description
Live chat status icon is visible in discuss sidebar, in chat window header, in chat bubble... It's missing in messaging menu, which this commit fixes. Before <img width="479" height="612" alt="Screenshot 2025-09-11 at 17 33 23" src="https://github.com/user-attachments/assets/100c19e9-fb37-4def-822e-ed8886e87a83" /> After <img width="481" height="612" alt="Screenshot 2025-09-11 at 17 32 45" src="https://github.com/user-attachments/assets/57947070-e31d-4629-8114-7ae6e3d6ce97" />
Resolved issues and error corrections
This update makes the AI assistant more reliable when gathering information from discussion messages. It prevents errors in cases where related conversation details are unavailable, helping users avoid interruptions.
Original PR description
This commit adds optional chaining to access thread properties in the getRecordInfo function.
Miscellaneous changes
Errors found during the web test runner's preliminary checks are now reported clearly as real errors. This helps Odoo's automated testing infrastructure catch critical setup issues sooner, reducing the risk of broken test runs going unnoticed.
Original PR description
The test runner replaces most occurences of `console.log` with a formatted `console.trace`, as to avoid duplicate runbot error messages in general. The issue is that during the dry run, errors that are caught should be logged on the runbot since these errors are more critical (i.e. duplicate test name, which will prevent the runner to run at all). This commit ensures that errors caught during dry run are logged as actual errors to prevent this issue. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#225688
Survey datetime answers are now shown using the current user's time zone, so the answer list and detailed form display the same time. This prevents confusion when reviewing submitted survey responses across different locations.
Original PR description
Steps to reproduce ==================== 1. Create survey with some datetime questions. 2. Receive some response on it. 3. Check answer of datetime questions in answer tab. 4. Click on that answer to open form. ->The time shown in answer tab differs from actual value in form. The display_name of survey.user_input.line is computed based on the answers submitted by users. For questions of type datetime, the display_name was generated by converting the datetime value to a string without accounting for the user's timezone, leading to a mismatch between the actual value and the displayed time. After this commit ================== This commit updates the computation of display_name for datetime answers to consider the current user's timezone. Task-4890423 Forward-Port-Of: odoo/odoo#226354 Forward-Port-Of: odoo/odoo#216281
Website generation now handles temporary concurrency conflicts so the operation can be retried instead of failing outright. This improves reliability when multiple actions happen at the same time, reducing unexpected interruptions for users creating or updating websites.
Original PR description
When a concurrency error occurs, we need to let it retry. To do this, we must catch the Serialization Failure and raise it. Forward-Port-Of: odoo/enterprise#93851
The web test runner now keeps excluded tests when simplifying test URLs. This prevents test selections from accidentally changing, helping developers run the exact intended checks more reliably.
Original PR description
Before this commit, when the test runner simplified the URL (e.g. if the runner is given the ID of every test in a suite, it will remove them and only include the suite ID), it always considered IDs as being "included", and ignored the "-" specifying that some IDs should be "excluded". --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#225950
This fixes an issue where reloading a grouped Kanban view after folding a group could show an error. The view now refreshes its saved grouping state from the latest server response, helping users return to their work without interruption.
Original PR description
- Open a grouped kanban; - Fold a group; - Reload the page; Before this commit, an error occurred because the configuration says that the group is unfolded, but the returning RPC didn't have any records. This commit clears the current configuration, which will then be reloaded based on the returning RPC. Forward-Port-Of: odoo/odoo#226312
The stock picking screen now shows the correct "Add a Product" button text on phone-sized views. This avoids confusion for warehouse users who previously saw the less clear "Add Stock Moves" label.
Original PR description
Have the "Add a Product" button correctly display that instead of "Add Stock Moves" while in phone view on a picking. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Website editor snippet previews now show the Parallax label only when the snippet actually uses a parallax background. This prevents misleading labels in theme snippets and restores the label for custom snippets where parallax is enabled.
Original PR description
Steps to reproduce the issues: **Issue 1** - Enter "Website" edit mode. - Drag and drop a "Cover" snippet into the page. - Save the snippet as a custom snippet. - Click the "Custom" category. - Bug:…
Steps to reproduce the issues: **Issue 1** - Enter "Website" edit mode. - Drag and drop a "Cover" snippet into the page. - Save the snippet as a custom snippet. - Click the "Custom" category. - Bug: the "Parallax" label is not displayed on the snippet preview. **Issue 2** - Install the "Artists" theme. - Enter "Website" edit mode. - Click the "Intro" category. - Bug: The "Parallax" label is displayed on the "Cover" snippet preview even though it doesn't have a parallax effect. Commit [1] added a label on snippet previews to indicate if they are Carousel, Popup, Gallery, Tab, or Parallax. This label is linked directly to the snippet's original template. However, this does not work well for "Parallax" because it's an option that can be enabled or disabled. So it doesn't make sense to keep the label when the option is not active. This commit fixes that by checking the snippet structure to see if it contains a parallax on its background. [1]: https://github.com/odoo/odoo/commit/63cd0c6497c3c2e8482dc62b4359eb2431a75926 task-4926420 Forward-Port-Of: odoo/odoo#225783 Forward-Port-Of: odoo/odoo#218863
The Employee Type field has been added back to the employee form after it recently disappeared. This helps HR users continue classifying employees correctly without losing access to an important personnel detail.
Original PR description
The Employee Type field disappeared lately, so had to put it back. task-5079734 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Send & Print wizard no longer shows an unnecessary tax warning when GST has already been applied through grouped taxes on invoice lines. This reduces confusion for users preparing Indian electronic invoices and helps keep the sending process smoother.
Original PR description
Before this PR: Even if a GST tax was applied on invoice lines, the tax warning was still displayed in the Send & Print wizard. Technical Reason: We were checking `l10n_in_tax_type` to decide whether to show the warning. But since group taxes don’t have a direct value assigned to `l10n_in_tax_type`. To fix this, we now also look at the child taxes’ tax_type when a group tax is used. After this PR: The system now also checks `l10n_in_tax_type` in child taxes. As a result, if GST tax is applied in invoice lines, the warning will no longer appear in the wizard.
Grouped list views with monetary totals no longer crash when all records in a mixed-currency group are deleted. The interface now resets empty group totals correctly, improving reliability for users working with financial lists.
Original PR description
Be in a grouped list view with a monetary field aggregate and a group with different currencies. Open that group, select all its records and delete them. Before this commit, it crashed. Since [1], we…
Be in a grouped list view with a monetary field aggregate and a group with different currencies. Open that group, select all its records and delete them. Before this commit, it crashed. Since [1], we use the new aggregator `array_agg_distinct` which returns the list of currencies of aggregated records. When a group disappears after a reload (which is the case in our flow as we deleted all its records), we keep it in the UI for UX reasons. However, as that group is no longer returned by web_read_group, we manually reset its aggregate values to 0. Before [1], that was correct as all aggregate values were numbers. Now, it can also be arrays (for currencies, with the `array_agg_distinct` operator). This commit properly handles that case. [1] https://github.com/odoo/odoo/pull/224667 closes #226566 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 updates a Mexican electronic stock delivery test so it no longer depends on optional demo data. It helps ensure automated checks run consistently across databases, reducing false build failures.
Original PR description
In the [PR 91185](https://github.com/odoo/enterprise/pull/91185), the test was changed to comply with the new changes. In that test, a new vehicle was created using a model from the demo data. Since the demo data is not present in all databases, this caused a problem when the ID could not be found. To fix this, we now create a new model using a brand that exists in the data file and will therefore be present in all databases. See: https://runbot.odoo.com/odoo/runbot.build.error/231693?menu_id=405 I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Fixed a display issue on product pages where carousel thumbnails could disappear when the image area was set to full width and thumbnails were placed on the left. This improves the shopping experience by keeping product image navigation visible in that layout.
Original PR description
Before this commit, in a product page, when a user selected 100% as the image area size, sets the carousel display option for thumbnails, and positioned them on the left, they were not visible. This commit updates the CSS rules to ensure thumbnails on the left are properly displayed when the image area is set to 100%. task-5077519 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The partner list now consistently uses the standard card-style view when opened in kanban mode. This prevents mobile workflows, such as Field Service, from accidentally showing a specialized equity-related view instead, reducing confusion for users.
Original PR description
This commit sets the priority of the res.partner kanban view to 1, ensuring it is used as the default when opening a kanban on partners. Without this fix, certain contexts (e.g., opening a res.partner many2one field from mobile apps like Field Service) could incorrectly default to the equity-specific kanban view instead of the standard one. task-5077712
This fix makes the rental duration test wait for the shopping cart to finish updating before checking totals. It helps prevent false build failures and improves confidence that rental pricing changes are validated correctly.
Original PR description
steps to reprduce: 1. duplicate multi enterprise 18.0 database 2. run the tour `website_sale_change_rental_duration` in the duplicated database inspired from: https://github.com/odoo/enterprise/commit/c7542e897c537650966497065db9c7d033dcb8ee added a delay to wait when choosing the rental duration, after page is loaded when go to cart , check if the next page is loaded before checking untaxed amount build_error-227718 Forward-Port-Of: odoo/enterprise#93659 Forward-Port-Of: odoo/enterprise#89274
Users returning from an external chart link now land back on the dashboard they were viewing, instead of being reset to the first dashboard. This preserves context when navigating between dashboards and linked pages, reducing confusion and extra clicks.
Original PR description
Steps to reproduce: - go to dashboards - select a dashboard with external links on scorecard charts for instance (do not select the first dashboard) - click on the chart w/ the external link to be redirected - Go back to the previous page through the browser The selected dashboard is now the first dashboard instead of the one you came from. the behaviour was broken since the introduction of the path-based routing in #157867 as we did not specify a path for the dashboard action but still worked because the action params were sent in the context but this was corrected in #216067 task-5067826 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 Forward-Port-Of: odoo/odoo#225870
This update prevents accounting test failures when the journal selection field is hidden because only one journal is available. It keeps automated invoice setup reliable after a recent interface change, with no expected impact on day-to-day users.
Original PR description
- Before [#222209](https://github.com/odoo/odoo/pull/222209), the `journal_id` field was always visible, so `init_invoice` could reliably set the `journal_id` value in tests. Now that the field is only shown when two or more journals exist, this PR updates `init_invoice` to handle cases where `journal_id` may be invisible, preventing test failures. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Stripe payment fields at checkout now use the language selected on the website instead of defaulting to the shopper's browser language. This keeps the payment experience consistent for multilingual stores and avoids confusing mixed-language checkout screens.
Original PR description
Versions -------- - 17.0+ Steps ----- 1. Enable Stripe; 2. enable a second language on the website; 3. use second language on website; 3. go to checkout; 4. open card payment method. Issue ----- The card field values are displayed using the current browser's locale instead of the website's language. Cause ----- The `locale` parameter isn't included when connecting to the Stripe API. Solution -------- Include the lang from the `html` element via `_prepareStripeOptions`. If not present, let it fall back on the browser's locale. opw-5024805 Forward-Port-Of: odoo/odoo#226045
When users open a project task created from a sales order, the expected task-related actions now appear in the top bar. This helps sales and project teams access the right task options without extra navigation or confusion.
Original PR description
**Steps to reproduce:** - Install `sale_project` - Create a service-type product - Create and confirm a Sales Order - Open the generated task - Check the top bar actions **Issue:** The related task embedded actions do not appear when opening a task from a Sales Order. **Cause:** The active_id context was not passed when calling `_for_xml_id()`, and a different action (`action_view_task`) was used instead. **Fix:** Pass the project in the context as active_id and use the correct action `act_project_project_2_project_task_all` instead of `action_view_task`. task-4946932
This fix ensures payment form tooltips reuse an existing tooltip when one was already created. It helps prevent inconsistent tooltip behavior during checkout or payment interactions, improving clarity for users without changing the payment flow.
The barcode inventory tests were updated to match a related platform change in how full packages are added from the user interface. This helps keep automated checks reliable and reduces the risk of regressions in barcode-driven warehouse operations.
Original PR description
Following the change in the community counterpart in [#226043](https://github.com/odoo/odoo/pull/226043), `action_add_entire_packs` now uses ids instead of recordsets (as it's meant to be called directly through JS code). Adapt tests to reflect this change. Task-5065793
Users now see a more explicit notification when starting an AI voice recording fails because of a backend setup problem, such as a missing API key. This helps users understand what went wrong and reduces confusion during recording setup.
Original PR description
This PR adds a more explicit toast message for the recording when an error occurs on the backend (i.e. UserError). This applies to cases such as not having the API key set and trying to start the recording
Payslip simulations no longer force the start date from the employee contract. This avoids errors when salary rules do not have parameters for older contract dates and lets the system use the normal current-month defaults.
Original PR description
Issue: by specifying the payslip date_from to the contract date start when simulating a payslip, there was a risk that some salary rule had no parameter for that date. Solution: not specify the date and let the payslip compute the default dates, which will default to this month.
Employee profile avatars now keep a consistent fixed size in HR views. This restores a previous correction that was accidentally undone, improving the visual consistency of employee records.
Original PR description
The changes made in this PR: https://github.com/odoo/odoo/pull/215597 were wrongly reverted in this PR: https://github.com/odoo/odoo/pull/218194 This PR re-introduces the changes (the employee avatar image has a fixed size). 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 fixes failing automated tests in the online store area. It helps keep quality checks reliable so future changes to eCommerce functionality can be validated with confidence.
Original PR description
runbot-error-227575 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#226624
This fix ensures automated check templates correctly set the intended action when checks are generated. It prevents missing actions caused by an unnecessary condition, helping accounting workflows behave as expected.
Original PR description
Currently the check template will not set the action for an automated checks. This is due to a condition that test if there is already the key in the dict which is useless here.
This fixes an issue where state or government checks within an audit could not be disabled as intended. Businesses can now better control which audit checks apply, reducing unnecessary steps when those checks are not required.
Original PR description
State/Governement checks inside an Audit couldn't be disabled.
This fixes an error that could stop the AI live chat snippet from working when no regular live chat channel exists, such as on a fresh database or after channels are deleted. The change makes the website chat experience more reliable in setup and edge cases without changing user-facing features.
Original PR description
Steps to reproduce: - Go to the livechat app. - Delete all the livechat channels. - Open the website app. - Click on edit -> Contacts & Forms and add the ai_livechat snippet. - Set the 'AI Agent' on the snippet and save. - Start chatting with the ai agent using the snippet. - An error occurs. This error will happen in any case such that the livechat isn't available. For example: - Deleting all the livechat channels. - Installing a fresh db without demo data. This will result in the element '.o-livechat-root' not appearing on the website. This causes the ai_livechat component to have an error when trying to hide that element. This commit fixes the issue by adding optional chaining before accessing the class list of the element '.o-livechat-root'.
This fix prevents notification items in the messaging menu from jumping or changing height when users hover over them. The unread or important badge and mark-as-read action remain available, while the item text stays visually stable for a smoother experience.
Original PR description
Follow-up of https://github.com/odoo/odoo/pull/225145 PR above made a few visual changes, one of which was to show mark as read button in messaging menu item in addition to keeping the badge unread /…
Follow-up of https://github.com/odoo/odoo/pull/225145 PR above made a few visual changes, one of which was to show mark as read button in messaging menu item in addition to keeping the badge unread / important on hover. This is motivated by the fact that item is considered important thanks to this badge, and when hovering it it gives a wrong impression the item is no longer important when this is just on hover. Solution of PR above was to keep display of badge even when mouse-hovering, so mouse hover shows both the badge and the mark as read button. However, if the notification item text takes almost a full single line, mouse-hovering made the item grow bigger due to being on 2 lines forced by mark as read button on hover. This flicker is not great UX. This commit fixes the issue by keeping badge and mark as read button visible on hover, but the mark as read button now overlaps the notification item text rather than collide. As a result, the text part of notification item doesn't change its visual of lines and word break per line just on mouse hovering. Before / After  
The product comparison feature now stores selected products in cookies again instead of browser session storage. This prevents inconsistencies when shoppers use multiple tabs, making comparison behavior more reliable.
Original PR description
This PR rollback to the use of `cookies` instead of `sessionStorage` for the products comparison features. With Commit[^1], we introduced a fresh new look for the comparison feature, and this redesign included switching from `cookies` to `sessionStorage`. Unfortunately, this approach presents downside (e.g when using multiple tabs). To avoid any issue, we switch back to the use of `cookies`. task-5086187 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr [^1]: https://github.com/odoo/odoo/commit/524c968eb647a65119a935ed820602b57820a418
A failing automated test for journal reports has been corrected so it no longer depends on payment reference behavior that can vary by country localization. This helps keep builds reliable when Czech accounting localization is installed, reducing false test failures without changing user-facing features.
Original PR description
test_document_data_basic was failing in builds with l10n_cz installed because - we set move_sales_2.payment_reference = '' in setUpClass and without l10n_cz it stays empty - but with l10n_cz installed it gets recomputed because of precompute=True on taxable_supply_date (which a stored computed field that triggers an extra write on account.move when the company is in CZ, and that write causes the compute graph to run again, and _compute_payment_reference fills the value back in) this commit solves this issue by not making assumptions about the payment_reference value and would use it as is in the generated data validation build_error-231479 Forward-Port-Of: odoo/enterprise#94554
Product page links now remove product option values that do not apply to the selected product. This keeps customer-facing URLs clearer and avoids confusing shoppers or search engines with irrelevant parameters.
Original PR description
--- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The rental search form no longer starts a search automatically when shoppers adjust rental dates. This prevents unexpected page updates and gives customers clearer control, while also making the search button more visually prominent.
Original PR description
Steps to reproduce: 1. Navigate to the rental search snippet on the website. 2. Modify the date range using the date picker. 3. Observe that the search is triggered automatically, which is not the desired behavior. After this commit: - Updated the search button style to use the primary color. - Made the search trigger only when the button is clicked, preventing automatic activation when the date range is modified.
The website editor now uses the proper internal source for a timing helper used by Google Maps options. This prevents an inappropriate testing dependency from being pulled into the website feature, reducing the risk of editor issues without changing user-facing behavior.
Original PR description
The commit 47e971086ea57219a628a99d35e36354c71a4192 uses `Deferred` in the implementation of the google maps options plugin. But imported it from hoot. This commit fixes the import to use `concurrency.js` instead. task-4367641 Forward-Port-Of: odoo/odoo#226811
This fixes a display issue in the website product comparison feature where the expanded comparison panel could appear hidden behind the floating bar on mobile devices. Shoppers can now view and use the comparison bar properly when it is opened.
Original PR description
This PR increase the `z-index` property of the `collapse` element within the comparison bottom bar when open. | 19.0 and above | This PR | |--------|--------| | <img width="466" height="852" alt="image" src="https://github.com/user-attachments/assets/04cad4c6-b40f-402f-b667-5f3393f5a082" /> | <img width="489" height="844" alt="image" src="https://github.com/user-attachments/assets/39a289ca-26c4-47c4-a15a-121d5387acb6" /> | Prior to this PR, we set the `z-index` to `3`, which is below the `4` of the floating bar. While this solved an issue on desktop, it introduced a new one on mobile, where the collapse would unfold UNDER the floating bar. With this PR, we change the `z-index` when the collapse is open so it is greater than the floating bar one. task-5086473 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an issue where quote calculator spreadsheet filters could be changed before older data was updated to the current format. Sales teams get more reliable quote calculations and filtering when opening or using existing spreadsheets.
Original PR description
Commit odoo/odoo@dddcd8919f02e458219443afbc560ca2fbad6d1e changed the way global filter values are represented in the json data. Any data in a prior version undergo a "client-side upgrade". However the quote calculator action was changing the data before it was upgrade with the new representation.
Related: https://github.com/odoo/enterprise/pull/94469 Related: https://github.com/odoo/design-themes/pull/1145
Original PR description
Related: https://github.com/odoo/enterprise/pull/94469 Related: https://github.com/odoo/design-themes/pull/1145
Related: https://github.com/odoo/odoo/pull/226599 Related: https://github.com/odoo/design-themes/pull/1145
Original PR description
Related: https://github.com/odoo/odoo/pull/226599 Related: https://github.com/odoo/design-themes/pull/1145