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 29da245  [OPENMEETINGS-1856] sonar should be more happy
29da245 is described below

commit 29da2459ef79574c7f11e03981425bbc65ba0195
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Mon Mar 4 17:07:05 2019 +0700

    [OPENMEETINGS-1856] sonar should be more happy
---
 .../org/apache/openmeetings/core/remote/KRoom.java |   2 +-
 .../openmeetings/core/remote/StreamProcessor.java  |  29 +--
 .../openmeetings/core/util/WebSocketHelper.java    |   8 +-
 .../calendar/caldav/AppointmentManager.java        | 209 ++++++++++-----------
 .../apache/openmeetings/web/app/UserManager.java   |  65 ++++---
 .../apache/openmeetings/web/room/wb/raw-player.js  |   5 +-
 .../apache/openmeetings/web/user/chat/raw-chat.js  |   8 +-
 7 files changed, 166 insertions(+), 160 deletions(-)

diff --git 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KRoom.java
 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KRoom.java
index 8fb1121..62912b0 100644
--- 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KRoom.java
+++ 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KRoom.java
@@ -231,7 +231,7 @@ public class KRoom {
        }
 
        public void startSharing(StreamProcessor processor, IClientManager cm, 
Client c, Optional<StreamDesc> osd, JSONObject msg, Activity a) {
-               StreamDesc sd = null;
+               StreamDesc sd;
                KurentoHandler h = processor.getHandler();
                if (sharingStarted.compareAndSet(false, true)) {
                        sharingUser.put("sid", c.getSid());
diff --git 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/StreamProcessor.java
 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/StreamProcessor.java
index 0e57ef2..9ef4b05 100644
--- 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/StreamProcessor.java
+++ 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/StreamProcessor.java
@@ -28,6 +28,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.stream.Collectors;
 
 import org.apache.openmeetings.core.converter.IRecordingConverter;
@@ -165,7 +166,7 @@ public class StreamProcessor implements IStreamProcessor {
        }
 
        public void toggleActivity(Client c, Activity a) {
-               log.info("PARTICIPANT {}: trying to toggle activity {}", c, 
c.getRoomId());
+               log.info("PARTICIPANT {}: trying to toggle activity {}", c, a);
 
                if (!activityAllowed(c, a, c.getRoom())) {
                        if (a == Activity.AUDIO || a == Activity.AUDIO_VIDEO) {
@@ -189,18 +190,18 @@ public class StreamProcessor implements IStreamProcessor {
                        c.toggle(a);
                        if (!isBroadcasting(c)) {
                                //close
-                               boolean changed = false;
-                               for (StreamDesc sd : c.getStreams()) {
-                                       KStream s = getByUid(sd.getUid());
-                                       if (StreamType.WEBCAM == sd.getType()) {
+                               AtomicBoolean changed = new 
AtomicBoolean(false);
+                               c.getStreams().stream()
+                                       .filter(sd -> StreamType.WEBCAM == 
sd.getType())
+                                       .forEach(sd -> {
+                                               KStream s = 
getByUid(sd.getUid());
                                                if (s != null) {
                                                        s.stopBroadcast(this);
                                                }
                                                c.removeStream(sd.getUid());
-                                               changed = true;
-                                       }
-                               }
-                               if (changed) {
+                                               changed.set(true);
+                                       });
+                               if (changed.get()) {
                                        cm.update(c);
                                        checkStreams(c.getRoomId());
                                }
@@ -218,13 +219,13 @@ public class StreamProcessor implements IStreamProcessor {
                                //FIXME TODO update interview buttons
                        } else {
                                //constraints were changed
-                               for (StreamDesc sd : c.getStreams()) {
-                                       if (StreamType.WEBCAM == sd.getType()) {
+                               c.getStreams().stream()
+                                       .filter(sd -> StreamType.WEBCAM == 
sd.getType())
+                                       .findFirst()
+                                       .ifPresent(sd -> {
                                                sd.setActivities();
                                                cm.update(c);
-                                               break;
-                                       }
-                               }
+                                       });
                                WebSocketHelper.sendRoom(new 
TextRoomMessage(c.getRoomId(), c, RoomMessage.Type.rightUpdated, c.getUid()));
                        }
                }
diff --git 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/WebSocketHelper.java
 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/WebSocketHelper.java
index e9e17b0..3689520 100644
--- 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/WebSocketHelper.java
+++ 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/WebSocketHelper.java
@@ -119,12 +119,12 @@ public class WebSocketHelper {
                if (publish) {
                        publish(new WsMessageRoomMsg(m));
                }
-               log.debug("Sending WebSocket message: {} {}", m.getType(), m 
instanceof TextRoomMessage ? ((TextRoomMessage)m).getText() : "");
+               log.debug("Sending WebSocket message to room: {} {}", 
m.getType(), m instanceof TextRoomMessage ? ((TextRoomMessage)m).getText() : 
"");
                sendRoom(m.getRoomId(), (t, c) -> t.sendMessage(m), null);
        }
 
        public static void sendServer(final RoomMessage m) {
-               log.debug("Sending WebSocket message: {}", m);
+               log.debug("Sending WebSocket message to All: {}", m);
                sendAll(c -> {
                        try {
                                c.sendMessage(m);
@@ -176,7 +176,7 @@ public class WebSocketHelper {
                if (publish) {
                        publish(new WsMessageAll(m));
                }
-               log.debug("Sending WebSocket message: {}", m);
+               log.debug("Sending text WebSocket message to All: {}", m);
                sendAll(c -> doSend(c, m, "ALL"));
        }
 
@@ -201,7 +201,7 @@ public class WebSocketHelper {
        }
 
        protected static void sendRoom(final Long roomId, final JSONObject m, 
Predicate<Client> check, BiFunction<JSONObject, Client, JSONObject> func) {
-               log.debug("Sending WebSocket message: {}", m);
+               log.debug("Sending json WebSocket message to room: {}", m);
                sendRoom(roomId, (t, c) -> doSend(t, c, m, func, "room"), 
check);
        }
 
diff --git 
a/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/caldav/AppointmentManager.java
 
b/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/caldav/AppointmentManager.java
index 9ce8a31..839624c 100644
--- 
a/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/caldav/AppointmentManager.java
+++ 
b/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/caldav/AppointmentManager.java
@@ -276,141 +276,140 @@ public class AppointmentManager {
        private boolean discoverCalendars(HttpClient client, HttpClientContext 
context, OmCalendar calendar) {
                cleanupIdleConnections();
 
-               if (calendar.getSyncType() == SyncType.NONE) {
-                       HttpPropfind propFindMethod = null;
-                       String userPath = null, homepath = null;
+               if (calendar.getSyncType() != SyncType.NONE) {
+                       return false;
+               }
+               HttpPropfind propFindMethod = null;
+               String userPath = null, homepath = null;
 
-                       DavPropertyName curUserPrincipal = 
DavPropertyName.create("current-user-principal"),
-                                       calHomeSet = 
DavPropertyName.create("calendar-home-set", CalDAVConstants.NAMESPACE_CALDAV),
-                                       suppCalCompSet = 
DavPropertyName.create("supported-calendar-component-set", 
CalDAVConstants.NAMESPACE_CALDAV);
+               DavPropertyName curUserPrincipal = 
DavPropertyName.create("current-user-principal"),
+                               calHomeSet = 
DavPropertyName.create("calendar-home-set", CalDAVConstants.NAMESPACE_CALDAV),
+                               suppCalCompSet = 
DavPropertyName.create("supported-calendar-component-set", 
CalDAVConstants.NAMESPACE_CALDAV);
 
-                       //Find out whether it's a calendar or if we can find 
the calendar-home or current-user url
-                       try {
-                               String path = calendar.getHref();
+               //Find out whether it's a calendar or if we can find the 
calendar-home or current-user url
+               try {
+                       String path = calendar.getHref();
 
-                               DavPropertyNameSet properties = new 
DavPropertyNameSet();
-                               properties.add(curUserPrincipal);
-                               properties.add(calHomeSet);
-                               properties.add(DavPropertyName.RESOURCETYPE);
+                       DavPropertyNameSet properties = new 
DavPropertyNameSet();
+                       properties.add(curUserPrincipal);
+                       properties.add(calHomeSet);
+                       properties.add(DavPropertyName.RESOURCETYPE);
 
-                               propFindMethod = new HttpPropfind(path, 
properties, CalDAVConstants.DEPTH_0);
-                               HttpResponse httpResponse = 
client.execute(propFindMethod, context);
+                       propFindMethod = new HttpPropfind(path, properties, 
CalDAVConstants.DEPTH_0);
+                       HttpResponse httpResponse = 
client.execute(propFindMethod, context);
 
-                               if (propFindMethod.succeeded(httpResponse)) {
-                                       for (MultiStatusResponse response : 
propFindMethod.getResponseBodyAsMultiStatus(httpResponse).getResponses()) {
-                                               DavPropertySet set = 
response.getProperties(SC_OK);
-                                               DavProperty<?> calhome = 
set.get(calHomeSet), curPrinci = set.get(curUserPrincipal),
-                                                               resourcetype = 
set.get(DavPropertyName.RESOURCETYPE);
+                       if (!propFindMethod.succeeded(httpResponse)) {
+                               return false;
+                       }
+                       for (MultiStatusResponse response : 
propFindMethod.getResponseBodyAsMultiStatus(httpResponse).getResponses()) {
+                               DavPropertySet set = 
response.getProperties(SC_OK);
+                               DavProperty<?> calhome = set.get(calHomeSet), 
curPrinci = set.get(curUserPrincipal),
+                                               resourcetype = 
set.get(DavPropertyName.RESOURCETYPE);
+
+                               if (checkCalendarResourceType(resourcetype)) {
+                                       //This is a calendar and thus 
initialize and return
+                                       return initCalendar(client, context, 
calendar);
+                               }
 
-                                               if 
(checkCalendarResourceType(resourcetype)) {
-                                                       //This is a calendar 
and thus initialize and return
-                                                       return 
initCalendar(client, context, calendar);
-                                               }
+                               //Else find all the calendars on the Principal 
and return.
+                               if (calhome != null) {
+                                       //Calendar Home Path
+                                       homepath = 
getTextValuefromProperty(calhome);
+                                       break;
+                               } else if (curPrinci != null) {
+                                       //Current User Principal Path
+                                       userPath = 
getTextValuefromProperty(curPrinci);
+                                       break;
+                               }
+                       }
 
-                                               //Else find all the calendars 
on the Principal and return.
-                                               if (calhome != null) {
-                                                       //Calendar Home Path
-                                                       homepath = 
getTextValuefromProperty(calhome);
-                                                       break;
-                                               } else if (curPrinci != null) {
-                                                       //Current User 
Principal Path
-                                                       userPath = 
getTextValuefromProperty(curPrinci);
-                                                       break;
-                                               }
-                                       }
-                               } else {
+                       if (homepath == null && userPath != null) {
+                               //If calendar home path wasn't set, then we get 
it
+                               DavPropertyNameSet props = new 
DavPropertyNameSet();
+                               props.add(calHomeSet);
+                               propFindMethod = new HttpPropfind(userPath, 
props, DavConstants.DEPTH_0);
+                               httpResponse = client.execute(propFindMethod, 
context);
+
+                               if (!propFindMethod.succeeded(httpResponse)) {
                                        return false;
                                }
+                               for (MultiStatusResponse response : 
propFindMethod.getResponseBodyAsMultiStatus(httpResponse).getResponses()) {
+                                       DavPropertySet set = 
response.getProperties(SC_OK);
+                                       DavProperty<?> calhome = 
set.get(calHomeSet);
 
-                               if (homepath == null && userPath != null) {
-                                       //If calendar home path wasn't set, 
then we get it
-                                       DavPropertyNameSet props = new 
DavPropertyNameSet();
-                                       props.add(calHomeSet);
-                                       propFindMethod = new 
HttpPropfind(userPath, props, DavConstants.DEPTH_0);
-                                       httpResponse = 
client.execute(propFindMethod, context);
-
-                                       if 
(propFindMethod.succeeded(httpResponse)) {
-                                               for (MultiStatusResponse 
response : 
propFindMethod.getResponseBodyAsMultiStatus(httpResponse).getResponses()) {
-                                                       DavPropertySet set = 
response.getProperties(SC_OK);
-                                                       DavProperty<?> calhome 
= set.get(calHomeSet);
-
-                                                       if (calhome != null) {
-                                                               homepath = 
getTextValuefromProperty(calhome);
-                                                               break;
-                                                       }
-                                               }
-                                       } else {
-                                               return false;
+                                       if (calhome != null) {
+                                               homepath = 
getTextValuefromProperty(calhome);
+                                               break;
                                        }
                                }
+                       }
 
-                               if (homepath != null) {
-                                       DavPropertyNameSet props = new 
DavPropertyNameSet();
-                                       props.add(DavPropertyName.RESOURCETYPE);
-                                       props.add(suppCalCompSet);
-                                       props.add(DavPropertyName.DISPLAYNAME);
-
-                                       propFindMethod = new 
HttpPropfind(homepath, props, DavConstants.DEPTH_1);
-
-                                       httpResponse = 
client.execute(propFindMethod, context);
+                       if (homepath != null) {
+                               DavPropertyNameSet props = new 
DavPropertyNameSet();
+                               props.add(DavPropertyName.RESOURCETYPE);
+                               props.add(suppCalCompSet);
+                               props.add(DavPropertyName.DISPLAYNAME);
 
-                                       if 
(propFindMethod.succeeded(httpResponse)) {
-                                               boolean success = false;
+                               propFindMethod = new HttpPropfind(homepath, 
props, DavConstants.DEPTH_1);
 
-                                               URI resourceUri = 
propFindMethod.getURI();
-                                               String host = 
resourceUri.getScheme() + "://" + resourceUri.getHost() + 
((resourceUri.getPort() != -1)? ":" + resourceUri.getPort() : "");
-                                               for (MultiStatusResponse 
response : 
propFindMethod.getResponseBodyAsMultiStatus(httpResponse).getResponses()) {
-                                                       boolean isVevent = 
false, isCalendar;
+                               httpResponse = client.execute(propFindMethod, 
context);
 
-                                                       DavPropertySet set = 
response.getProperties(SC_OK);
-                                                       DavProperty<?> p = 
set.get(suppCalCompSet),
-                                                                       
resourcetype = set.get(DavPropertyName.RESOURCETYPE),
-                                                                       
displayname = set.get(DavPropertyName.DISPLAYNAME);
+                               if (propFindMethod.succeeded(httpResponse)) {
+                                       boolean success = false;
 
-                                                       isCalendar = 
checkCalendarResourceType(resourcetype);
+                                       URI resourceUri = 
propFindMethod.getURI();
+                                       String host = resourceUri.getScheme() + 
"://" + resourceUri.getHost() + ((resourceUri.getPort() != -1)? ":" + 
resourceUri.getPort() : "");
+                                       for (MultiStatusResponse response : 
propFindMethod.getResponseBodyAsMultiStatus(httpResponse).getResponses()) {
+                                               boolean isVevent = false, 
isCalendar;
 
-                                                       if (p != null) {
-                                                               for (Object o : 
(Collection<?>) p.getValue()) {
-                                                                       if (o 
instanceof Element) {
-                                                                               
Element e = (Element) o;
-                                                                               
String name = DomUtil.getAttribute(e, "name", null);
-                                                                               
if ("VEVENT".equals(name)) {
-                                                                               
        isVevent = true;
-                                                                               
}
+                                               DavPropertySet set = 
response.getProperties(SC_OK);
+                                               DavProperty<?> p = 
set.get(suppCalCompSet),
+                                                               resourcetype = 
set.get(DavPropertyName.RESOURCETYPE),
+                                                               displayname = 
set.get(DavPropertyName.DISPLAYNAME);
+
+                                               isCalendar = 
checkCalendarResourceType(resourcetype);
+
+                                               if (p != null) {
+                                                       for (Object o : 
(Collection<?>) p.getValue()) {
+                                                               if (o 
instanceof Element) {
+                                                                       Element 
e = (Element) o;
+                                                                       String 
name = DomUtil.getAttribute(e, "name", null);
+                                                                       if 
("VEVENT".equals(name)) {
+                                                                               
isVevent = true;
                                                                        }
                                                                }
                                                        }
+                                               }
 
-                                                       if (isCalendar && 
isVevent) {
-                                                               success = true;
-                                                               //Get New 
Calendar
-                                                               OmCalendar 
tempCalendar = new OmCalendar();
+                                               if (isCalendar && isVevent) {
+                                                       success = true;
+                                                       //Get New Calendar
+                                                       OmCalendar tempCalendar 
= new OmCalendar();
 
-                                                               if (displayname 
!= null) {
-                                                                       
tempCalendar.setTitle(displayname.getValue().toString());
-                                                               }
+                                                       if (displayname != 
null) {
+                                                               
tempCalendar.setTitle(displayname.getValue().toString());
+                                                       }
 
-                                                               
tempCalendar.setHref(host + response.getHref());
+                                                       
tempCalendar.setHref(host + response.getHref());
 
-                                                               
tempCalendar.setDeleted(false);
-                                                               
tempCalendar.setOwner(calendar.getOwner());
+                                                       
tempCalendar.setDeleted(false);
+                                                       
tempCalendar.setOwner(calendar.getOwner());
 
-                                                               
calendarDao.update(tempCalendar);
-                                                               
initCalendar(client, context, tempCalendar);
-                                                       }
+                                                       
calendarDao.update(tempCalendar);
+                                                       initCalendar(client, 
context, tempCalendar);
                                                }
-                                               return success;
                                        }
+                                       return success;
                                }
+                       }
 
-                       } catch (IOException e) {
-                               log.error("Error executing PROPFIND Method, 
during testConnection.", e);
-                       } catch (Exception e) {
-                               log.error("Severe Error in executing PROPFIND 
Method, during testConnection.", e);
-                       } finally {
-                               if (propFindMethod != null) {
-                                       propFindMethod.reset();
-                               }
+               } catch (IOException e) {
+                       log.error("Error executing PROPFIND Method, during 
testConnection.", e);
+               } catch (Exception e) {
+                       log.error("Severe Error in executing PROPFIND Method, 
during testConnection.", e);
+               } finally {
+                       if (propFindMethod != null) {
+                               propFindMethod.reset();
                        }
                }
 
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/UserManager.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/UserManager.java
index 1d306dc..4e0769e 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/UserManager.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/UserManager.java
@@ -50,6 +50,7 @@ import org.apache.openmeetings.service.mail.EmailManager;
 import org.apache.openmeetings.util.OmException;
 import org.apache.openmeetings.util.crypt.CryptProvider;
 import org.apache.openmeetings.util.crypt.ICrypt;
+import org.apache.wicket.IConverterLocator;
 import org.apache.wicket.core.util.lang.PropertyResolver;
 import org.apache.wicket.core.util.lang.PropertyResolverConverter;
 import org.apache.wicket.util.string.Strings;
@@ -254,33 +255,7 @@ public class UserManager implements IUserManager {
                        fUser.getGroupUsers().add(new 
GroupUser(groupDao.get(getDefaultGroup()), fUser));
                        for (Map.Entry<String, String> entry : 
user.getUserData().entrySet()) {
                                final String expression = entry.getKey();
-                               PropertyResolver.setValue(expression, fUser, 
entry.getValue(), new PropertyResolverConverter(null, null) {
-                                       private static final long 
serialVersionUID = 1L;
-
-                                       @SuppressWarnings("unchecked")
-                                       @Override
-                                       public <T> T convert(Object object, 
Class<T> clz) {
-                                               if 
("languageId".equals(expression) && Long.class.isAssignableFrom(clz)) {
-                                                       Long language = 1L;
-                                                       String locale = 
(String)object;
-                                                       if (locale != null) {
-                                                               Locale loc = 
Locale.forLanguageTag(locale);
-                                                               if (loc != 
null) {
-                                                                       
language = getLanguage(loc);
-                                                                       
fUser.setLanguageId(language);
-                                                                       
fUser.getAddress().setCountry(loc.getCountry());
-                                                               }
-                                                       }
-                                                       return (T)language;
-                                               }
-                                               return (T)object;
-                                       }
-
-                                       @Override
-                                       protected <C> String convertToString(C 
object, Locale locale) {
-                                               return String.valueOf(object);
-                                       }
-                               });
+                               PropertyResolver.setValue(expression, fUser, 
entry.getValue(), new LanguageConverter(expression, fUser, null, null));
                        }
                        fUser.setShowContactDataToContacts(true);
                        u = fUser;
@@ -291,4 +266,40 @@ public class UserManager implements IUserManager {
 
                return u;
        }
+
+       private class LanguageConverter extends PropertyResolverConverter {
+               private static final long serialVersionUID = 1L;
+               final String expression;
+               final User fUser;
+
+               public LanguageConverter(final String expression, final User 
fUser, IConverterLocator converterSupplier, Locale locale) {
+                       super(converterSupplier, locale);
+                       this.expression = expression;
+                       this.fUser = fUser;
+               }
+
+               @SuppressWarnings("unchecked")
+               @Override
+               public <T> T convert(Object object, Class<T> clz) {
+                       if ("languageId".equals(expression) && 
Long.class.isAssignableFrom(clz)) {
+                               Long language = 1L;
+                               String locale = (String)object;
+                               if (locale != null) {
+                                       Locale loc = 
Locale.forLanguageTag(locale);
+                                       if (loc != null) {
+                                               language = getLanguage(loc);
+                                               fUser.setLanguageId(language);
+                                               
fUser.getAddress().setCountry(loc.getCountry());
+                                       }
+                               }
+                               return (T)language;
+                       }
+                       return (T)object;
+               }
+
+               @Override
+               protected <C> String convertToString(C object, Locale locale) {
+                       return String.valueOf(object);
+               }
+       }
 }
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-player.js
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-player.js
index 83e16d4..ab64381 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-player.js
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-player.js
@@ -211,9 +211,8 @@ var Player = (function() {
                                if (group.status.paused) {
                                        video.getElement().pause();
                                } else {
-                                       const prom = video.getElement().play();
-                                       if (prom !== undefined) {
-                                               prom.then(function() {
+                                       video.getElement().play()
+                                               .then(function() {
                                                        
fabric.util.requestAnimFrame(render);
                                                }).catch(function(err) {
                                                        if ('NotAllowedError' 
=== err.name) {
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 95d4ec2..b79f84f 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
@@ -255,12 +255,8 @@ var Chat = function() {
                        if (notify) {
                                ctrl.addClass('ui-state-highlight');
                                if (p.is(':visible') && !muted) {
-                                       const playPromise = audio.play();
-
-                                       // In browsers that don’t yet support 
this functionality,
-                                       // playPromise won’t be defined.
-                                       if (playPromise !== undefined) {
-                                               playPromise.then(function() {
+                                       audio.play()
+                                               .then(function() {
                                                        // Automatic playback 
started!
                                                }).catch(function() {
                                                        // Automatic playback 
failed.

Reply via email to