Sunday, June 15, 2025
4 changes · saas-18.3
Resolved issues and error corrections
This fixes an issue where formatted HTML content in mail-related records could lose its formatting when copied or reinserted, causing raw HTML text to appear in the interface. The change preserves the formatting marker so users continue to see properly rendered content.
Original PR description
Before this commit, `record.toData()` was not retrieving the "markup" flag of html fields. This is a problem because inserting this data would remove the `Markup` of these html fields, therefore showing html as text content in UI. This commit fixes the issue by having `record.toData()` return `["markup", string]` rather than `string` on html fields that have markup content, so that insert preserves the markup.
Miscellaneous changes
### Description: Adds a new computed `has_worksheet` field to avoid out of memory issues in Shop Floor. ### Reference: opw-4784076 Forward-Port-Of: odoo/odoo#214048 Forward-Port-Of: odoo/odoo#211505
Original PR description
### Description: Adds a new computed `has_worksheet` field to avoid out of memory issues in Shop Floor. ### Reference: opw-4784076 Forward-Port-Of: odoo/odoo#214048 Forward-Port-Of: odoo/odoo#211505
### Description: When opening Shop Floor, the frontend will fetch all the worksheets linked to the displayed MOs. This causes the ORM to load all the attachments at the same time, which can create a Memory Error(OOM). ### Fix: The only reason why it is retrieved at the opening of the view is to check if the workorders have a worksheet. If it is, then the worksheet is loaded again when needed (i.e. when button is clicked to display it). This means that we can avoid unnecessarily preloadi
Original PR description
### Description: When opening Shop Floor, the frontend will fetch all the worksheets linked to the displayed MOs. This causes the ORM to load all the attachments at the same time, which can create a Memory Error(OOM). ### Fix: The only reason why it is retrieved at the opening of the view is to check if the workorders have a worksheet. If it is, then the worksheet is loaded again when needed (i.e. when button is clicked to display it). This means that we can avoid unnecessarily preloading all documents by adding a compute that will tell us if the workorders have one or not. ### Benchmark: | N° of worksheet | Before | After | |-----------------|--------|-------| | 29 | 3.36s | 1.2s | | 144 | OOM | 1.2s | ### Reference: opw-4784076 Forward-Port-Of: odoo/enterprise#87539 Forward-Port-Of: odoo/enterprise#86318
Issue: --- - For providers like JustEat, Grubhub, DoorDash, and UberEats (US/UK regions), UrbanPiper expects the entire product catalog during sync. - However, Odoo was sending only updated products, causing issues on their end. Fix: --- - Updated the condition to ensure a full product sync is performed when any of the configured providers require it. task-4863894 Forward-Port-Of: odoo/enterprise#87470
Original PR description
Issue: --- - For providers like JustEat, Grubhub, DoorDash, and UberEats (US/UK regions), UrbanPiper expects the entire product catalog during sync. - However, Odoo was sending only updated products, causing issues on their end. Fix: --- - Updated the condition to ensure a full product sync is performed when any of the configured providers require it. task-4863894 Forward-Port-Of: odoo/enterprise#87470