- Messaging menu was slow when there are many mail failures - Discuss app is slow whenever there are many pinned threads - Initial page load was slow when pinned threads were group chats with hundreds of members All these performance issue come from aggressively eager call to reactive callbacks, which `onChange()` and `compute()` were relying on. This commits fixes the performance issue with: - Update cycle in `@mail/record`, which calls eager computed fields and onChange at the end of an update transaction in discuss models, so that computation is called only once rather than many times (while only the later value matter) - Add support for lazy computed fields (which they are by default), so that computed fields are only computed when needed. - Add support for sorted many fields, which also follow the update cycle and eager/lazy mode of field. This makes sorting operation on many fields efficient and preserves eventual correctness of expected order of items in these relational fields. With module `contacts` installed and populate `--size="medium"`, init_messaging and mail_failures took 12sec. for Mitchell Admin. With this commit, this has been reduced to 1sec. closes odoo/odoo#143382 Related: odoo/enterprise#51410 Signed-off-by: Sébastien Theys (seb) <seb@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.