Daily updates from Odoo
Saturday, January 3, 2026
4 changes · saas-18.4
Resolved issues and error corrections
This update fixes a crash that occurred when users switched tabs while a receipt was being printed in Point of Sale. The fix ensures the receipt component is reliably loaded and accessible, preventing the printing process from failing. This improves the overall reliability of the PoS system.
Original PR description
Steps to reproduce: ------------------- 1. Enable "Automatic Receipt Printing" so the receipt is auto printed after paying an order 2. From PoS, make an order, select it to invoice, and click the pay…
Steps to reproduce: ------------------- 1. Enable "Automatic Receipt Printing" so the receipt is auto printed after paying an order 2. From PoS, make an order, select it to invoice, and click the pay button. 3. While loading (normally a few seconds to finish the invoice), switch the tab and stay there for few seconds (the time the invoicing has finsihed). 4. Come back to the initial page, a traceback will appear and the ticket is not printed. Why it happens: --------------- The receipt is printed when the parent of the `OrderReceipt`, i.e. `RenderContainer` is rendered. In this case, we assume that `OrderReceipt` has already had the time to be mounted and thus it's in the DOM, so in this case, `this.ref?.el?.firstElementChild` has the order receipt. However, when switching the tab, and since OWL uses `requestAnimationFrame` as a scheduler, and since the browser will throttle `requestAnimationFrame` when the tab is not active, we will not have access to the order receipt component in its parent's `onRendered`! The fix ------- Instead of seeing the parent renders as a sign that its child has been successfully put in the DOM, we now renders the child component (OrderReceipt) in its own container and thus we can hook into its `onMounted` lifecycle where we know for sure that this component has been successfully mounted and attached to the DOM, and can be accessed through `this.ref?.el?.firstElementChild`. opw-5124585 Forward-Port-Of: odoo/odoo#241781 Forward-Port-Of: odoo/odoo#239008
This update corrects a bug in the forum post form where invalid fields (like a missing title) were not properly highlighted, allowing users to submit incomplete posts. The fix ensures that required fields are correctly marked as invalid, improving the user experience and data integrity within the forum.
Original PR description
Steps to reproduce =================== 1. Go to Forum. 2. Select any forum and Click on New Post. 3. Add a title and keep description empty. 4. Post Your Question. => The title is marked as invalid. 6. Now add a description. 7. Post Your Question. => Both the title and description are marked as invalid, yet form is submitted successfully. After commit [1], refactoring public widgets to Interactions, the `is-invalid` class toggle for forum post title and description used an incorrect condition, leading to improper highlighting of these fields. [1] https://github.com/odoo/odoo/commit/22e777c046521f3f89b62caa5876680beb7f5aba Task-5400394 Forward-Port-Of: odoo/odoo#241540
This update corrects a technical issue where QR and payment details were missing from invoices. The team has extended the existing view to include these crucial elements, ensuring accurate reporting and compliance. This resolves issues OPW-5385872 and OPW-5414922.
Original PR description
During the commit 6479d17, a new view was added but unfortunately, the details of the previous one was not considered. To fix this issue, we should extend the values of the main one. OPW-5385872 OPW-5414922 Forward-Port-Of: odoo/enterprise#103039
This update fixes a visual issue in the Point of Sale interface where the left-hand product pane would sometimes shrink, making text unreadable. The fix ensures the pane maintains its intended width, improving the user experience. The issue was intermittent and related to how the layout elements interacted within the flex container.
Original PR description
In some scenarios, although not fully deterministic, the left pane is being pushed by its right pane sibling (i.e. the products grid), making it go below its specified with of `left-pane-width`, and…
In some scenarios, although not fully deterministic, the left pane is being pushed by its right pane sibling (i.e. the products grid), making it go below its specified with of `left-pane-width`, and making text non readable. By setting `flex-shrink: 0` on this element, we tell the browser to respect the specified width, and not allow its siblings to shrink it. We could have also set `min-width: $left-pane-width;`, but it's less descriptive. The problem happens because we are in a flex container, hencer we use `flex-shrink: 0`. ### Notes: This issue only happened from time to time for the client, and it seems non deterministic. If we disable showing the product images, the issue stops happening. The below before vs after screenshots are taken on MacBook Pro 14 inches. ### Before: <img width="1493" height="868" alt="image" src="https://github.com/user-attachments/assets/70bc5a70-34a6-48c9-a60a-ab1de1fa0b9b" /> <img width="1496" height="867" alt="image" src="https://github.com/user-attachments/assets/e8ae9b25-3525-439b-93dd-18dc825613c7" /> ### After: <img width="1495" height="866" alt="Capture d’écran 2025-12-31 à 11 28 38" src="https://github.com/user-attachments/assets/23585d3d-b0bf-4316-8749-b39a56fc8cda" /> <img width="1497" height="866" alt="image" src="https://github.com/user-attachments/assets/f5654163-1dd3-4ff9-bb12-d8cd8fbc497b" /> opw-5392359 Forward-Port-Of: odoo/odoo#241941 Forward-Port-Of: odoo/odoo#241731