With the discuss refactoring, two memory leaks were introduced: - the activity service opens a broadcast channel for cross-tab communication. Because services have no destruction mechanism, the broadcast channel is never closed, and since most tests create their own test environment with services, each test would leak an instance of the activity service as it is captured by the bound onmessage function. The activity service holds a reference to the mail store which results in a large leak - the RelativeTime component creates a timeout so that it can update its time every minute or every hour depending on how old the message is, this timeout is cleared when the component is destroyed. This component tries to initialize the value of its timeout to `null`, but it does so *after* calling the method that actually sets the timeout, causing the timeout to be overriden with null and never cleared The BroadcastChannel problem has been solved by adding BroadcastChannel to the browser object, and patching it in the test setup code of web, as it's a generic problem with BroadcastChannels. The timeout problem has been fixed by simply reordering the lines so that we don't override the timeout and it gets correctly cleared when the component is destroyed. closes odoo/odoo#128768 X-original-commit: bd25f14d7a746fe48e09edea7ebb4aaa4634fbdc Signed-off-by: Aaron Bohy (aab) <aab@odoo.com> Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Odoo Enterprise Social Network
Connect with experts, follow what interests you, share documents and promote best practices with Odoo Enterprise Social Network. Get work done with effective collaboration across departments, geographies, documents and business applications. All of this while decreasing email overload.
Connect with experts
Next time you have a question for the marketing, sales, R&D or any other department, don't send an email blast-post the question to Odoo and get answers from the right persons.
Follow what interests you
Want to get informed about new product features, hot deals, bottlenecks in projects or any other event? Just follow what interests you to get the information you need what you need; no more, no less.
Get Things Done
You can process (not only read) the inbox and easily mark messages for future actions. Start feeling the pleasure of having an empty inbox every day; no more overload of information.
Promote best practices
Cut back on meetings and email chains by working together in groups of interests. Create a group to let people share files, discuss ideas, and vote to promote best practices.
Improve Access to Information and Expertise
Break down information silos. Search across your existing systems to find the answers and expertise you need to complete projects quickly.
Collaborate securely
Set the right security policy; public, private or on invitation only -- according to the information sensitivity.
A Twitter-like Network For My Company
Make every employee feel more connected and engaged with twitter-like features for your own company. Follow people, share best practices, 'like' top ideas, etc.