Friday, June 27, 2025
3 changes · saas-18.3
Enhancements to existing features
Bank reconciliation now loads matching journal entries much faster by narrowing the search before running the heavier lookup. This reduces waiting time for accountants when opening reconciliation matches, especially on large datasets.
Original PR description
Description ----------- During bank statement reconciliation, finding matching journal entries generates a complex and resource-intensive query due to elaborate domain. This commit optimizes query…
Description ----------- During bank statement reconciliation, finding matching journal entries generates a complex and resource-intensive query due to elaborate domain. This commit optimizes query performance by introducing a new `search_account_id` field that pre-filters the condition on `account_id` criteria. This allows the domain leaf to be resolved early and the resulting IDs to be re-injected into the main query. The optimization enables Postgres to leverage `pg_stats` directly for more accurate cost estimates. It also eliminates the need to join `account.account` with large tables like `account.move.line` and `account.move`. Overall performance improves significantly, given that `account.account` is a relatively small table, making it efficient to reuse the filtered IDs in the main query without impacting performance negatively. Benchmark --------- Clicking on "Reconcile" to open the wizard with the list view of matching Journal Entries (150k matches) from the new reconciliation view, on odoo.com takes (hot timings): | Before | After | Speed-up | |--------|-------|----------| | 14.7s | 5.75s | ~2.5x | Reference --------- task-4863071
Resolved issues and error corrections
Fixed an issue that prevented recipients from completing a document signature when SMS verification was enabled. The signing link now uses the correct access information, avoiding an error after entering the received SMS code.
Original PR description
To reproduce: ============= - Activate and set up the SMS authentication for the Sign app. - Send a document for signature request with sms validation for a contact. - Go sign the document via the signature request link, sign and validate. - validate the recieved code and you will get the error: 'Error message: Sorry, an error has occurred. Please complete the document again.' Problem: ======== when constructing the signature request link, we retrieve the `accessToken` from `props`, while `accessToken` is not defined in the `props` of the `Document` component. Solution: ========= `accessToken` is defined directly in the `Document` component we can retreive it from `this.accessToken` opw-4813339
Web Studio now blocks invalid custom view changes before they can be saved. This prevents users from accidentally making Studio unable to open a form after editing technical view settings.
Original PR description
This error occurs when a user modifies a Studio-generated custom form view by updating it through the technical settings and adds an invalid XPath expression. As a result, Web Studio fails to open and load the view. **Steps to replicate:** * Install `contacts` and `web_studio` * Open form view for any contact and Add/remove any field using studio. * Go to technical>User Interface>Views> `Odoo Studio:res.partner.form customization` * Add the following line:<xpath expr='/form[1]/field[6]'/> inside data and save. * Go to contact form view and open studio. `ValueError:The element <xpath expr='/form[1]/field[6]'/> cannot be located in the main view` **Solution** * Prevent users from saving changes to a view by raising a validation error when an invalid XPath expression is detected. **Sentry-6678221213**