Daily updates from Odoo
Thursday, November 14, 2024
2 changes
Enhancements to existing features
Opening invoice and bill forms is now faster on large databases because the duplicate-reference warning uses more targeted searches. This reduces wait time for accounting users while keeping the same duplicate detection behavior.
Original PR description
## Description A warning is shown on the form view of invoices/bills, to warn when a possible duplicate is present in the database. The query searching for those duplicates contained disjonctions for…
## Description A warning is shown on the form view of invoices/bills, to warn when a possible duplicate is present in the database. The query searching for those duplicates contained disjonctions for matching conditions for both 'in' moves and 'out' moves. Postgres doesn't plan well with that disjonction (subplan scan with high-filter rate, non-indexable due to the disjonction). Splitting that disjonction into 2 queries (one for each type of in/out, lazily) leads to better plans and also faster execution, since there is better segragation of the lookup criteria (there is no need to check for a potential duplicate customer invoice in the set of vendor bills for ex.). ## Benchmark On database with millions of invoices, opening an invoice form view, the `_fetch_duplicate_reference` | | Before | After | Speed-up | |---------------|--------|-------|----------| | Timings (hot) | 1s | 40ms | 25x | --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The document sharing panel now opens faster by waiting to load invitee suggestions until a user actually opens the invite menu. This reduces the delay after clicking the share button and improves the day-to-day sharing experience.
Original PR description
In production, there is a delay of around 1 second between the moment the user clicks on the share button and the share/permission panel appears. That is not good UX. To reduce that delay, this commit removes the fetching of partner options (for members' invite) when the permission panel is about to open. The RPC call is now done when users open the select menu to invite new members. task-4309414