Thursday, May 15, 2025
3 changes · saas-18.1
Resolved issues and error corrections
This change prevents IoT devices from being sent to Odoo before the device has switched to the correct software version. It avoids a pairing conflict that could block new IoT devices from connecting unless the box was disconnected and paired again.
Original PR description
Before this commit, the connection manager would send the IoT devices to the DB before checking out to the correct git branch. This was intended to give the user a quicker response that the IoT…
Before this commit, the connection manager would send the IoT devices to the DB before checking out to the correct git branch. This was intended to give the user a quicker response that the IoT connection was successful. However, due to the change of identifier from MAC address to serial number, connecting an IoT to a DB in master results in the following behaviour: - IoT starts in saas-18.1, connects to DB - It posts to `/iot/setup` before checking out, using its MAC as the identifier - The IoT box appears in the Odoo backend with the MAC identifier and its current devices - After checking out, the IoT calls `/iot/setup` again but with the serial number - The Odoo backend rejects the call because it thinks it is a new IoT box, but the token doesn't match The end result is that it is impossible to connect new devices to the Odoo database, unless the IoT is disconnected and re-paired. To fix this, we will simply stop sending the devices early. task-4797337 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Point of Sale now avoids showing duplicate discount options when product variants share the same loyalty discount. This prevents an unnecessary selection popup for cashiers and avoids an error in debug mode, making checkout smoother.
Original PR description
[**Problem:** In POS, if a product which has two variants with the same discount is selected, in debug mode an error window appears. If not in debug mode, the selector widget appears even though it…
[**Problem:** In POS, if a product which has two variants with the same discount is selected, in debug mode an error window appears. If not in debug mode, the selector widget appears even though it should not because it's the same discount **Steps to reproduce:** - Enable the "variants" and the "Discounts" settings - Create a new product, make it available in POS - In the "Attributes & Variants" page, add a color attribute line and give it two values - In the Point of Sale page, give it a category - Open Point of Sale/Products/Discount & loyalty, and click on New - Click on the text below "Conditional rules" on the bottom left of the screen - In the Products field select the two variants of your new product - Save - Open a shop in Point of Sale - Select your product **Current behavior:** If in debug mode an error message appears. If not in debug mode, a selector widget appears, allowing the user to choose between two times the same discount **Expected behavior:** Because it's the same discount, no window of selection (and no error window) should appear **Cause of the issue:** when computing the list of the different discounts available for a product there's no mechanism to avoid duplicates. So linkedPrograms will be a list of two identical values https://github.com/odoo/odoo/blob/2e4c704d80812aabe28ae491e28c5faa4c27d693/addons/pos_loyalty/static/src/app/services/pos_store.js#L372-L373 makeAwataible is then called with "list" containing the two objects with the same id. https://github.com/odoo/odoo/blob/2e4c704d80812aabe28ae491e28c5faa4c27d693/addons/pos_loyalty/static/src/app/services/pos_store.js#L377-L383 If not in debug mode: this will result in the creation of a SelectionPopup allowing to choose between two times the same discount If in debug mode: when __render will eventally be called, https://github.com/odoo/odoo/blob/2e4c704d80812aabe28ae491e28c5faa4c27d693/addons/web/static/lib/owl/owl.js#L3050 slotScope.this.props.list will be a list of two element with the same id, this will trigger an error thanks to this line which is added in debug mode https://github.com/odoo/odoo/blob/2e4c704d80812aabe28ae491e28c5faa4c27d693/addons/web/static/lib/owl/owl.js#L4486 opw-4703868
This update resolves a problem that could occur after customers paid through an IoT payment terminal in self-order flows. Orders can now be confirmed or cancelled correctly, helping avoid checkout interruptions and payment processing confusion.
Original PR description
The related PR https://github.com/odoo/odoo/pull/186359 introduced an issue for pos_self_order_iot. When an order has been paid with an iot terminal it leads to an issue at the stage when it's confirmed/cancelled. This PR fixes the issue and allows to proceed the payment as expected: Related PR for >= saas-18.3: https://github.com/odoo/enterprise/pull/85580