78188249cabd2a7effffb737ec0909ac491df06b
This commit fixes two things: - The owl compatibility layer adds an `on` and `off` method on owl's EventBus so that it can keep being used as it used to in owl 1. To do this, it needs to keep track of the the callbacks that are attached to it and by whom. To do this it keeps a Map where the "owners" are keys. When calling `off` to remove event listeners, we remove the callbacks but did not remove the owner from the Map, causing the EventBus to always hold a strong reference to any object that was given as the owner to the `on` method, preventing the item from being garbage collected. Objects that do this are typically components, and components hold a reference to their owl application that contains the entire tree of components. This was particularly problematic in tests where components are created and destroyed at a rapid pace. - The mock websocket creates a MessageChannel so that it can mock the server side of the websocket, but it never closes that MessageChannel's MessagePorts, which can cause garbage collection to be slow to happen [1] (in practice it looks like these are basically never garbage collected unless closed). This commit registers a cleanup to close the message ports after the execution of the current test. [1]: https://html.spec.whatwg.org/dev/web-messaging.html#ports-and-garbage-collection closes odoo/odoo#108309 X-original-commit: 4facc396a4e8036592a473002253d5a5daf41a19 Signed-off-by: Aaron Bohy (aab) <aab@odoo.com> Co-authored-by: Aaron Bohy <aab@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%