13ba60e358f23749ab18f6a11a10cdfa39e21d41
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>
…
…
…
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
Languages
Python
49.6%
JavaScript
47.8%
SCSS
2%
CSS
0.3%
HTML
0.2%