Wednesday, October 15, 2025
6 changes · 19.0
Enhancements to existing features
Companies using Austrian POS localization can now automatically invite the email listed in company information to access the related Fiskaly dashboard. If the company email changes, a new invitation is sent, and existing Fiskaly organization data is kept up to date even while authentication is still pending.
Original PR description
In this commit: ------------------ - If a company email is set in the company information, we send an invitation to that email, allowing the user to access their company data on the Fiskaly dashboard by logging in using the company email. - If the email is later updated, access invitation will automatically be sent to the new email. - If the fiskaly organization exists, we should update the organization data even if the authentication is remaining to keep the data uptodate. Related PR: https://github.com/odoo/iap-apps/pull/1098 Task: 4881786 Forward-Port-Of: odoo/enterprise#88106
Opening the analytic distribution popup on invoice lines with many accounts now avoids making repeated background requests. This improves responsiveness for users working with detailed analytic allocations and reduces unnecessary system load.
Original PR description
Currently opening the analytic distrubtion popup on an invoice line creates N network requests per account set on the line. Steps to reproduce ----- 1. Edit the analytic distribution on an invoice line and add a lot of accounts 2. Open the popup again 3. A lot of web_read requests are made Issue ----- The display_name for the account and currency is not being passed to the field values in recordProps(), resulting in another fetch when each Field element is rendered. Solution ----- Pass account.accountDisplayName. The display name for the currency is actually not initially loaded by the client, but since that field is invisible, we can safely use an empty string. opw-5106219 Forward-Port-Of: odoo/odoo#231576 Forward-Port-Of: odoo/odoo#231342
The HTML editor was optimized to avoid unnecessary page layout and style recalculations during common editing actions. This should make editing feel more responsive, especially in situations where selections or block checks happen frequently.
Original PR description
The goal of this PR is to improve the performance of the HTML Editor by reducing the number of times layout or style recalculations are needed. [FIX] html_editor: make isCollapsed lazy ========== The…
The goal of this PR is to improve the performance of the HTML Editor by reducing the number of times layout or style recalculations are needed. [FIX] html_editor: make isCollapsed lazy ========== The goal of this commit is to make `isCollapsed` lazy. Currently, when calling `getSelectionData`, `selection.isCollapsed` is evaluated, which can trigger a layout recalculation. We now make it lazy and evaluate it only when necessary. This change helps avoid the cost of layout recalculations (few ms) in many situations. [FIX] html_editor: cache style.display in isBlock ======== This commit ensures that calls to `getComputedStyle(node).display` in the `isBlock` utility are properly cached. Currently, each call triggers a style recalculation, which can be costly. Solution: we cache the `display` value itself, not the entire return value of `getComputedStyle`. [FIX] html_editor: imp perf in base_container_plugin ====== This commit aims to improve performance. Using a `Set` only to remove a callback from a list is quite expensive compared to using a simple `if` check during the list iteration.
UAE payroll now excludes unpaid leave and unpaid sick leave days from end-of-service and related provision calculations. Payslips also show the total unpaid leave days, helping payroll teams review final settlements more clearly and accurately.
Original PR description
This commit excludes the Out Of Contract Unpaid Leaves and Unpaid Sick Leave days from the EoS and EoS Provision Salary Rule Calculations. We also show the total number of unpaid leave days on the EoS payslip. task-4886104 Forward-Port-Of: odoo/enterprise#97063 Forward-Port-Of: odoo/enterprise#95465
Leads created from live chat chatbot conversations now include files shared by the customer in the lead description. This helps sales teams see all relevant customer-provided information in one place, reducing missed context and follow-up delays.
Original PR description
Before this PR, when a lead was created from a chatbot conversation, the attachments shared by the customer were not included in the lead description. This PR adds the functionality to include these attachments in the lead description. Enterprise: https://github.com/odoo/enterprise/pull/94970 Task-4777564 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
When a website helpdesk live chat creates or updates a lead, attached files are now added to the lead description in a consistent format. This helps sales or support teams see the full customer context without needing to search elsewhere.
Original PR description
This commit PR attachment conversion logic with `_attachment_to_html` introduced in the related Community PR. Related: https://github.com/odoo/odoo/pull/227563 Task-4777564