Paul Morelle 13ba60e358 [FIX] mail: debounce updateBusSubscription
Before this commit, when updateBusSubscription was called, it was
postponed to the next event cycle by its first line `await`.
This was needed to avoid registering too many times when adding a large
set of channels: we waited for all channels to be added by the for loop
before actually calling the function.

However, this registered one event per function call. The first one did
the job, and all the subsequent ones did nothing, apart consuming CPU
(sorting the ids and JSONifying them cost memory and CPU).

On Chrome-based browsers, this resulted in a freeze of the rendering if
the number of channels became large (e.g. 600).

With this commit, we make updateBusSubscription a debounced function,
with no delay so that the function gets executed at the next event cycle
like before.
However, the difference is that the debouncing doesn't create a new
postponed call for each call: the function will only get executed once
after the current event cycle, no matter how many times it was called.

closes odoo/odoo#127598

X-original-commit: 2a5c78679875414dcfad7692b660a9c19047485b
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-07-06 20:55:52 +02:00
2023-07-04 12:46:58 +02:00
…
…
…
…
…

Build Status Tech Doc Help Nightly Builds

Odoo

Odoo is a suite of web based open source business apps.

The main Odoo Apps include an Open Source CRM, Website Builder, eCommerce, Warehouse Management, Project Management, Billing & Accounting, Point of Sale, Human Resources, Marketing, Manufacturing, ...

Odoo Apps can be used as stand-alone applications, but they also integrate seamlessly so you get a full-featured Open Source ERP when you install several Apps.

Getting started with Odoo

For a standard installation please follow the Setup instructions from the documentation.

To learn the software, we recommend the Odoo eLearning, or Scale-up, the business game. Developers can start with the developer tutorials

S
Description
No description provided
Readme LGPL-3.0
3.4 GiB
Languages
Python 49.6%
JavaScript 47.8%
SCSS 2%
CSS 0.3%
HTML 0.2%