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 f86ee1202 [OPENMEETINGS-2737] more TimerService fixes, minor JS fixes
f86ee1202 is described below

commit f86ee1202eef413871b14da8bbc12ee085b34fa7
Author: Maxim Solodovnik <solomax...@gmail.com>
AuthorDate: Fri Jun 10 21:21:39 2022 +0700

    [OPENMEETINGS-2737] more TimerService fixes, minor JS fixes
---
 .../java/org/apache/openmeetings/core/sip/SipManager.java  |  4 ++--
 .../java/org/apache/openmeetings/web/app/Application.java  | 14 ++++++++++++++
 .../java/org/apache/openmeetings/web/room/RoomPanel.java   |  5 +++++
 .../apache/openmeetings/web/room/menu/RoomMenuPanel.java   |  2 +-
 .../apache/openmeetings/web/room/menu/SipDialerDialog.java |  2 +-
 5 files changed, 23 insertions(+), 4 deletions(-)

diff --git 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/sip/SipManager.java
 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/sip/SipManager.java
index 5d234370f..68358aa16 100644
--- 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/sip/SipManager.java
+++ 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/sip/SipManager.java
@@ -219,7 +219,7 @@ public class SipManager implements ISipManager {
         * @param r
         *            room to be connected to the call
         */
-       public void joinToConfCall(String number, Room r) {
+       public void callExternalNumber(String number, Room r) {
                String sipNumber = getSipNumber(r);
                if (sipNumber == null) {
                        log.warn("Failed to get SIP number for room: {}", r);
@@ -244,7 +244,7 @@ public class SipManager implements ISipManager {
                }
 
                HangupAction ha = new HangupAction(
-                               String.format("Local/%s@rooms-originate-.*$", 
sipNumber)
+                               
String.format("/^Local/%s@rooms-originate-.*$/", sipNumber)
                                , 16 // AST_CAUSE_NORMAL_CLEARING
                                );
                exec(ha);
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
index 3ec486d72..728d717c1 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
@@ -47,6 +47,7 @@ import java.util.stream.Stream;
 import javax.websocket.WebSocketContainer;
 
 import org.apache.openmeetings.IApplication;
+import org.apache.openmeetings.core.remote.KStream;
 import org.apache.openmeetings.core.sip.SipManager;
 import org.apache.openmeetings.core.util.ChatWebSocketHelper;
 import org.apache.openmeetings.core.util.WebSocketHelper;
@@ -56,6 +57,7 @@ import org.apache.openmeetings.db.dao.label.LabelDao;
 import org.apache.openmeetings.db.dao.record.RecordingDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.basic.Client;
+import org.apache.openmeetings.db.entity.basic.Client.Activity;
 import org.apache.openmeetings.db.entity.calendar.Appointment;
 import org.apache.openmeetings.db.entity.calendar.MeetingMember;
 import org.apache.openmeetings.db.entity.record.Recording;
@@ -369,6 +371,18 @@ public class Application extends 
AuthenticatedWebApplication implements IApplica
                } catch (Exception err) {
                        log.error("[appStart]", err);
                }
+               { //scope
+                       // warm-up Inject
+                       Client c = new Client(null, 1, null, null);
+                       KStream stream = null;
+                       try {
+                               stream = new 
KStream(c.addStream(Client.StreamType.WEBCAM, Activity.AUDIO_VIDEO), null);
+                       } finally {
+                               if (stream != null) {
+                                       stream.release();
+                               }
+                       }
+               }
        }
 
        private static class NoVersionMapper extends MountedMapper {
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
index 78e99af87..3a4152b35 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
@@ -190,6 +190,7 @@ public class RoomPanel extends BasePanel {
                                showIdeaAlert(target, getString("1315"));
                        }
                        wb.update(target);
+                       jsInited = true;
                }
 
                private CharSequence sendClientsOnInit() {
@@ -257,6 +258,7 @@ public class RoomPanel extends BasePanel {
        };
        Component eventDetail = new 
WebMarkupContainer(EVENT_DETAILS_ID).setVisible(false);
        private boolean avInited = false;
+       private boolean jsInited = false;
 
        @SpringBean
        private ClientManager cm;
@@ -419,6 +421,9 @@ public class RoomPanel extends BasePanel {
 
        @Override
        public void onEvent(IEvent<?> event) {
+               if (!jsInited) {
+                       return;
+               }
                Client curClient = getClient();
                if (curClient != null && event.getPayload() instanceof 
WebSocketPushPayload) {
                        WebSocketPushPayload wsEvent = (WebSocketPushPayload) 
event.getPayload();
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
index 982b59d3d..d96d16f2a 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
@@ -228,7 +228,7 @@ public class RoomMenuPanel extends Panel {
                handler.add(roomName.add(AttributeModifier.replace(ATTR_CLASS, 
roomClass), AttributeModifier.replace(ATTR_TITLE, roomTitle)));
                handler.add(askBtn.setVisible(!moder && 
r.isAllowUserQuestions()));
                handler.add(shareBtn.setVisible(room.screenShareAllowed()));
-               handler.appendJavaScript("if (typeof(Sharer) === 'object') 
{$('#share-dlg-btn').off().click(Sharer.open);}");
+               
handler.appendJavaScript("$('#share-dlg-btn').off().click(Sharer.open);");
        }
 
        public void updatePoll(IPartialPageRequestHandler handler, Long 
createdBy) {
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/SipDialerDialog.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/SipDialerDialog.java
index 4cb0944f1..33b0ce9c3 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/SipDialerDialog.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/SipDialerDialog.java
@@ -109,6 +109,6 @@ public class SipDialerDialog extends Modal<String> {
         * @param target - {@link AjaxRequestTarget} to perform additional 
actions(s) if any
         */
        protected void onSubmit(AjaxRequestTarget target) {
-               sipDao.joinToConfCall(number.getModelObject(), room.getRoom());
+               sipDao.callExternalNumber(number.getModelObject(), 
room.getRoom());
        }
 }

Reply via email to