This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/master by this push:
     new acfaaee  [OPENMEETINGS-2190] notification API for chat messages and 
a&a is used
acfaaee is described below

commit acfaaee88a19ee8ec9c1dcdf6d164b360784c71e
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Sat Nov 28 17:56:19 2020 +0700

    [OPENMEETINGS-2190] notification API for chat messages and a&a is used
---
 .../web/app/Application.properties.xml             |  2 +
 .../web/app/Application_ar.properties.xml          |  2 +
 .../web/app/Application_bg.properties.xml          |  2 +
 .../web/app/Application_bn.properties.xml          |  2 +
 .../web/app/Application_ca.properties.xml          |  2 +
 .../web/app/Application_cs.properties.xml          |  2 +
 .../web/app/Application_da.properties.xml          |  2 +
 .../web/app/Application_de.properties.xml          |  2 +
 .../web/app/Application_el.properties.xml          |  2 +
 .../web/app/Application_es.properties.xml          |  2 +
 .../web/app/Application_fa.properties.xml          |  2 +
 .../web/app/Application_fi.properties.xml          |  2 +
 .../web/app/Application_fr.properties.xml          |  2 +
 .../web/app/Application_gl.properties.xml          |  2 +
 .../web/app/Application_hi.properties.xml          |  2 +
 .../web/app/Application_hu.properties.xml          |  2 +
 .../web/app/Application_in.properties.xml          |  2 +
 .../web/app/Application_it.properties.xml          |  2 +
 .../web/app/Application_iw.properties.xml          | 55 ++++++++--------
 .../web/app/Application_ja.properties.xml          |  2 +
 .../web/app/Application_ko.properties.xml          |  2 +
 .../web/app/Application_ku.properties.xml          |  2 +
 .../web/app/Application_lo.properties.xml          |  2 +
 .../web/app/Application_nl.properties.xml          |  2 +
 .../web/app/Application_pl.properties.xml          |  2 +
 .../web/app/Application_pt.properties.xml          |  2 +
 .../web/app/Application_pt_BR.properties.xml       |  2 +
 .../web/app/Application_ru.properties.xml          |  2 +
 .../web/app/Application_sk.properties.xml          |  2 +
 .../web/app/Application_sv.properties.xml          |  2 +
 .../web/app/Application_ta.properties.xml          |  2 +
 .../web/app/Application_th.properties.xml          |  2 +
 .../web/app/Application_tk.properties.xml          |  2 +
 .../web/app/Application_tr.properties.xml          |  2 +
 .../web/app/Application_uk.properties.xml          |  2 +
 .../web/app/Application_zh_CN.properties.xml       |  2 +
 .../web/app/Application_zh_TW.properties.xml       |  2 +
 .../web/room/activities/ActivitiesPanel.html       |  2 +-
 .../apache/openmeetings/web/room/raw-activities.js | 29 +++++++--
 .../openmeetings/web/user/chat/ChatPanel.html      |  2 +-
 .../apache/openmeetings/web/user/chat/raw-chat.js  | 74 ++++++++++++----------
 41 files changed, 168 insertions(+), 66 deletions(-)

diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
index 67581c4..0a2a5f2 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
@@ -877,6 +877,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Bytes uploaded]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Upload speed]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Upload time]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clone]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[Numeric 1-10]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[Yes/No]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml
index b8e0948..719fb53 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml
@@ -877,6 +877,8 @@ see https://openmeetings.apache.org/LanguageEditor.html for 
Details
        <entry key="network.test.upl.bytes"><![CDATA[بايت تم تحميلها]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[سرعة الرفع]]></entry>
        <entry key="network.test.upl.time"><![CDATA[وقت التحميل]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[استنساخ]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[عددي من 1 الى 10]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[نعم / لا]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml
index ed6b339..64aa852 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml
@@ -877,6 +877,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Bytes uploaded]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Upload speed]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Upload time]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clone]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[Числов 1-10]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[Да/Не]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bn.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bn.properties.xml
index 30b6efc..68a009e 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bn.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bn.properties.xml
@@ -877,6 +877,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Bytes uploaded]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Upload speed]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Upload time]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clone]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[Numeric 1-10]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[Yes/No]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml
index 8dd97e7..ad87afc 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml
@@ -877,6 +877,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Bytes uploaded]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Upload speed]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Upload time]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clone]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[Valor numèric [1-10]]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[Sí/No]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml
index 069bfbf..7464c57 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml
@@ -877,6 +877,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Bytes uploaded]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Upload speed]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Upload time]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clone]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[Čísla 1-10]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[Ano/Ne]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml
index 5373a0c..c41cc55 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml
@@ -877,6 +877,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Bytes uploaded]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Upload speed]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Upload time]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clone]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[Numerisk 1-10]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[Ja/Nej]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml
index 6de171b..e77f59b 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml
@@ -883,6 +883,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Bytes 
hochgeladen]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Upload 
Geschwindigkeit]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Upload Zeit]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clonen]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[Numerisch 1-10]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[Ja/Nein]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml
index 9051aeb..4c4a326 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml
@@ -877,6 +877,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Bytes uploaded]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Upload speed]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Upload time]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clone]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[Αριθμός 1-10]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[Ναι/Όχι]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml
index ae60d46..d9fa6e7 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml
@@ -876,6 +876,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Bytes subidos]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Velocidad de 
subida]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Tiempo de subida]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clonar]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[Valor numérico [1-10]]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[Sí/No]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml
index 506e363..5e7a7c5 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml
@@ -874,6 +874,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[بایت  بارگذاری 
شده]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[سرعت بارگذاری]]></entry>
        <entry key="network.test.upl.time"><![CDATA[زمان بارگذاری]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clone]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[اعداد 10-1]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[خير/بله]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml
index 4faba42..3f8c39e 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml
@@ -877,6 +877,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Bytes uploaded]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Upload speed]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Upload time]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clone]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[Numeerinen 1-10]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[Kyllä/Ei]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml
index 1584946..4637c43 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml
@@ -878,6 +878,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Bytes uploaded]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Vitesse d'envoi]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Upload time]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clone]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[Numérique 1-10]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[Oui/Non]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml
index 389b6ee..cfdae9f 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml
@@ -877,6 +877,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Bytes uploaded]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Upload speed]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Upload time]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clone]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[Valor numérico 1-10]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[Sí/Non]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hi.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hi.properties.xml
index 3dd58e1..65af618 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hi.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hi.properties.xml
@@ -877,6 +877,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Bytes uploaded]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Upload speed]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Upload time]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clone]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[राशि (१-१०)]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[Yes/No]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml
index 3cbd5af..0f9cb94 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml
@@ -866,6 +866,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Bytes uploaded]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Upload speed]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Upload time]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clone]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[Szám 1-10]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[Igen/Nem]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_in.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_in.properties.xml
index a92914b..250a663 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_in.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_in.properties.xml
@@ -877,6 +877,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Bytes uploaded]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Upload speed]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Upload time]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clone]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[Angka dari 1-10]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[Ya/Tidak]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml
index 63e4dca..7543c8d 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml
@@ -879,6 +879,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Bytes caricati]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Velocità Upload]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Tempo Upload]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clone]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[Numerico 1-10]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[Si/No]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_iw.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_iw.properties.xml
index b306b1c..0a2a5f2 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_iw.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_iw.properties.xml
@@ -317,7 +317,7 @@ see https://openmeetings.apache.org/LanguageEditor.html for 
Details
        <entry key="879"><![CDATA[Allow user questions]]></entry>
        <entry key="880"><![CDATA[Turn this off to prevent any user from 
disturbing you in this room]]></entry>
        <entry key="881"><![CDATA[Rights]]></entry>
-       <entry key="887"><![CDATA[The have been errors while processing the 
recording]]></entry>
+       <entry key="887"><![CDATA[There were errors in processing the 
recording]]></entry>
        <entry key="888"><![CDATA[The recording is not yet ready to 
watch]]></entry>
        <entry key="923"><![CDATA[Home drive size]]></entry>
        <entry key="924"><![CDATA[Public drive size]]></entry>
@@ -330,7 +330,7 @@ see https://openmeetings.apache.org/LanguageEditor.html for 
Details
        <entry key="1065"><![CDATA[System Backup. The backup includes are user 
generated data but does not include configuration or language labels since 
those are imported with the system installer. To update your system, export 
your old system (1) re-install the new package into a new database (2) and 
import the backup file again (3). The backup should be imported before 
generating data in the newly installed system.]]></entry>
        <entry key="1066"><![CDATA[System backup]]></entry>
        <entry key="1076"><![CDATA[Audio only room]]></entry>
-       <entry key="1077"><![CDATA[Turn this flag on and the users will have 
only the audio option and no video in a conference room. This can bee good to 
save bandwidth.]]></entry>
+       <entry key="1077"><![CDATA[Turn this flag on and the users will have 
only the audio option and no video in a conference room. This can be good to 
save bandwidth.]]></entry>
        <entry key="1089"><![CDATA[Quality of the screen share:]]></entry>
        <entry key="1098"><![CDATA[The webinar is already closed, you will be 
redirected to some interesting offerings in]]></entry>
        <entry key="1099"><![CDATA[Close room]]></entry>
@@ -344,7 +344,7 @@ see https://openmeetings.apache.org/LanguageEditor.html for 
Details
        <entry key="1110"><![CDATA[Inserted]]></entry>
        <entry key="1111"><![CDATA[Inserted by]]></entry>
        <entry key="1112"><![CDATA[Updated]]></entry>
-       <entry key="1114"><![CDATA[The config files are in the folder 
webapps/openmeetings/conf. You need to manually upload the files to this 
folder. Changes to the config file are immediately online.]]></entry>
+       <entry key="1114"><![CDATA[The config files are in the folder 
OM_DATA_FOLDER/conf. You need to manually upload the files to this folder. 
Changes to the config file are immediately online.]]></entry>
        <entry key="1115"><![CDATA[Config file name]]></entry>
        <entry key="1116"><![CDATA[If you enable "Add Domain to Username" the 
value of the field "domain" is added to each login that the user enters in the 
login box. This is useful if the login in the LDAP is stored including the 
domain name. Example: user enters "hans" domain is specified as 
"localhost.com", login that is verified against LDAP is: 
[email protected]]]></entry>
        <entry key="1117"><![CDATA[Add domain to user name]]></entry>
@@ -423,7 +423,7 @@ see https://openmeetings.apache.org/LanguageEditor.html for 
Details
        <entry key="1261"><![CDATA[Add]]></entry>
        <entry key="1262"><![CDATA[Delete folder]]></entry>
        <entry key="1268"><![CDATA[The user does not share personal contact 
data.]]></entry>
-       <entry key="1269"><![CDATA[The user does share his personal contact 
data only to contacts.]]></entry>
+       <entry key="1269"><![CDATA[The user shares their personal contact data 
only to contacts.]]></entry>
        <entry key="1287"><![CDATA[Choose your nick name]]></entry>
        <entry key="1296"><![CDATA[Member since]]></entry>
        <entry key="1301"><![CDATA[New private message:]]></entry>
@@ -431,9 +431,9 @@ see https://openmeetings.apache.org/LanguageEditor.html for 
Details
        <entry key="1308"><![CDATA[Owner ID]]></entry>
        <entry key="1312"><![CDATA[Load directly to the Whiteboard]]></entry>
        <entry key="1313"><![CDATA[Do you really want to remove this 
whiteboard? This action cannot be undone.]]></entry>
-       <entry key="1315"><![CDATA[Do not forget to 'Start recording', if you 
want have the meeting recorded."]]></entry>
+       <entry key="1315"><![CDATA[Do not forget to 'Start recording', if you 
want to have the meeting recorded.]]></entry>
        <entry key="1316"><![CDATA[Start recording]]></entry>
-       <entry key="1323"><![CDATA[Cliparts]]></entry>
+       <entry key="1323"><![CDATA[Clip arts]]></entry>
        <entry key="1340"><![CDATA[Do you really want to delete the complete 
content on the whiteboard?]]></entry>
        <entry key="1355"><![CDATA[Allow recording]]></entry>
        <entry key="1356"><![CDATA[Wait for recording]]></entry>
@@ -462,7 +462,7 @@ see https://openmeetings.apache.org/LanguageEditor.html for 
Details
        <entry key="1448"><![CDATA[Call]]></entry>
        <entry key="1450"><![CDATA[Your home!]]></entry>
        <entry key="1451"><![CDATA[Plan your meetings]]></entry>
-       <entry key="1452"><![CDATA[Watch recording and interviews]]></entry>
+       <entry key="1452"><![CDATA[Watch recordings and interviews]]></entry>
        <entry key="1454"><![CDATA[Manage users and rights]]></entry>
        <entry key="1455"><![CDATA[Manage connections and kick users]]></entry>
        <entry key="1456"><![CDATA[Manage usergroups]]></entry>
@@ -487,7 +487,7 @@ see https://openmeetings.apache.org/LanguageEditor.html for 
Details
        <entry key="1500"><![CDATA[Server Name]]></entry>
        <entry key="1504"><![CDATA[Publishing. User:]]></entry>
        <entry key="1505"><![CDATA[To save time and internet traffic you can 
use command line admin to backup/restore/upgrade: <ol> <li>go to OM install dir 
(for ex. /opt/om)</li> <li>stop OM (for ex. ./bin/shutdown.sh)</li> 
<li>./admin.sh -b -file ~/today_om_backup.zip (create backup of current 
OM)</li> <li>download archive with new OM</li> <li>mv /opt/om /opt/om.bak (move 
working version of OM just in case :))</li> <li>extract downloaded OM to the 
/opt/om</li> <li>./admin.sh -i -file ~/today_ [...]
-       <entry key="1506"><![CDATA[Rooms common to all user]]></entry>
+       <entry key="1506"><![CDATA[Rooms common to all users]]></entry>
        <entry key="1507"><![CDATA[Rooms common to the current user 
group]]></entry>
        <entry key="1508"><![CDATA[Rooms of the current user]]></entry>
        <entry key="1509"><![CDATA[Create/Modify appointment special 
room]]></entry>
@@ -580,8 +580,8 @@ see https://openmeetings.apache.org/LanguageEditor.html for 
Details
        <entry key="admin.purge.desc"><![CDATA[Do you really want to purge this 
item? This can't be undone!]]></entry>
        <entry key="admin.restore"><![CDATA[Restore]]></entry>
        <entry key="admin.room.hidden.elements"><![CDATA[Hidden room 
elements]]></entry>
-       <entry key="admin.room.wait-moderator.info"><![CDATA[No one can use 
room until moderator will join]]></entry>
-       <entry key="admin.room.wait-moderator.label"><![CDATA[Wait 
moderator]]></entry>
+       <entry key="admin.room.wait-moderator.info"><![CDATA[No one can use the 
room until moderator has joined]]></entry>
+       <entry key="admin.room.wait-moderator.label"><![CDATA[Wait for a 
moderator]]></entry>
        <entry key="appointment.reminder.EMAIL"><![CDATA[simple email]]></entry>
        <entry key="appointment.reminder.ICAL"><![CDATA[iCal email]]></entry>
        <entry key="appointment.reminder.NONE"><![CDATA[do not send 
notification]]></entry>
@@ -607,7 +607,7 @@ see https://openmeetings.apache.org/LanguageEditor.html for 
Details
        <entry key="camera.on"><![CDATA[Camera is on. Click to turn 
off.]]></entry>
        <entry key="captcha.text"><![CDATA[Captcha text]]></entry>
        <entry key="close.settings.tab"><![CDATA[After saving your audio and 
video settings you may close this browser tab.]]></entry>
-       <entry key="convert.errors.file"><![CDATA[The have been errors while 
processing the file]]></entry>
+       <entry key="convert.errors.file"><![CDATA[There were errors while 
processing the file]]></entry>
        <entry key="convert.errors.file.missing"><![CDATA[File is not 
found]]></entry>
        <entry key="current.password"><![CDATA[Current password]]></entry>
        <entry 
key="dashboard.widget.admin.cleanup.backup"><![CDATA[backup:]]></entry>
@@ -657,10 +657,10 @@ see https://openmeetings.apache.org/LanguageEditor.html 
for Details
        <entry key="files.download.pdf"><![CDATA[PDF]]></entry>
        <entry key="files.root.group"><![CDATA[Group files]]></entry>
        <entry key="find.user"><![CDATA[Find user]]></entry>
-       <entry key="goto.first"><![CDATA[goto first]]></entry>
-       <entry key="goto.last"><![CDATA[goto last]]></entry>
-       <entry key="goto.next"><![CDATA[goto next]]></entry>
-       <entry key="goto.prev"><![CDATA[goto previous]]></entry>
+       <entry key="goto.first"><![CDATA[Go to first]]></entry>
+       <entry key="goto.last"><![CDATA[Go to last]]></entry>
+       <entry key="goto.next"><![CDATA[Go to next]]></entry>
+       <entry key="goto.prev"><![CDATA[Go to previous]]></entry>
        <entry key="install.room.conference.micro"><![CDATA[Conference room 
with microphone option set]]></entry>
        <entry key="install.room.presentation.micro"><![CDATA[Presentation room 
with microphone option set]]></entry>
        <entry key="install.room.private.conference"><![CDATA[Private 
Conference Room]]></entry>
@@ -669,8 +669,7 @@ see https://openmeetings.apache.org/LanguageEditor.html for 
Details
        <entry key="install.room.public.presentation"><![CDATA[Public 
Presentation Room]]></entry>
        <entry key="install.room.public.video.only"><![CDATA[Public Video Only 
Room]]></entry>
        <entry key="install.room.public.video.wb"><![CDATA[Public Video And 
Whiteboard Room]]></entry>
-       <entry key="install.wizard.congrats.commercial"><![CDATA[There are some 
companies
-                       that also offer commercial support for Apache 
OpenMeetings:]]></entry>
+       <entry key="install.wizard.congrats.commercial"><![CDATA[There are some 
companies that offer commercial support for Apache OpenMeetings:]]></entry>
        <entry key="install.wizard.congrats.enter"><![CDATA[Enter the 
Application]]></entry>
        <entry key="install.wizard.congrats.mail"><![CDATA[Mailing 
list]]></entry>
        <entry key="install.wizard.congrats.restart"><![CDATA[Database was 
changed, please restart application to avoid possible issues]]></entry>
@@ -691,7 +690,7 @@ see https://openmeetings.apache.org/LanguageEditor.html for 
Details
        <entry key="install.wizard.db.step.instructions.postgresql"><![CDATA[<a 
target="_blank" 
href="https://openmeetings.apache.org/PostgresConfig.html";>PostgreSql</a>]]></entry>
        <entry key="install.wizard.db.step.mssql.name"><![CDATA[MSSQL]]></entry>
        <entry key="install.wizard.db.step.mysql.name"><![CDATA[MySQL]]></entry>
-       <entry key="install.wizard.db.step.nodriver"><![CDATA[Unable to load 
proper DB driver, please download appropriate jar file, and restart the OM. 
Instructions: {0}]]></entry>
+       <entry key="install.wizard.db.step.nodriver"><![CDATA[Cannot load the 
proper DB driver. Please download the corresponding jar file and restart the OM 
server. Instructions: {0}]]></entry>
        <entry key="install.wizard.db.step.note"><![CDATA[<h4>
                        <a 
id="Recommendation_for_production_environment"></a>Recommendation
                        for production environment<a target="_blank"
@@ -714,7 +713,7 @@ see https://openmeetings.apache.org/LanguageEditor.html for 
Details
        <entry key="install.wizard.db.step.user"><![CDATA[Specify DB 
user]]></entry>
        <entry key="install.wizard.db.step.valid"><![CDATA[Database check was 
successfull]]></entry>
        <entry key="install.wizard.install.desc"><![CDATA[Please click "Finish" 
button to start installation!]]></entry>
-       <entry key="install.wizard.install.failed"><![CDATA[Installation is 
failed]]></entry>
+       <entry key="install.wizard.install.failed"><![CDATA[Installation has 
failed]]></entry>
        <entry key="install.wizard.install.started"><![CDATA[Please wait, 
installation in progress]]></entry>
        <entry 
key="install.wizard.installation"><![CDATA[Installation]]></entry>
        <entry key="install.wizard.params.step1.email.title"><![CDATA[Enter a 
EMail]]></entry>
@@ -724,7 +723,7 @@ see https://openmeetings.apache.org/LanguageEditor.html for 
Details
        <entry 
key="install.wizard.params.step1.password"><![CDATA[Userpass]]></entry>
        <entry key="install.wizard.params.step1.password.title"><![CDATA[Enter 
a password]]></entry>
        <entry key="install.wizard.params.step1.tz"><![CDATA[User Time 
Zone]]></entry>
-       <entry 
key="install.wizard.params.step1.userdata"><![CDATA[Userdata]]></entry>
+       <entry key="install.wizard.params.step1.userdata"><![CDATA[User 
data]]></entry>
        <entry 
key="install.wizard.params.step1.username"><![CDATA[Username]]></entry>
        <entry key="install.wizard.params.step1.username.title"><![CDATA[Enter 
a username]]></entry>
        <entry 
key="install.wizard.params.step2.allowFrontendRegister"><![CDATA[Allow 
self-registering]]></entry>
@@ -755,9 +754,9 @@ see https://openmeetings.apache.org/LanguageEditor.html for 
Details
        <entry 
key="install.wizard.params.step3.docQuality.title"><![CDATA[Enter the quality 
of embedded jpeg pictures to quality. 0 is worst (small), 100 is best (big). 
(default:90)]]></entry>
        <entry key="install.wizard.params.step3.ffmpegPath"><![CDATA[FFMPEG 
Path]]></entry>
        <entry 
key="install.wizard.params.step3.ffmpegPath.text"><![CDATA[Install fresh and 
up-to-date FFMpeg.]]></entry>
-       <entry 
key="install.wizard.params.step3.ffmpegPath.title"><![CDATA[Enter the path to 
FFMPEG, leave blank if FFMPEG is successfully installed to 
system-path]]></entry>
+       <entry 
key="install.wizard.params.step3.ffmpegPath.title"><![CDATA[Enter the path to 
FFMPEG, leave blank if FFMPEG is installed to system-path]]></entry>
        <entry 
key="install.wizard.params.step3.imageMagicPath"><![CDATA[ImageMagick 
Path]]></entry>
-       <entry 
key="install.wizard.params.step3.imageMagicPath.text"><![CDATA[Install 
ImageMagick on the server, you can get more information on 
http://www.imagemagick.org regarding installation. The instructions for 
installation can be found there 
http://www.imagemagick.org/script/binary-releases.php, however on most linux 
systems you can get it via your favorite package managers (apt-get 
it)]]></entry>
+       <entry 
key="install.wizard.params.step3.imageMagicPath.text"><![CDATA[Install 
ImageMagick on the server, you can get more information on 
http://www.imagemagick.org regarding installation. The instructions for 
installation can be found here 
http://www.imagemagick.org/script/binary-releases.php, however on most linux 
systems you can get it via the system's package manager (apt-get, dnf, yum 
etc)]]></entry>
        <entry 
key="install.wizard.params.step3.imageMagicPath.title"><![CDATA[Enter the path 
to ImageMagick, leave blank if ImageMagick is successfully installed to 
system-path]]></entry>
        <entry 
key="install.wizard.params.step3.officePath"><![CDATA[OpenOffice/LibreOffice 
Path for jodconverter]]></entry>
        <entry key="install.wizard.params.step3.officePath.text"><![CDATA[The 
path to OpenOffice/LibreOffice (optional) please set this to the real path in 
case jodconverter is unable to find OpenOffice/LibreOffice 
installation]]></entry>
@@ -769,7 +768,7 @@ see https://openmeetings.apache.org/LanguageEditor.html for 
Details
        <entry key="install.wizard.params.step4.crypt"><![CDATA[Crypt 
Type]]></entry>
        <entry key="install.wizard.params.step4.cryptClassName"><![CDATA[Crypt 
Class]]></entry>
        <entry 
key="install.wizard.params.step4.cryptClassName.text"><![CDATA[You can use this 
default crypt type which is equal to
-               PHP-MD5 function or BSD-Style encryption by 
using:<b>org.apache.openmeetings.utils.crypt.MD5CryptImplementation</b>
+       RFC 7914 - The scrypt Password-Based Key Derivation 
Function:<b>org.apache.openmeetings.util.crypt.SCryptImplementation</b>
                for more information or to write your own Crypt-Style see: <a
                href="https://openmeetings.apache.org/CustomCryptMechanism.html";
                target="_blank">Custom Crypt Mechanism</a> You can edit this
@@ -851,7 +850,7 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="microphone.on"><![CDATA[Microphone is on. Click to turn 
off.]]></entry>
        <entry key="my.room.conference"><![CDATA[My conference room (for 1-16 
users)]]></entry>
        <entry key="my.room.presentation"><![CDATA[My presentation room (for 
1-120 users)]]></entry>
-       <entry key="network.test.click.play"><![CDATA[Click a play button to 
run a test]]></entry>
+       <entry key="network.test.click.play"><![CDATA[Click the play button to 
run a test]]></entry>
        <entry key="network.test.copy.log"><![CDATA[Copy the log to the 
clipboard]]></entry>
        <entry key="network.test.dwn"><![CDATA[Download speed]]></entry>
        <entry key="network.test.dwn.bytes"><![CDATA[Bytes downloaded]]></entry>
@@ -878,6 +877,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Bytes uploaded]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Upload speed]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Upload time]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clone]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[Numeric 1-10]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[Yes/No]]></entry>
@@ -910,7 +911,7 @@ Please visit {3} OM server and check them under Admin -> 
Groups]]></entry>
                in {1} days. If you would like to save this recording, please 
download it before then.]]></entry>
        <entry key="template.recording.expiring.footer"><![CDATA[Regards,<br/>
        {0} Support Team.]]></entry>
-       <entry key="template.recording.expiring.greetings"><![CDATA[Dear 
{0}]]></entry>
+       <entry key="template.recording.expiring.greetings"><![CDATA[Hello 
{0}]]></entry>
        <entry key="template.recording.expiring.subj.prefix"><![CDATA[Recording 
will be deleted]]></entry>
        <entry key="template.recording.expiring.subj.room"><![CDATA[ -- 
Room[{0}]]]></entry>
        <entry key="ulist.right.audio.grant"><![CDATA[Allow this user to use 
microphone]]></entry>
@@ -955,7 +956,7 @@ Please visit {3} OM server and check them under Admin -> 
Groups]]></entry>
        <entry key="video.permission.title"><![CDATA[Permission is 
required]]></entry>
        <entry key="video.settings.https.required"><![CDATA[Camera/microphone 
most probably will not work in insecure environment. Try using https.]]></entry>
        <entry key="volume.label"><![CDATA[Adjust volume]]></entry>
-       <entry key="wait-moderator.message"><![CDATA[Please wait until 
<b>moderator</b> will enter the room]]></entry>
+       <entry key="wait-moderator.message"><![CDATA[Please wait until a 
<b>moderator</b> enters the room]]></entry>
        <entry key="wait-moderator.title"><![CDATA[Please be patient 
...]]></entry>
        <entry key="warn.nogroup"><![CDATA[User added but you need to assign 
this user to a usergroup, otherwise they won't be able to log in]]></entry>
        <entry key="warn.notverified"><![CDATA[You have successfully signed up. 
An email with a verification code will be sent to your mailbox.]]></entry>
@@ -965,7 +966,7 @@ Please visit {3} OM server and check them under Admin -> 
Groups]]></entry>
        <entry key="wb.tool.white-out"><![CDATA[White-Out]]></entry>
        <entry key="widget.recent.desc"><![CDATA[This sections displays rooms 
recently opened by you]]></entry>
        <entry key="widget.recent.title"><![CDATA[Recent Rooms]]></entry>
-       <entry key="widget.start.desc"><![CDATA[{0}, your web conferencing 
platform. You can either follow the 1-2-3 steps to enter a conference room 
directly or you choose the Calendar to set up and plan a meeting.]]></entry>
+       <entry key="widget.start.desc"><![CDATA[{0}, your web conferencing 
platform. You can either follow the 1-2-3 steps to enter a conference room 
directly, or choose the Calendar to set up and plan a meeting.]]></entry>
        <entry key="widget.start.header"><![CDATA[Create a conference, 
quickly!]]></entry>
        <entry key="widget.start.title"><![CDATA[Getting Started]]></entry>
        <entry key="wizard.button.finish"><![CDATA[Finish]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml
index 6554a69..1500eec 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml
@@ -878,6 +878,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[バイト 送信済み]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[アップロード速度]]></entry>
        <entry key="network.test.upl.time"><![CDATA[アップロード時間]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clone]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[1~10の数字]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[はい/いいえ]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml
index cb8ae54..2fd9989 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml
@@ -877,6 +877,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Bytes uploaded]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Upload speed]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Upload time]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clone]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[숫자 1-10]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[네/아니오]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ku.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ku.properties.xml
index 67581c4..0a2a5f2 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ku.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ku.properties.xml
@@ -877,6 +877,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Bytes uploaded]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Upload speed]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Upload time]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clone]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[Numeric 1-10]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[Yes/No]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_lo.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_lo.properties.xml
index 49fbc81..c497e1b 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_lo.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_lo.properties.xml
@@ -877,6 +877,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Bytes uploaded]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Upload speed]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Upload time]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clone]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[Numeric 1-10]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[Yes/No]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml
index 9dcf3fd..72fc136 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml
@@ -877,6 +877,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Bytes uploaded]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Upload speed]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Upload time]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clone]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[Getal 1-10]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[Ja/Nee]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml
index 441a602..bd19066 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml
@@ -877,6 +877,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Bajty wysłane]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Prędkośc 
wysyłania]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Czas wysyłania]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Sklonuj]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[Liczba 1-10]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[Tak/Nie]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml
index 9bc54e4..5dd1657 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml
@@ -877,6 +877,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Bytes uploaded]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Upload speed]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Upload time]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clone]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[Numérico 1-10]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[Sim/Não]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml
index 4496330..36fc5de 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml
@@ -877,6 +877,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Bytes uploaded]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Upload speed]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Upload time]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clone]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[Numérico 1-10]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[Sim/Não]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml
index 99e0310..bee7d5a 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml
@@ -878,6 +878,8 @@ see https://openmeetings.apache.org/LanguageEditor.html for 
Details
        <entry key="network.test.upl.bytes"><![CDATA[Загруженные 
байты]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Скорость 
загрузки]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Время загрузки]]></entry>
+       <entry key="notification.chat.message"><![CDATA[У Вас есть новые 
сообщения в чате]]></entry>
+       <entry key="notification.room.activity"><![CDATA[У Вас новый запрос, 
пожалуйста проверьте "Активность и действия"]]></entry>
        <entry key="poll.clone"><![CDATA[Клонировать]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[Число 1 - 10]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[Да/Нет]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml
index 2b5b2dd..9bd71a0 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml
@@ -877,6 +877,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Bytes uploaded]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Upload speed]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Upload time]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clone]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[Čísla 1-10]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[Áno/Nie]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml
index db9300c..6af9105 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml
@@ -875,6 +875,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Uppladdade bytes]]></entry>
        <entry 
key="network.test.upl.speed"><![CDATA[Uppladdningshastighet]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Uppladningstid]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Klona]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[Numerisk 1-10]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[Ja/Nej]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ta.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ta.properties.xml
index 5594593..f29dbdc 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ta.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ta.properties.xml
@@ -879,6 +879,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Bytes uploaded]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Upload speed]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Upload time]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clone]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[Numeric 1-10]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[Yes/No]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml
index 20704ee..9e5e736 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml
@@ -877,6 +877,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Bytes uploaded]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Upload speed]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Upload time]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clone]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[เลข 1-10]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[ใช่/ไม่]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tk.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tk.properties.xml
index 67581c4..0a2a5f2 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tk.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tk.properties.xml
@@ -877,6 +877,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Bytes uploaded]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Upload speed]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Upload time]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clone]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[Numeric 1-10]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[Yes/No]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml
index a94e0e3..a996dc0 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml
@@ -877,6 +877,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Bytes uploaded]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Upload speed]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Upload time]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clone]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[Sayısal 1-10]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[Evet/Hayır]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml
index 1f18f66..76ccad6 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml
@@ -877,6 +877,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Bytes uploaded]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Upload speed]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Upload time]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clone]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[В числовому порядку 
1-10]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[Так/Ні]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml
index 7cf18a3..0159bea 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml
@@ -878,6 +878,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Bytes uploaded]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Upload speed]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Upload time]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clone]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[数字 1-10]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[是/否]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml
index b70b362..c17efa9 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml
@@ -877,6 +877,8 @@ please check <tt>openmeetings.log</tt> and contact 
OpenMeetings developers]]></e
        <entry key="network.test.upl.bytes"><![CDATA[Bytes uploaded]]></entry>
        <entry key="network.test.upl.speed"><![CDATA[Upload speed]]></entry>
        <entry key="network.test.upl.time"><![CDATA[Upload time]]></entry>
+       <entry key="notification.chat.message"><![CDATA[You have new chat 
message(s)]]></entry>
+       <entry key="notification.room.activity"><![CDATA[You have new 
activities, please check "Activities&Action"]]></entry>
        <entry key="poll.clone"><![CDATA[Clone]]></entry>
        <entry key="poll.type.NUMERIC"><![CDATA[數字的 1-10]]></entry>
        <entry key="poll.type.YES_NO"><![CDATA[是/否]]></entry>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.html
index b859396..53cb055 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.html
@@ -21,7 +21,7 @@
 <!DOCTYPE html>
 <html xmlns:wicket="http://wicket.apache.org";>
 <wicket:panel>
-       <div class="clickable control block bg-secondary">
+       <div class="clickable control block bg-secondary" 
wicket:message="data-new-aa:notification.room.activity">
                <i class="fas ml-1 fa-angle-up"></i>
                <span class="badge badge-secondary">42</span>
                <div class="label"><wicket:message key="1363"/></div>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-activities.js
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-activities.js
index d38a7b8..e52f0dc 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-activities.js
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-activities.js
@@ -2,7 +2,8 @@
 var Activities = function() {
        const closedHeight = 20, timeout = 10000;
        let activities, aclean, modArea, area, openedHeight = 345
-               , openedHeightPx = openedHeight + 'px', inited = false;
+               , openedHeightPx = openedHeight + 'px', inited = false
+               , newActNotification;
 
        function _load() {
                const s = Settings.load();
@@ -73,12 +74,28 @@ var Activities = function() {
                        u.removeClass('bg-warning', 1500);
                }
        }
-       function _hightlight() {
+       function _hightlight(notify) {
                if (!inited) {
                        return;
                }
                if (isClosed()) {
                        $('.control.block', activities).addClass('bg-warning');
+                       if (window === window.parent && notify) {
+                               function _newMessage() {
+                                       new Notification(newActNotification, {
+                                               tag: 'new_aa_item'
+                                       });
+                               }
+                               if (Notification.permission === 'granted') {
+                                       _newMessage();
+                               } else if (Notification.permission !== 
'denied') {
+                                       
Notification.requestPermission().then(permission => {
+                                               if (permission === 'granted') {
+                                                       _newMessage();
+                                               }
+                                       });
+                               }
+                       }
                }
        }
        function _getId(id) {
@@ -111,12 +128,14 @@ var Activities = function() {
                                return;
                        }
                        activities = $('#activities');
-                       
activities.find('.control.block').off().click(Activities.toggle);
+                       const ctrlBlk = activities.find('.control.block');
+                       ctrlBlk.off().click(Activities.toggle);
+                       newActNotification = ctrlBlk.data('new-aa');
                        activities.resizable({
                                handles: 'n'
                                , disabled: isClosed()
                                , minHeight: 195
-                               , stop: function(event, ui) {
+                               , stop: function(_, ui) {
                                        openedHeight = ui.size.height;
                                        openedHeightPx = openedHeight + 'px';
                                        _updateHeightVar(openedHeightPx);
@@ -176,7 +195,7 @@ var Activities = function() {
                                _action('close', obj.id);
                        });
                        a.find('.activity-text').text(obj.text);
-                       _hightlight();
+                       _hightlight(obj.action);
                        if (aclean.prop('checked') && a.hasClass('auto-clean')) 
{
                                setTimeout(_clearItem.bind(null, obj.id), 
timeout);
                        }
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/ChatPanel.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/ChatPanel.html
index 1a577c4..1792579 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/ChatPanel.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/ChatPanel.html
@@ -21,7 +21,7 @@
 <html xmlns:wicket="http://wicket.apache.org";>
 <wicket:panel>
        <div id="chatPopup" class="bg-light">
-               <div class="control block clickable bg-secondary" 
wicket:message="data-ttl-dock:label.dock.panel,data-ttl-undock:label.undock.panel">
+               <div class="control block clickable bg-secondary" 
wicket:message="data-ttl-dock:label.dock.panel,data-ttl-undock:label.undock.panel,data-new-msg:notification.chat.message">
                        <i class="fas ml-1"></i>
                        <div class="label"><wicket:message key="244"/></div>
                </div>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/raw-chat.js
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/raw-chat.js
index fbfab59..38d4620 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/raw-chat.js
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/raw-chat.js
@@ -6,21 +6,14 @@ var Chat = function() {
                , emoticon = new CSSEmoticon()
                , doneTypingInterval = 5000 //time in ms, 5 second for example
                , SEND_ENTER = 'enter', SEND_CTRL = 'ctrl'
+               , audio = new Audio('./public/chat_message.mp3')
                ;
-       let p, pp, ctrl, tabs, openedHeight = "345px", openedWidth = "300px", 
allPrefix = "All"
-               , roomPrefix = "Room ", typingTimer, audio, roomMode = false, 
globalWidth = 600
+       let p, ctrlBlk, tabs, openedHeight = "345px", openedWidth = "300px", 
allPrefix = "All"
+               , roomPrefix = "Room ", typingTimer, roomMode = false
                , editor = $('#chatMessage .wysiwyg-editor'), muted = false, 
sendOn, DEF_SEND
-               , userId, inited = false
+               , userId, inited = false, newMsgNotification
                ;
 
-       try {
-               audio = new Audio('./public/chat_message.mp3');
-       } catch (e) {
-               //not implemented in IE
-               audio = {
-                       play: function() {}
-               };
-       }
        function __setCssVar(key, _val) {
                const val = ('' + _val).endsWith('px') ? _val : _val + 'px';
                if (roomMode) {
@@ -149,8 +142,8 @@ var Chat = function() {
                sendOn = DEF_SEND;
                p = $('#chatPanel');
                clearTimeout(p.data('timeout'));
-               pp = $('#chatPanel, #chatPopup');
-               ctrl = $('#chatPopup .control.block');
+               ctrlBlk = $('#chatPopup .control.block');
+               newMsgNotification = ctrlBlk.data('new-msg');
                editor = $('#chatMessage .wysiwyg-editor');
                initToolbar();
                tabs = $("#chatTabs");
@@ -167,7 +160,7 @@ var Chat = function() {
                if (roomMode) {
                        _removeResize();
                } else {
-                       ctrl.attr('title', '');
+                       ctrlBlk.attr('title', '');
                        p.removeClass('room opened').addClass('closed')
                                .off('mouseenter mouseleave')
                                .resizable({
@@ -175,17 +168,16 @@ var Chat = function() {
                                        , disabled: isClosed()
                                        , minHeight: 195
                                        , minWidth: 260
-                                       , stop: function(event, ui) {
+                                       , stop: function(_, ui) {
                                                p.css({'top': '', 'left': ''});
                                                openedHeight = ui.size.height + 
'px';
-                                               globalWidth = ui.size.width;
                                                __setCssHeight(openedHeight);
                                                __setCssWidth(ui.size.width);
                                        }
                                });
                        __setCssHeight(closedSize);
                }
-               ctrl.off().click(Chat.toggle);
+               ctrlBlk.off().click(Chat.toggle);
                $('#chatMessage').off().on('input propertychange paste', 
function () {
                        const room = $('.room-block .room-container');
                        if (room.length) {
@@ -278,7 +270,7 @@ var Chat = function() {
                        let msg, cm, notify = false;
                        while (!!(cm = m.msg.pop())) {
                                let area = $('#' + cm.scope);
-                               if (cm.from.id !== userId) {
+                               if (cm.from.id !== userId && (isClosed() || 
!area.is(':visible'))) {
                                        notify = true;
                                }
                                const actions = ('full' === cm.actions ? 'full' 
: 'short') + (cm.needModeration ? '-mod' : '');
@@ -328,14 +320,32 @@ var Chat = function() {
                                }
                        }
                        if (notify) {
-                               ctrl.addClass('bg-warning');
+                               ctrlBlk.addClass('bg-warning');
                                if (p.is(':visible') && !muted) {
-                                       audio.play()
-                                               .then(function() {
-                                                       // Automatic playback 
started!
-                                               }).catch(function() {
-                                                       // Automatic playback 
failed.
-                                               });
+                                       if (window === window.parent) {
+                                               function _newMessage() {
+                                                       new 
Notification(newMsgNotification, {
+                                                               tag: 
'new_chat_msg'
+                                                       });
+                                               }
+                                               if (Notification.permission === 
'granted') {
+                                                       _newMessage();
+                                               } else if 
(Notification.permission !== 'denied') {
+                                                       
Notification.requestPermission().then(permission => {
+                                                               if (permission 
=== 'granted') {
+                                                                       
_newMessage();
+                                                               }
+                                                       });
+                                               }
+                                       } else {
+                                               // impossible to use 
Notification API from iFrame
+                                               audio.play()
+                                                       .then(function() {
+                                                               // Automatic 
playback started!
+                                                       }).catch(function() {
+                                                               // Automatic 
playback failed.
+                                                       });
+                                       }
                                }
                        }
                        emoticon.animate();
@@ -346,7 +356,7 @@ var Chat = function() {
                p.resizable({
                        handles: (Settings.isRtl ? 'e' : 'w')
                        , minWidth: 165
-                       , stop: function(event, ui) {
+                       , stop: function(_, ui) {
                                p.css({'left': '', 'width': '', 'height': ''});
                                openedWidth = ui.size.width + 'px';
                                __setCssWidth(openedWidth);
@@ -360,7 +370,7 @@ var Chat = function() {
        }
        function _open(handler) {
                if (isClosed()) {
-                       ctrl.removeClass('bg-warning');
+                       ctrlBlk.removeClass('bg-warning');
                        let opts;
                        if (roomMode) {
                                opts = {width: openedWidth};
@@ -375,7 +385,7 @@ var Chat = function() {
                                if (typeof(handler) === 'function') {
                                        handler();
                                }
-                               ctrl.attr('title', ctrl.data('ttl-undock'));
+                               ctrlBlk.attr('title', 
ctrlBlk.data('ttl-undock'));
                                if (roomMode) {
                                        _setOpened();
                                } else {
@@ -405,7 +415,7 @@ var Chat = function() {
                                if (typeof(handler) === 'function') {
                                        handler();
                                }
-                               ctrl.attr('title', ctrl.data('ttl-dock'));
+                               ctrlBlk.attr('title', ctrlBlk.data('ttl-dock'));
                        });
                }
        }
@@ -416,8 +426,8 @@ var Chat = function() {
                        _close();
                }
        }
-       function _editorAppend(emoticon) {
-               editor.html(editor.html() + ' ' + emoticon + ' 
').trigger('change');
+       function _editorAppend(_emoticon) {
+               editor.html(editor.html() + ' ' + _emoticon + ' 
').trigger('change');
        }
        function _clean() {
                editor.html('').trigger('change');
@@ -488,7 +498,7 @@ var Chat = function() {
        };
 }();
 $(function() {
-       Wicket.Event.subscribe("/websocket/message", function(jqEvent, msg) {
+       Wicket.Event.subscribe("/websocket/message", function(_, msg) {
                try {
                        if (msg instanceof Blob) {
                                return; //ping

Reply via email to