From a6a7e81a0fbbc4e45c7830d561cd96c901a4b596 Mon Sep 17 00:00:00 2001 From: hristoterezov Date: Tue, 1 Nov 2016 16:40:52 -0500 Subject: [PATCH] feat(DisplayName): Limit local and remote display name to 50 chars --- conference.js | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/conference.js b/conference.js index b91fba106..5a54b1fef 100644 --- a/conference.js +++ b/conference.js @@ -54,6 +54,12 @@ const commands = { CUSTOM_ROLE: "custom-role" }; +/** + * Max length of the display names. If we receive longer display name the + * additional chars are going to be cut. + */ +const MAX_DISPLAYNAME_LENGTH = 50; + /** * Open Connection. When authentication failed it shows auth dialog. * @param roomName the room name to use @@ -281,15 +287,16 @@ function changeLocalEmail(email = '') { * @param nickname {string} the new display name */ function changeLocalDisplayName(nickname = '') { - nickname = nickname.trim(); + const formattedNickname + = nickname.trim().substr(0, MAX_DISPLAYNAME_LENGTH); - if (nickname === APP.settings.getDisplayName()) { + if (formattedNickname === APP.settings.getDisplayName()) { return; } - APP.settings.setDisplayName(nickname); - room.setDisplayName(nickname); - APP.UI.changeDisplayName(APP.conference.getMyUserId(), nickname); + APP.settings.setDisplayName(formattedNickname); + room.setDisplayName(formattedNickname); + APP.UI.changeDisplayName(APP.conference.getMyUserId(), formattedNickname); } class ConferenceConnector { @@ -1268,8 +1275,10 @@ export default { }); room.on(ConferenceEvents.DISPLAY_NAME_CHANGED, (id, displayName) => { - APP.API.notifyDisplayNameChanged(id, displayName); - APP.UI.changeDisplayName(id, displayName); + const formattedDisplayName + = displayName.substr(0, MAX_DISPLAYNAME_LENGTH); + APP.API.notifyDisplayNameChanged(id, formattedDisplayName); + APP.UI.changeDisplayName(id, formattedDisplayName); }); room.on(ConferenceEvents.PARTICIPANT_PROPERTY_CHANGED,