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()); } }