Friday, May 29, 2026
8 changes · 18.0
Resolved issues and error corrections
This update resolves a technical issue preventing the Instagram snippet on our website from displaying correctly in iOS Chrome browsers. The problem stemmed from a change in how Chrome sends data, requiring a simple adjustment in our code to handle the data format. This ensures consistent functionality across different browsers.
Original PR description
Scenario:
- insert Instagram Page snippet
- using iOS chrome browser (reproduced in iOS 26.3, google chrome 146)
visit that page logged in as a internal user or in ?debug=assets (so
traceback are shown)
Result: 3 tracebacks errors are shown with error "Uncaught Promise >
JSON Parse error: Unexpeced identifier "object".
Cause: probably since this change:
https://chromium.googlesource.com/chromium/src/+/9629a16a7ab0b91c59ecaa9fc8934db3d6c83ba3%5E%21/
chrome on iOS is sending message with this object as data:
{ "command": "registerAsChildFrameAck", "remoteFrameId": "d905013d…" }
but the instagram code is expecting a stringified JSON.
Fix: ignore message data that are object.
opw-5930717
Forward-Port-Of: odoo/odoo#254664This update corrects an issue where Odoo automatically generated PDFs from invoices uploaded as PDFs containing embedded XML data. Previously, the system incorrectly assumed invoices with embedded XML needed a separate PDF. This change ensures that Odoo only generates PDFs when explicitly required, improving efficiency and preventing redundant file creation.
Original PR description
Commit https://github.com/odoo/odoo/commit/7bc35c41eb145638b5a37fc8a927c04b0337a740 introduced automatic PDF generation for imported XML invoices that don't include an embedded PDF file. However, this behavior does not take into account the case of xml embedded into the source pdf. Steps to reproduce: - Upload a PDF embedding an XML - Check the created bill Issue: A PDF will be automatically generated by the system. This should not occur if the uploaded file is already a PDF opw-6010999
This update fixes a visual issue where carousels in the website builder sometimes displayed inconsistent heights, causing a distracting 'jitter' effect. The change uses a new technology to automatically adjust carousel item heights based on image size changes, ensuring a smoother and more professional appearance.
Original PR description
In a carousel snippet all carousel items keep a consistent height to prevent layout jitter when sliding. The height synchronization was broken in snippets like `s_image_gallery` or `s_carousel` when:…
In a carousel snippet all carousel items keep a consistent height to prevent layout jitter when sliding. The height synchronization was broken in snippets like `s_image_gallery` or `s_carousel` when: - An image was replaced with one of a different aspect ratio. - Item dimensions were modified via border overlays (padding changes). This commit introduces a `ResizeObserver` to monitor the carousel and triggers a height synchronization whenever an element's size changes. Steps to reproduce (Media Change): 1. In the website builder, add the `s_image_gallery` snippet. 2. Replace one of its images with another which is significantly tall. 3. Navigate through the carousel and observe height changes causing a jitter effect. Steps to reproduce (Border Overlay): 1. In the website builder, add the `s_carousel` snippet. 2. Drag the lower border overlay so that the height of an image increases. 3. Navigate through the carousel and observe height changes causing a jitter effect. Task: [5135520](https://www.odoo.com/odoo/project/974/tasks/5135520)
This update ensures that mass mailing background colors remain consistent, regardless of website palette changes. Previously, updates to primary colors would overwrite previously set background colors in sent emails. Now, the email's background color is permanently linked, providing a reliable design experience for users.
Original PR description
When a mass mailing block uses a `bg-o-color-N` theme color class, the mailing's `body_arch` stores the class and `convert_inline` correctly inlines the resolved color into `body_html`, matching the…
When a mass mailing block uses a `bg-o-color-N` theme color class, the mailing's `body_arch` stores the class and `convert_inline` correctly inlines the resolved color into `body_html`, matching the website palette at save time. The class also stays on the element in `body_html`. The stylesheet rule that gives `bg-o-color-N` its color is declared with `!important`. When the website palette is later rebuilt (any change to the primary colors), the new `bg-o-color-N` rule wins over the inline color whenever `body_html` is rendered. So an already-sent mailing reopened in the backend shows the new palette's color instead of the one that was picked, and resaving the mailing bakes that new color into `body_html`. `classToStyle` already does the right thing for the property value. What was missing is dropping the class itself from `body_html` once its style has been inlined, so no future `!important` palette rule can override the inline color. `body_arch` keeps the class, so the editor preview stays theme-aware while editing, but `body_html` is now stable across palette rebuilds. Steps to reproduce: 1. Open Email Marketing and create a new mailing using the Welcome Message template 2. Select a content block, open Customize, set the background to the 5th theme color 3. Save the mailing 4. Open the Website editor and change the 5th primary color to a different value 5. Reopen the saved mailing in the backend => the block's rendered background follows the new website color instead of the one picked at design time Ticket [link](https://www.odoo.com/odoo/project.task/5892350) opw-5892350
This update resolves an issue where updating a partner's parent ID would fail if invoices and VAT information didn't match. Now, parent ID updates are permitted if the change is the same as before or if the partner isn't designated as the invoicing address for the parent. This ensures smoother partner management.
Original PR description
Updating a partner with the `parent_id` field. If you try to update a partner by setting `parent_id`, it fails if there is an invoice created for the partner and VAT for the partner and the parent differ. It does not matter if the new `parent_id` is the same as the current one or what kind of address you want to use for the partner. Allow/do not fail on updating `parent_id` if it's the same as it was before, or if you don't set it as the invoicing address of the parent. Ticket [link](https://www.odoo.com/odoo/project.task/5149429) opw-5149429
This update resolves an issue where VeriFactu invoices were failing due to an error when using prefixes or suffixes on the invoice sequence. The fix now gracefully handles these cases, preventing crashes and guiding users to remove the prefix/suffix for successful invoice generation. This ensures VeriFactu integration continues to function smoothly.
Original PR description
**Steps to reproduce:** 1. Install l10n_es_edi_verifactu. 2. Switch to a ES company. 3. Create a customer invoice and send it to VeriFactu. 4. Enable Developer Mode. 5. Go to Settings > Technical >…
**Steps to reproduce:** 1. Install l10n_es_edi_verifactu. 2. Switch to a ES company. 3. Create a customer invoice and send it to VeriFactu. 4. Enable Developer Mode. 5. Go to Settings > Technical > Sequences & Identifiers > Sequences. 6. Search for the `Sequence Code: l10n_es_edi_verifactu` and open it. 7. Set a prefix or suffix using any alphabetical character. 8. Create a new invoice and send it to VeriFactu **Issue:** Traceback on sending Veri*Factu: `ValueError: invalid literal for int() with base 10: 'F260001'` **Cause:** The value returned by `ir.sequence.next_by_id()` may contain alphabetical characters (due to prefix/suffix), while the field `chain_index` expects an integer. The raw sequence value was directly assigned, causing the conversion to fail. **Fix:** Catch the ValueError raised by int() when the sequence value contains non-numeric characters (e.g. due to a prefix/suffix). Instead of crashing, surface a user-friendly error on the document telling the user to remove the prefix/suffix from the sequence configuration. **opw-6037528**
The Point of Sale receipt now accurately displays the change amount as a positive value instead of a negative one. This change was made to ensure customers receive correct information about their refunds and improve the overall customer experience. The issue was resolved by removing an unnecessary negation step in the receipt printing process.
Original PR description
**Issue:** The printed receipt in Point of Sale displayed a negative change amount when the customer paid more than the order total. **Before:** The receipt showed the change as a negative value…
**Issue:** The printed receipt in Point of Sale displayed a negative change amount when the customer paid more than the order total. **Before:** The receipt showed the change as a negative value (e.g., `-$5,504.00`), which was misleading for customers. **After:** The receipt now correctly displays the change as a positive value (e.g., `$5,504.00`). **Steps to Reproduce:** 1. Open a Point of Sale session 2. Add products to the cart (example total: `$49,496.00`) 3. Select the **Cash** payment method 4. Enter an amount greater than the order total (example: `$55,000.00`) 5. Observe that the **Change** field displays a negative value 6. Confirm the payment 7. Print the receipt and observe that the change amount is also negative **Root Cause:** The issue was caused by an unnecessary negation in the `export_for_printing()` method in `pos_order.js`. The `get_change()` method already returns the correct positive change amount. However, the code applied an extra negation (`-this.get_change()`), which converted the value into a negative amount before rendering it on the receipt. **Fix:** Removed the unnecessary negation in `export_for_printing()` so the receipt now displays the correct positive change amount. Video reproducing the issue: [[Click here to view the video](https://drive.google.com/file/d/1QnQ47qlTFvv98K0J_NzreBVeIh-J2XcF/view?usp=sharing)] opw-6211988 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes an issue where the payment link wizard's copy button would overflow on smaller mobile screens. The button's long label caused it to extend beyond the available space, making it appear partially hidden. This change ensures the button fits correctly within the mobile view, improving usability.
Original PR description
Description of the issue/feature this PR addresses: The payment link wizard copy button can overflow horizontally on small screens because of its long label. Current behavior before PR: On mobile view, the copy button may appear partially hidden. Desired behavior after PR is merged: The payment link wizard copy button properly fits within the available width on mobile view. Before: <img width="514" height="667" alt="image" src="https://github.com/user-attachments/assets/9060bf5a-9590-47a6-b322-220ed0a871be" /> After: <img width="514" height="667" alt="image" src="https://github.com/user-attachments/assets/3b257e73-3744-4236-b28c-bad1a46ca92d" /> @Tecnativa TT58871 @CarlosRoca13 please review --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr