From a98cbff78845bd3b084c78ab3aef6b19c89df584 Mon Sep 17 00:00:00 2001 From: Steve Howell Date: Tue, 24 Jan 2017 14:10:01 -0800 Subject: [PATCH] Use user's current full name when rendering messages. The field message.sender_full_name can be out of date, so we recompute is using data from people.js in add_message_metadata(). --- frontend_tests/node_tests/message_store.js | 1 + static/js/message_store.js | 5 +++++ static/js/people.js | 4 ++++ 3 files changed, 10 insertions(+) diff --git a/frontend_tests/node_tests/message_store.js b/frontend_tests/node_tests/message_store.js index 23548b78e4..aa9c11016d 100644 --- a/frontend_tests/node_tests/message_store.js +++ b/frontend_tests/node_tests/message_store.js @@ -50,6 +50,7 @@ var message_store = require('js/message_store.js'); (function test_add_message_metadata() { var message = { sender_email: 'me@example.com', + sender_id: me.user_id, type: 'private', display_recipient: [me, bob, cindy], flags: ['has_alert_word'], diff --git a/static/js/message_store.js b/static/js/message_store.js index b459403831..3dd2000457 100644 --- a/static/js/message_store.js +++ b/static/js/message_store.js @@ -111,6 +111,11 @@ function add_message_metadata(message) { people.extract_people_from_message(message); + var sender = people.get_person_from_user_id(message.sender_id); + if (sender) { + message.sender_full_name = sender.full_name; + } + switch (message.type) { case 'stream': message.is_stream = true; diff --git a/static/js/people.js b/static/js/people.js index 51f9715f55..27353054e6 100644 --- a/static/js/people.js +++ b/static/js/people.js @@ -28,6 +28,10 @@ exports.init = function () { exports.init(); exports.get_person_from_user_id = function (user_id) { + if (!people_by_user_id_dict.has(user_id)) { + blueslip.error('Unknown user_id in get_person_from_user_id: ' + user_id); + return undefined; + } return people_by_user_id_dict.get(user_id); };