Tuesday, May 19, 2026
2 changes · 19.0
Enhancements to existing features
The point of sale now avoids sending unnecessary creation notifications when no new records were added. This reduces needless background processing during routine actions like product scans, helping the POS stay more responsive without changing user workflows.
Original PR description
Previously, `loadData` always fired the `"create"` event for every model in a batch, even when all records in that batch were updates (`createdIds = []`). Any listener registered on `"create"` would then be invoked with an empty ID list.
For example, `computeDiscountProductIdsForAllRewards` in pos_loyalty is subscribed to `product.product` "create". When called with `{ ids: [] }`, it still iterated over every `loyalty.reward` and rebuilt its `all_discount_product_ids` array — a no-op that triggered reactive updates across all rewards on every product scan.
The fix guards the `triggerEvents("create", ...)` call behind a `createdIds.length` check, so the event only fires when at least one record was actually created.
opw-6091501
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prThe online shop now gives clearer feedback when a customer requests a unit of measure that is no longer available for a product. This helps avoid confusion after product setup changes and makes checkout issues easier to understand.
Original PR description
In some case, the requested uom might not be available (anymore) depending on the product latest changes. Followup on 4ac31e3545f009d0f96462f6a9098d5163ad521b --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr