diff --git a/addons/mail/static/src/js/chat_manager.js b/addons/mail/static/src/js/chat_manager.js
index 74b16f22486..b91113ea9c6 100644
--- a/addons/mail/static/src/js/chat_manager.js
+++ b/addons/mail/static/src/js/chat_manager.js
@@ -137,6 +137,7 @@ function make_message (data) {
channel_ids: data.channel_ids,
model: data.model,
res_id: data.res_id,
+ url: session.url("/mail/view?message_id=" + data.id),
};
_.each(_.keys(emoji_substitutions), function (key) {
@@ -516,11 +517,12 @@ function on_chat_session_notification (chat_session) {
}
// partner specific change (open a detached window for example)
if ((chat_session.state === "open") || (chat_session.state === "folded")) {
- if (chat_session.is_minimized && chat_manager.get_channel(chat_session.id)) {
- chat_manager.bus.trigger("open_chat", chat_session);
+ var channel = chat_session.is_minimized && chat_manager.get_channel(chat_session.id);
+ if (channel) {
+ chat_manager.bus.trigger("open_chat", channel);
}
} else if (chat_session.state === "closed") {
- chat_manager.bus.trigger("close_chat", chat_session);
+ chat_manager.bus.trigger("close_chat", chat_manager.get_channel(chat_session.id));
}
}
diff --git a/addons/mail/static/src/js/client_action.js b/addons/mail/static/src/js/client_action.js
index d4d2cb69d4f..14682f49a4e 100644
--- a/addons/mail/static/src/js/client_action.js
+++ b/addons/mail/static/src/js/client_action.js
@@ -375,7 +375,13 @@ var ChatAction = Widget.extend(ControlPanelMixin, {
.removeClass('o_unread_message')
.addClass('o_active');
- self.thread.scroll_to({offset: new_channel_scrolltop});
+ var $new_messages_separator = self.$('.o_thread_new_messages_separator');
+ if ($new_messages_separator.length) {
+ self.thread.$el.scrollTo($new_messages_separator);
+ } else {
+ self.thread.scroll_to({offset: new_channel_scrolltop});
+ }
+
if (!config.device.touch) {
self.composer.focus();
}
diff --git a/addons/mail/static/src/js/thread.js b/addons/mail/static/src/js/thread.js
index 5381c9f89c3..b35445e8d3f 100644
--- a/addons/mail/static/src/js/thread.js
+++ b/addons/mail/static/src/js/thread.js
@@ -16,8 +16,9 @@ var Thread = Widget.extend({
className: 'o_mail_thread',
events: {
- "click .o_mail_redirect": "on_click_redirect",
- "click .o_channel_redirect": "on_channel_redirect",
+ "click a": "on_click_redirect",
+ "click img": "on_click_redirect",
+ "click strong": "on_click_redirect",
"click .o_thread_show_more": "on_click_show_more",
"click .o_thread_message_needaction": function (event) {
event.stopPropagation();
@@ -85,16 +86,13 @@ var Thread = Widget.extend({
},
on_click_redirect: function (event) {
- event.preventDefault();
- var res_id = $(event.target).data('oe-id');
- var res_model = $(event.target).data('oe-model');
- this._redirect({model:res_model, id: res_id});
- },
-
- on_channel_redirect: function (event) {
- event.preventDefault();
- var channel_id = $(event.target).data('oe-id');
- this._redirect({channel_id: channel_id});
+ var id = $(event.target).data('oe-id');
+ if (id) {
+ event.preventDefault();
+ var model = $(event.target).data('oe-model');
+ var options = model ? {model: model, id: id} : {channel_id: id};
+ this._redirect(options);
+ }
},
_redirect: _.debounce(function (options) {
diff --git a/addons/mail/static/src/less/chat_window.less b/addons/mail/static/src/less/chat_window.less
index ee6ea89b539..f37b66f85ff 100644
--- a/addons/mail/static/src/less/chat_window.less
+++ b/addons/mail/static/src/less/chat_window.less
@@ -11,6 +11,10 @@
border: 1px solid gray;
border-radius: 3px;
+ @media (max-width: @screen-xs-max) {
+ display:none;
+ }
+
.o_chat_header {
.o-flex-display();
.o-flex(0, 0, auto);
diff --git a/addons/mail/static/src/less/client_action.less b/addons/mail/static/src/less/client_action.less
index f6479b9a418..4fe782d047b 100644
--- a/addons/mail/static/src/less/client_action.less
+++ b/addons/mail/static/src/less/client_action.less
@@ -15,7 +15,7 @@
.o-flex-flow(row, nowrap);
.o_mail_chat_sidebar {
- .o-flex(0, 0, 220px);
+ .o-flex(0, 0, 250px);
overflow: auto;
padding: 8px 0;
font-weight: 300;
diff --git a/addons/mail/static/src/xml/thread.xml b/addons/mail/static/src/xml/thread.xml
index 0e7777dda1a..0952fcf0e7f 100644
--- a/addons/mail/static/src/xml/thread.xml
+++ b/addons/mail/static/src/xml/thread.xml
@@ -52,7 +52,7 @@
@@ -79,7 +79,7 @@
@@ -91,10 +91,10 @@
-
- on
+ on
- (from #)
+ (from #)