From bab20931099beda872aa17e5bb0ddd18cffd83ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Theys?= Date: Thu, 6 Aug 2020 09:28:57 +0000 Subject: [FIX] mail: process result of init messaging asynchronously MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Part of task-2308312 closes odoo/odoo#55562 X-original-commit: bdc2a9f516562c854837248e7d0898e5cfc8dec1 Signed-off-by: Alexandre Kühn (aku) Signed-off-by: Sébastien Theys (seb) --- .../src/models/messaging_initializer/messaging_initializer.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'addons/im_livechat/static/src/models/messaging_initializer/messaging_initializer.js') diff --git a/addons/im_livechat/static/src/models/messaging_initializer/messaging_initializer.js b/addons/im_livechat/static/src/models/messaging_initializer/messaging_initializer.js index 5f356f8146d..4780cf041a4 100644 --- a/addons/im_livechat/static/src/models/messaging_initializer/messaging_initializer.js +++ b/addons/im_livechat/static/src/models/messaging_initializer/messaging_initializer.js @@ -13,10 +13,13 @@ registerInstancePatchModel('mail.messaging_initializer', 'im_livechat/static/src * @override * @param {Object[]} [param0.channel_livechat=[]] */ - _initChannels(initMessagingData) { - this._super(initMessagingData); + async _initChannels(initMessagingData) { + await this.async(() => this._super(initMessagingData)); const { channel_livechat = [] } = initMessagingData; for (const data of channel_livechat) { + // there might be a lot of channels, insert each of them one by + // one asynchronously to avoid blocking the UI + await this.async(() => new Promise(resolve => setTimeout(resolve))); this.env.models['mail.thread'].insert( this.env.models['mail.thread'].convertData(data), ); -- cgit v1.2.3