summaryrefslogtreecommitdiff
path: root/addons/im_livechat/static/src/models/messaging_initializer/messaging_initializer.js
diff options
context:
space:
mode:
authorSébastien Theys <seb@odoo.com>2020-08-06 09:28:57 +0000
committerSébastien Theys <seb@odoo.com>2020-08-06 13:27:38 +0000
commitbab20931099beda872aa17e5bb0ddd18cffd83ed (patch)
tree44bf347191bc6473d9c7eea6a8244b8831834d54 /addons/im_livechat/static/src/models/messaging_initializer/messaging_initializer.js
parent7b51aaa1cac3b640861456888773d926bdc501f4 (diff)
[FIX] mail: process result of init messaging asynchronously
Part of task-2308312 closes odoo/odoo#55562 X-original-commit: bdc2a9f516562c854837248e7d0898e5cfc8dec1 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com> Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Diffstat (limited to 'addons/im_livechat/static/src/models/messaging_initializer/messaging_initializer.js')
-rw-r--r--addons/im_livechat/static/src/models/messaging_initializer/messaging_initializer.js7
1 files changed, 5 insertions, 2 deletions
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),
);