Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 0.61.1 #9721

Merged
merged 8 commits into from
Feb 14, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM rocketchat/base:8

ENV RC_VERSION 0.61.0
ENV RC_VERSION 0.61.1

MAINTAINER buildmaster@rocket.chat

Expand Down
2 changes: 1 addition & 1 deletion .sandstorm/sandstorm-pkgdef.capnp
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ const pkgdef :Spk.PackageDefinition = (

appVersion = 62, # Increment this for every release.

appMarketingVersion = (defaultText = "0.61.0"),
appMarketingVersion = (defaultText = "0.61.1"),
# Human-readable representation of appVersion. Should match the way you
# identify versions of your app in documentation and marketing.

Expand Down
2 changes: 1 addition & 1 deletion .travis/snap.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ elif [[ $TRAVIS_TAG ]]; then
RC_VERSION=$TRAVIS_TAG
else
CHANNEL=edge
RC_VERSION=0.61.0
RC_VERSION=0.61.1
fi

echo "Preparing to trigger a snap release for $CHANNEL channel"
Expand Down
17 changes: 17 additions & 0 deletions HISTORY.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
<a name="0.61.1"></a>
## 0.61.1 (2018-02-14)


### Bug Fixes

- [#9714](https://github.com/RocketChat/Rocket.Chat/pull/9714) Close Livechat conversation by visitor not working in version 0.61.0
- [#9639](https://github.com/RocketChat/Rocket.Chat/pull/9639) Desktop notification not showing when avatar came from external storage service
- [#9640](https://github.com/RocketChat/Rocket.Chat/pull/9640) Facebook integration in livechat not working on version 0.61.0
- [#9067](https://github.com/RocketChat/Rocket.Chat/pull/9067) Formal pronouns and some small mistakes in German texts
- [#9716](https://github.com/RocketChat/Rocket.Chat/pull/9716) GitLab OAuth does not work when GitLab’s URL ends with slash
- [#9720](https://github.com/RocketChat/Rocket.Chat/pull/9720) Messages can't be quoted sometimes
- [#9626](https://github.com/RocketChat/Rocket.Chat/pull/9626) Missing string 'There_are_no_applications' on the OAuth Apps Page
- [#9623](https://github.com/RocketChat/Rocket.Chat/pull/9623) Weird rendering of emojis at sidebar when `last message` is activated



<a name="0.61.0"></a>
# 0.61.0 (2018-01-27)

Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Rocket.Chat",
"description": "The Ultimate Open Source WebChat Platform",
"version": "0.61.0",
"version": "0.61.1",
"author": {
"name": "Rocket.Chat",
"url": "https://rocket.chat/"
Expand Down
2 changes: 2 additions & 0 deletions packages/rocketchat-emoji-emojione/client/sprites.css
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@
}

.emojione.big {
display: inline-block !important;

width: 44px;
height: 44px;
}
Expand Down
4 changes: 2 additions & 2 deletions packages/rocketchat-gitlab/common.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,15 @@ const Gitlab = new CustomOAuth('gitlab', config);
if (Meteor.isServer) {
Meteor.startup(function() {
RocketChat.settings.get('API_Gitlab_URL', function(key, value) {
config.serverURL = value;
config.serverURL = value.trim().replace(/\/*$/, '');
Gitlab.configure(config);
});
});
} else {
Meteor.startup(function() {
Tracker.autorun(function() {
if (RocketChat.settings.get('API_Gitlab_URL')) {
config.serverURL = RocketChat.settings.get('API_Gitlab_URL');
config.serverURL = RocketChat.settings.get('API_Gitlab_URL').trim().replace(/\/*$/, '');
Gitlab.configure(config);
}
});
Expand Down
40 changes: 20 additions & 20 deletions packages/rocketchat-i18n/i18n/de.i18n.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
"Accounts_Default_User_Preferences_mobileNotifications": "Mobile Benachrichtigungen bei",
"Accounts_denyUnverifiedEmail": "Nicht verifizierte E-Mail-Adressen ablehnen",
"Accounts_EmailVerification": "E-Mail-Verifizierung",
"Accounts_EmailVerification_Description": "Um diese Funktion nutzen zu können, stell bitte sicher, dass Deine SMTP-Einstellungen korrekt sind.",
"Accounts_EmailVerification_Description": "Um diese Funktion nutzen zu können, stellen Sie bitte sicher, dass Ihre SMTP-Einstellungen korrekt sind.",
"Accounts_Enrollment_Email": "Registrierungsmail",
"Accounts_Enrollment_Email_Default": "<h2> Willkommen zu <h1>[Site_Name]</h1></h2><p>Besuche [Site_URL] und probiere noch heute die beste Open-Source-Chat-Lösung aus.</p>",
"Accounts_Enrollment_Email_Description": "Sie können die folgenden Platzhalter verwenden: <br/><ul><li> [name], [fname], [lname] für den vollständigen Namen, Vornamen oder Nachnamen des Benutzers. </li><li> [email] für die E-Mail-Adresse des Benutzers. </li><li> [Site_Name] und [Site_URL] für den Anwendungsnamen und die URL. </li></ul>",
Expand Down Expand Up @@ -774,12 +774,12 @@
"Hidden": "Versteckt",
"Hide_Avatars": "Avatare verstecken",
"Hide_flextab": "Rechte Seitenleiste über Klick verstecken",
"Hide_Group_Warning": "Sind sie sicher, dass Sie die Gruppe \"%s\" verstecken wollen?",
"Hide_Group_Warning": "Sind Sie sicher, dass Sie die Gruppe \"%s\" verstecken wollen?",
"Hide_Livechat_Warning": "Sind Sie sich sicher, dass Sie den Livechat mit \"%s\" ausblenden wollen?",
"Hide_Private_Warning": "Sind sie sicher, dass Sie das Gespräch mit \"%s\" verstecken wollen?",
"Hide_Private_Warning": "Sind Sie sicher, dass Sie das Gespräch mit \"%s\" verstecken wollen?",
"Hide_roles": "Rollen nicht anzeigen",
"Hide_room": "Raum verstecken",
"Hide_Room_Warning": "Sind sie sicher, dass Sie den Raum \"%s\" verstecken wollen?",
"Hide_Room_Warning": "Sind Sie sicher, dass Sie den Raum \"%s\" verstecken wollen?",
"Hide_Unread_Room_Status": "Ungelesen-Status des Raums nicht anzeigen",
"Hide_usernames": "Benutzernamen ausblenden",
"Highlights": "Hervorhebungen",
Expand All @@ -796,8 +796,8 @@
"How_satisfied_were_you_with_this_chat": "Wie zufrieden warst Du mit diesem Chat?",
"How_to_handle_open_sessions_when_agent_goes_offline": "Behandlung von offenen Konversationen, wenn ein Agent Offline geht",
"If_this_email_is_registered": "Wenn es sich um eine registrierte E-Mail-Adresse handelt, werden wir an diese eine Anleitung zum Zurücksetzen des Passworts senden. Sollten Sie in Kürzen keine E-Mail erhalten, kommen Sie wieder und versuchen Sie es noch einmal.",
"If_you_are_sure_type_in_your_password": "Wenn Sie sich sicher sind, geben Sie ihr Passwort ein:",
"If_you_are_sure_type_in_your_username": "Wenn Du Dir sicher bist, gib Deinen Benutzernamen ein:",
"If_you_are_sure_type_in_your_password": "Wenn Sie sich sicher sind, geben Sie Ihr Passwort ein:",
"If_you_are_sure_type_in_your_username": "Wenn Sie sich sicher sind, geben Sie Ihren Benutzernamen ein:",
"Iframe_Integration": "Iframe-Integration",
"Iframe_Integration_receive_enable": "Empfang zulassen",
"Iframe_Integration_receive_enable_Description": "Erlaube dem übergeordneten Fenster (parent window) Befehle an Rocket.Chat zu senden.",
Expand Down Expand Up @@ -997,7 +997,7 @@
"LDAP_Default_Domain_Description": "Wenn eine Standard-Domäne angegeben wurde, wird diese zur Erzeugung von E-Mail-Adressen verwendet, sofern keine E-Mail-Adresse aus dem LDAP importiert wurde. Die E-Mail wird konstruiert als `benutzername@standard-domäne` oder `unique_id@standard-domäne`<br/>Beispiel: `rocket.chat`",
"LDAP_Description": "LDAP ist eine hierarchische Datenbank, die viele Unternehmen nutzen, um eine eine Einmalanmeldung (SSO) zu ermöglichen. Über SSO kann \"ein Benutzer nach einer einmaligen Authentifizierung an einem Arbeitsplatz auf alle Rechner und Dienste, für die er lokal berechtigt ist, am selben Arbeitsplatz zugreifen kann, ohne sich jedes Mal neu anmelden zu müssen\". Genauere Informationen zur Konfiguration von LDAP mit Konfigurationsbeispielen erhalten Sie unter folgendem Link: https://rocket.chat/docs/administrator-guides/authentication/ldap/",
"LDAP_BaseDN": "Base DN",
"LDAP_BaseDN_Description": "Der volle Distinguished Name (DN) von einem LDAP-Unterverzeichnis, den Sie nach Benutzern und Gruppen durchsuchen möchten. Sie können so viele hinzufügen wie sie möchten. Jede Gruppe muss aber der selben Domainbasis angehören, in der sich die Benutzer befindet. Beispiel: `ou=Users+ou=Projects,dc=Example,dc=com`. Wenn Sie beschränkte Nutzergruppen angeben, werden nur Benutzer, die diesen Gruppen angehören, berücksichtig. Wir empfehlen, die oberste Ebene des LDAP-Verzeichnisbaums als Domainbasis anzugeben und Suchfilter zu verwenden, um Einschränkungen vorzunehmen.",
"LDAP_BaseDN_Description": "Der volle Distinguished Name (DN) von einem LDAP-Unterverzeichnis, den Sie nach Benutzern und Gruppen durchsuchen möchten. Sie können so viele hinzufügen, wie Sie möchten. Jede Gruppe muss aber der selben Domainbasis angehören, in der sich die Benutzer befinden. Wenn Sie beschränkte Nutzergruppen angeben, werden nur Benutzer, die diesen Gruppen angehören, berücksichtigt. Wir empfehlen, die oberste Ebene des LDAP-Verzeichnisbaums als Domainbasis anzugeben und Suchfilter zu verwenden, um Einschränkungen vorzunehmen.",
"LDAP_User_Search_Field": "Suchfeld",
"LDAP_User_Search_Field_Description": "Das LDAP-Attribut, welches den LDAP-Benutzer identifiziert, der sich zu authentifizieren versucht. Das Feld ist für die meisten Active-Directory-Installationen `sAMAccountName`, für andere LDAP-Lösungen wie OpenLDAP kann dieses jedoch auch `uid` sein. Sie können aber auch `mail` verwenden, um Benutzer mit Ihrer E-Mail-Adresse zu identifizieren - oder jedes Attribut, das Sie möchten. <br/>Sie können mehrere Werte, getrennt mit Kommata, verwenden, um es Benutzern zu erlauben, sich mit mehreren Kennungen anzumelden, wie zum Beispiel einem Benutzernamen und der E-Mail-Adresse.",
"LDAP_User_Search_Filter": "Filter",
Expand Down Expand Up @@ -1066,11 +1066,11 @@
"LDAP_Username_Field_Description": "Geben Sie an, welches Feld als *Benutzername* für neue Benutzer verwendet werden soll. Lassen Sie das Feld leer, um den Nutzernamen zu verwenden, der auf der Anmeldeseite verwendet wird.<br/>Es können auch Template-Tags wie `#{givenNamen}.#{sn}` verwendet werden.<br/>Der Standardwert ist `sAMAccountName`.",
"Execute_Synchronization_Now": "Jetzt eine Synchronisierung ausführen",
"Least_Amount": "Geringste Anzahl",
"Leave_Group_Warning": "Sind sie sicher, dass Sie die Gruppe \"%s\" verlassen wollen?",
"Leave_Group_Warning": "Sind Sie sicher, dass Sie die Gruppe \"%s\" verlassen wollen?",
"Leave_Livechat_Warning": "Sind Sie sich sicher, dass Sie den Livechat mit \"%s\" verlassen wollen?",
"Leave_Private_Warning": "Sind sie sicher, dass Sie das Gespräch mit \"%s\" verlassen wollen?",
"Leave_Private_Warning": "Sind Sie sicher, dass Sie das Gespräch mit \"%s\" verlassen wollen?",
"Leave_room": "Raum verlassen",
"Leave_Room_Warning": "Sind sie sicher, dass Sie den Raum \"%s\" verlassen wollen?",
"Leave_Room_Warning": "Sind Sie sicher, dass Sie den Raum \"%s\" verlassen wollen?",
"Leave_the_current_channel": "Aktuellen Kanal verlassen",
"line": "Zeile",
"List_of_Channels": "Liste der Kanäle",
Expand Down Expand Up @@ -1177,7 +1177,7 @@
"Message_AllowStarring": "Erlaube es, Nachrichten als Favoriten zu markieren",
"Message_AllowUnrecognizedSlashCommand": "Unerkannte Slash-Kommandos erlauben",
"Message_AlwaysSearchRegExp": "Beim Suchen immer reguläre Ausdrücke verwenden",
"Message_AlwaysSearchRegExp_Description": "Wir empfehlen diese Option, wenn ihre Sprache in der <a target=\"_blank\" href=\"https://docs.mongodb.org/manual/reference/text-search-languages/#text-search-languages\">MongoDB-Textsuche</a> nicht unterstützt wird.",
"Message_AlwaysSearchRegExp_Description": "Wir empfehlen diese Option, wenn Ihre Sprache in der <a target=\"_blank\" href=\"https://docs.mongodb.org/manual/reference/text-search-languages/#text-search-languages\">MongoDB-Textsuche</a> nicht unterstützt wird.",
"Message_Attachments": "Nachrichten-Anhänge",
"Message_Attachments_GroupAttach": "Schaltflächen für Anhänge gruppieren",
"Message_Attachments_GroupAttachDescription": "Dies sorgt dafür, dass die Schaltflächen in einem erweiterbaren Menü untergebracht werden. So wird weniger Bildschirmplatz benötigt.",
Expand Down Expand Up @@ -1253,7 +1253,7 @@
"Name_cant_be_empty": "Es muss ein Name angegeben werden",
"Name_of_agent": "Name des Agenten",
"Name_optional": "Name (optional)",
"Name_Placeholder": "Bitte geben sie Ihren Namen ein",
"Name_Placeholder": "Bitte geben Sie Ihren Namen ein",
"Navigation_History": "Navigationsverlauf",
"New_Application": "Neue Anwendung",
"New_Custom_Field": "Neues benutzerdefiniertes Feld",
Expand Down Expand Up @@ -1405,7 +1405,7 @@
"Please_wait_activation": "Bitte warten, das kann einige Zeit in Anspruch nehmen",
"Please_wait_while_OTR_is_being_established": "Bitte warten Sie, während OTR gestartet wird",
"Please_wait_while_your_account_is_being_deleted": "Bitte warten Sie, während Ihr Konto gelöscht wird",
"Please_wait_while_your_profile_is_being_saved": "Bitte warten Sie, während ihr Profil gespeichert wird",
"Please_wait_while_your_profile_is_being_saved": "Bitte warten Sie, während Ihr Profil gespeichert wird",
"Port": "Port",
"post-readonly": "Schreibgeschützt posten",
"post-readonly_description": "Berechtigung, in einen schreibgeschützten Kanal zu posten",
Expand Down Expand Up @@ -1946,9 +1946,9 @@
"Validate_email_address": "E-Mail-Adresse bestätigen",
"Verification": "Überprüfung ",
"Verification_Description": "Sie können die folgenden Platzhalter verwenden: <br/><ul><li>[[Verification_Url] für die Verifikations-URL</li><li>[name], [fname], [lname] für den vollständigen Namen, Vornamen oder Nachnamen des Benutzers</li><li>[email] für die E-Mail-Adresse des Benutzers.</li><li>[Site_Name] und [Site_URL] für den Anwendungsnamen und die URL der Anwendung</li></ul>",
"Verification_Email": "Klicken Sie <a href=\"[Verification_Url]\">hier</a>, um ihr Benutzerkonto zu bestätigen",
"Verification_Email": "Klicken Sie <a href=\"[Verification_Url]\">hier</a>, um Ihr Benutzerkonto zu bestätigen",
"Verification_email_sent": "Bestätigungsmail gesendet",
"Verification_Email_Subject": "[Site_Name] - Bestätigen Sie ihr Benutzerkonto",
"Verification_Email_Subject": "[Site_Name] - Bestätigen Sie Ihr Benutzerkonto",
"Verified": "Überprüft",
"Verify": "überprüfen",
"Version": "Version",
Expand Down Expand Up @@ -2045,22 +2045,22 @@
"You_must_join_to_view_messages_in_this_channel": "Sie müssen dem Kanal beitreten, um Nachrichten darin lesen zu können",
"You_need_confirm_email": "Sie müssen Ihre E-Mail-Adresse bestätigen, um sich anmelden zu können",
"You_need_install_an_extension_to_allow_screen_sharing": "Sie müssen eine Erweiterung installieren, um eine Bildschirmübertragung zu starten",
"You_need_to_change_your_password": "Sie müssen ihr Passwort ändern",
"You_need_to_type_in_your_password_in_order_to_do_this": "Um diese Aktion auszuführen, müssen sie Ihr Passwort eingeben",
"You_need_to_change_your_password": "Sie müssen Ihr Passwort ändern",
"You_need_to_type_in_your_password_in_order_to_do_this": "Um diese Aktion auszuführen, müssen Sie Ihr Passwort eingeben",
"You_need_to_type_in_your_username_in_order_to_do_this": "Sie müssen Ihren Benutzernamen angeben, um diese Aktion auszuführen",
"You_need_to_verifiy_your_email_address_to_get_notications": "Sie müssen Ihre E-Mail-Adresse bestätigen, um Benachrichtigungen erhalten zu können",
"You_need_to_write_something": "Du solltest etwas schreiben!",
"You_should_inform_one_url_at_least": "Sie müssen mindestens eine URL angeben",
"You_should_name_it_to_easily_manage_your_integrations": "Zur einfacheren Verwaltung der Integrationen empfehlen wir, der Integration einen Namen zu geben.",
"You_will_not_be_able_to_recover": "Die Nachricht kann anschließend nicht wiederhergestellt werden",
"You_will_not_be_able_to_recover_file": "Das Wiederherstellen dieser Datei wird nicht möglich sein",
"You_wont_receive_email_notifications_because_you_have_not_verified_your_email": "Sie werden keine E-Mail-Benachrichtigungen erhalten, da Sie ihre E-Mail-Adresse nicht bestätigt haben",
"You_wont_receive_email_notifications_because_you_have_not_verified_your_email": "Sie werden keine E-Mail-Benachrichtigungen erhalten, da Sie Ihre E-Mail-Adresse nicht bestätigt haben",
"Your_email_has_been_queued_for_sending": "Ihre E-Mail wird in Kürze gesendet werden",
"Your_entry_has_been_deleted": "Ihr Eintrag wurde gelöscht",
"Your_file_has_been_deleted": "Ihre Datei wurde erfolgreich gelöscht",
"Your_mail_was_sent_to_s": "Ihre E-Mail wurde an %s gesendet",
"your_message": "ihre Nachricht",
"your_message_optional": "ihre optionale Nachricht",
"your_message": "Ihre Nachricht",
"your_message_optional": "Ihre optionale Nachricht",
"Your_password_is_wrong": "Falsches Passwort",
"Your_push_was_sent_to_s_devices": "Eine Push-Nachricht wurde an %s Geräte gesendet."
}
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ this.processWebhookMessage = function(messageObj, user, defaultValues = { channe
const message = {
alias: messageObj.username || messageObj.alias || defaultValues.alias,
msg: s.trim(messageObj.text || messageObj.msg || ''),
attachments: messageObj.attachments,
attachments: messageObj.attachments || [],
parseUrls: messageObj.parseUrls !== undefined ? messageObj.parseUrls : !messageObj.attachments,
bot: messageObj.bot,
groupable: (messageObj.groupable !== undefined) ? messageObj.groupable : false
Expand Down
2 changes: 1 addition & 1 deletion packages/rocketchat-lib/rocketchat.info
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"version": "0.61.0"
"version": "0.61.1"
}
11 changes: 6 additions & 5 deletions packages/rocketchat-livechat/imports/server/rest/facebook.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
import crypto from 'crypto';

import LivechatVisitors from '../../../server/models/LivechatVisitors';

/**
* @api {post} /livechat/facebook Send Facebook message
* @apiName Facebook
Expand Down Expand Up @@ -52,17 +55,15 @@ RocketChat.API.v1.addRoute('livechat/facebook', {
}
}
};

let visitor = RocketChat.models.Users.getVisitorByToken(this.bodyParams.token);
let visitor = LivechatVisitors.getVisitorByToken(this.bodyParams.token);
if (visitor) {
const rooms = RocketChat.models.Rooms.findOpenByVisitorToken(visitor.profile.token).fetch();

const rooms = RocketChat.models.Rooms.findOpenByVisitorToken(visitor.token).fetch();
if (rooms && rooms.length > 0) {
sendMessage.message.rid = rooms[0]._id;
} else {
sendMessage.message.rid = Random.id();
}
sendMessage.message.token = visitor.profile.token;
sendMessage.message.token = visitor.token;
} else {
sendMessage.message.rid = Random.id();
sendMessage.message.token = this.bodyParams.token;
Expand Down
6 changes: 1 addition & 5 deletions packages/rocketchat-livechat/server/lib/Livechat.js
Original file line number Diff line number Diff line change
Expand Up @@ -215,10 +215,6 @@ RocketChat.Livechat = {
const now = new Date();

const closeData = {
user: {
_id: user._id,
username: user.username
},
closedAt: now,
chatDuration: (now.getTime() - room.ts) / 1000
};
Expand Down Expand Up @@ -251,7 +247,7 @@ RocketChat.Livechat = {
if (room.servedBy) {
RocketChat.models.Subscriptions.hideByRoomIdAndUserId(room._id, room.servedBy._id);
}
RocketChat.models.Messages.createCommandWithRoomIdAndUser('promptTranscript', room._id, closeData.user);
RocketChat.models.Messages.createCommandWithRoomIdAndUser('promptTranscript', room._id, closeData.closedBy);

Meteor.defer(() => {
RocketChat.callbacks.run('livechat.closeRoom', room);
Expand Down
6 changes: 2 additions & 4 deletions packages/rocketchat-livechat/server/models/LivechatInquiry.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,8 @@ class LivechatInquiry extends RocketChat.models._Base {
}, {
$set: {
status: 'closed',
closedBy: {
_id: closeInfo.user._id,
username: closeInfo.user.username
},
closer: closeInfo.closer,
closedBy: closeInfo.closedBy,
closedAt: closeInfo.closedAt,
chatDuration: closeInfo.chatDuration
}
Expand Down
2 changes: 1 addition & 1 deletion packages/rocketchat-livechat/server/sendMessageBySMS.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ RocketChat.callbacks.add('afterSaveMessage', function(message, room) {

const visitor = LivechatVisitors.getVisitorByToken(room.v.token);

if (!visitor || !visitor.profile || !visitor.phone || visitor.phone.length === 0) {
if (!visitor || !visitor.phone || visitor.phone.length === 0) {
return message;
}

Expand Down
2 changes: 1 addition & 1 deletion packages/rocketchat-oembed/server/jumpToMessage.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import QueryString from 'querystring';

const recursiveRemove = (message, deep = 1) => {
if (message) {
if ('attachments' in message && deep < RocketChat.settings.get('Message_QuoteChainLimit')) {
if ('attachments' in message && message.attachments !== null && deep < RocketChat.settings.get('Message_QuoteChainLimit')) {
message.attachments.map((msg) => recursiveRemove(msg, deep + 1));
} else {
delete(message.attachments);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,8 @@
}

.emoji.big {
display: inline-block !important;

width: 44px;
height: 44px;
}
6 changes: 5 additions & 1 deletion packages/rocketchat-ui/client/lib/avatar.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,11 @@ this.getAvatarAsPng = function(username, cb) {
canvas.height = image.height;
const context = canvas.getContext('2d');
context.drawImage(image, 0, 0);
return cb(canvas.toDataURL('image/png'));
try {
return cb(canvas.toDataURL('image/png'));
} catch (e) {
return cb('');
}
};
return image.onerror = function() {
return cb('');
Expand Down