diff --git a/frappe/chat/doctype/chat_room/chat_room.py b/frappe/chat/doctype/chat_room/chat_room.py index b6a9ee6e5c..4de234f89b 100644 --- a/frappe/chat/doctype/chat_room/chat_room.py +++ b/frappe/chat/doctype/chat_room/chat_room.py @@ -195,7 +195,10 @@ def create(kind, owner, users = None, name = None): for user in dsettings.chat_operators: if user.user not in users: - room.append('users', user) + # appending user to room.users will remove the user from chat_operators + # this is undesirable, create a new Chat Room User instead + chat_room_user = {"doctype": "Chat Room User", "user": user.user} + room.append('users', chat_room_user) room.save(ignore_permissions = True) diff --git a/frappe/hooks.py b/frappe/hooks.py index c7f62ca74c..92b82127fe 100644 --- a/frappe/hooks.py +++ b/frappe/hooks.py @@ -12,7 +12,7 @@ source_link = "https://github.com/frappe/frappe" app_license = "MIT" develop_version = '12.x.x-develop' -staging_version = '11.0.3-beta.26' +staging_version = '11.0.3-beta.27' app_email = "info@frappe.io" diff --git a/frappe/website/js/website.js b/frappe/website/js/website.js index 5744ebd977..7fa29991d0 100644 --- a/frappe/website/js/website.js +++ b/frappe/website/js/website.js @@ -421,7 +421,9 @@ frappe.ready(function() { callback: (r) => { if (r.message) { frappe.require('/assets/js/moment-bundle.min.js', () => { - frappe.require('/assets/js/chat.js'); + frappe.require('/assets/js/chat.js', () => { + frappe.chat.setup(); + }); }); } } diff --git a/rollup/build.js b/rollup/build.js index 8f1169838d..46c0630b0e 100644 --- a/rollup/build.js +++ b/rollup/build.js @@ -63,7 +63,13 @@ function build_assets(app) { function build(inputOptions, outputOptions) { return rollup.rollup(inputOptions) .then(bundle => bundle.write(outputOptions)) - .catch(err => log(chalk.red(err))); + .catch(err => { + log(chalk.red(err)); + // Kill process to fail in a CI environment + if (process.env.CI) { + process.kill(process.pid) + } + }); } function concatenate_files() {