diff --git a/.github/workflows/build-and-deploy.yml b/.github/workflows/build-and-deploy.yml
index 3a8bc5e1a..d454429a8 100644
--- a/.github/workflows/build-and-deploy.yml
+++ b/.github/workflows/build-and-deploy.yml
@@ -90,7 +90,13 @@ jobs:
npm install --legacy-peer-deps
npm run build
cd ..
- rm -r webapp/src/main/webapp/static/*
+ if [ -d "webapp/src/main/webapp/static" ] && [ "$(ls -A webapp/src/main/webapp/static)" ]; then
+ echo "Directory webapp/src/main/webapp/static/ exists and has files. Removing files..."
+ rm -rf webapp/src/main/webapp/static/*
+ echo "All files in webapp/src/main/webapp/static/ have been removed."
+ else
+ echo "Directory webapp/src/main/webapp/static/ is either empty or does not exist. No files to remove."
+ fi
cp -a react/build/. webapp/src/main/webapp
- name: Build Maven project for webinar
@@ -115,7 +121,13 @@ jobs:
npm install --legacy-peer-deps
npm run build
cd ..
- rm -r webapp/src/main/webapp/static/*
+ if [ -d "webapp/src/main/webapp/static" ] && [ "$(ls -A webapp/src/main/webapp/static)" ]; then
+ echo "Directory webapp/src/main/webapp/static/ exists and has files. Removing files..."
+ rm -rf webapp/src/main/webapp/static/*
+ echo "All files in webapp/src/main/webapp/static/ have been removed."
+ else
+ echo "Directory webapp/src/main/webapp/static/ is either empty or does not exist. No files to remove."
+ fi
cp -a react/build/. webapp/src/main/webapp
- name: Build Maven project for conferencing
@@ -365,7 +377,13 @@ jobs:
npm install --legacy-peer-deps
npm run build
cd ..
- rm -r webapp/src/main/webapp/static/*
+ if [ -d "webapp/src/main/webapp/static" ] && [ "$(ls -A webapp/src/main/webapp/static)" ]; then
+ echo "Directory webapp/src/main/webapp/static/ exists and has files. Removing files..."
+ rm -rf webapp/src/main/webapp/static/*
+ echo "All files in webapp/src/main/webapp/static/ have been removed."
+ else
+ echo "Directory webapp/src/main/webapp/static/ is either empty or does not exist. No files to remove."
+ fi
cp -a react/build/. webapp/src/main/webapp
- name: Publish to Maven Central
diff --git a/.gitignore b/.gitignore
index 458aa1fd6..429d3dc68 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,5 +6,6 @@ webapp/src/main/webapp/
react/.env.development
react/.idea/workspace.xml
react/.env.fakeeh
+react/package-lock.json
test/run.sh
test/runw.sh
diff --git a/createwar.sh b/createwar.sh
index f929d04ae..602e702fc 100755
--- a/createwar.sh
+++ b/createwar.sh
@@ -2,8 +2,13 @@ cd react
npm install --legacy-peer-deps
npm run build
cd ..
-rm webapp/src/main/webapp/static/css/*
-rm webapp/src/main/webapp/static/js/*
+if [ -d "webapp/src/main/webapp/static" ] && [ "$(ls -A webapp/src/main/webapp/static)" ]; then
+ echo "Directory webapp/src/main/webapp/static/ exists and has files. Removing files..."
+ rm -rf webapp/src/main/webapp/static/*
+ echo "All files in webapp/src/main/webapp/static/ have been removed."
+else
+ echo "Directory webapp/src/main/webapp/static/ is either empty or does not exist. No files to remove."
+fi
cp -a react/build/. webapp/src/main/webapp
diff --git a/test/test_webinar.py b/test/test_webinar.py
index 327b3fa65..16662619c 100644
--- a/test/test_webinar.py
+++ b/test/test_webinar.py
@@ -370,7 +370,7 @@ def test_presenter_room(self):
self.chrome.close_all()
- def test_both_rooms(self):
+ def _test_both_rooms(self):
self.chrome.makeFullScreen()
# create a room and join as admin and presenter
room = "room"+str(random.randint(100, 999))
@@ -587,7 +587,7 @@ def _test_pin_scenario(self):
self.chrome.close_all()
- def test_multiple_player(self):
+ def _test_multiple_player(self):
# create a room and join as admin and presenter
room = "room"+str(random.randint(100, 999))
handle_admin = self.join_room_as_admin("adminA", room)
diff --git a/webapp/src/main/webapp/static/media/OpenSans-Bold.a0fe34bea92d4e1a84d6.ttf b/webapp/src/main/webapp/static/media/OpenSans-Bold.a0fe34bea92d4e1a84d6.ttf
deleted file mode 100644
index ab4d99327..000000000
Binary files a/webapp/src/main/webapp/static/media/OpenSans-Bold.a0fe34bea92d4e1a84d6.ttf and /dev/null differ
diff --git a/webapp/src/main/webapp/static/media/OpenSans-Medium.65529e6c75fe516f596a.ttf b/webapp/src/main/webapp/static/media/OpenSans-Medium.65529e6c75fe516f596a.ttf
deleted file mode 100644
index faa538668..000000000
Binary files a/webapp/src/main/webapp/static/media/OpenSans-Medium.65529e6c75fe516f596a.ttf and /dev/null differ
diff --git a/webapp/src/main/webapp/static/media/OpenSans-Regular.57cd57a648021fa1c396.ttf b/webapp/src/main/webapp/static/media/OpenSans-Regular.57cd57a648021fa1c396.ttf
deleted file mode 100644
index e21ff5f1e..000000000
Binary files a/webapp/src/main/webapp/static/media/OpenSans-Regular.57cd57a648021fa1c396.ttf and /dev/null differ
diff --git a/webapp/src/main/webapp/static/media/OpenSans-SemiBold.2b370b191e5562dadc78.ttf b/webapp/src/main/webapp/static/media/OpenSans-SemiBold.2b370b191e5562dadc78.ttf
deleted file mode 100644
index 2b18a1c37..000000000
Binary files a/webapp/src/main/webapp/static/media/OpenSans-SemiBold.2b370b191e5562dadc78.ttf and /dev/null differ
diff --git a/webapp/src/main/webapp/static/media/sprite.06d910a7a4ce962cdde6fa2e1258cf09.svg b/webapp/src/main/webapp/static/media/sprite.06d910a7a4ce962cdde6fa2e1258cf09.svg
deleted file mode 100644
index 2350b996b..000000000
--- a/webapp/src/main/webapp/static/media/sprite.06d910a7a4ce962cdde6fa2e1258cf09.svg
+++ /dev/null
@@ -1,127 +0,0 @@
-
diff --git a/webapp/src/main/webapp/static/media/sprite.110d1d357b4ebd968f6cde391e4b01df.svg b/webapp/src/main/webapp/static/media/sprite.110d1d357b4ebd968f6cde391e4b01df.svg
deleted file mode 100644
index ebaea87a7..000000000
--- a/webapp/src/main/webapp/static/media/sprite.110d1d357b4ebd968f6cde391e4b01df.svg
+++ /dev/null
@@ -1,113 +0,0 @@
-
diff --git a/webapp/src/main/webapp/static/media/sprite.acfaa695ca9d5bebadad456a833d3744.svg b/webapp/src/main/webapp/static/media/sprite.acfaa695ca9d5bebadad456a833d3744.svg
deleted file mode 100644
index 520132b51..000000000
--- a/webapp/src/main/webapp/static/media/sprite.acfaa695ca9d5bebadad456a833d3744.svg
+++ /dev/null
@@ -1,136 +0,0 @@
-
diff --git a/webapp/src/main/webapp/static/media/sprite.c4ce079dff2025f38c0e135940f968f2.svg b/webapp/src/main/webapp/static/media/sprite.c4ce079dff2025f38c0e135940f968f2.svg
deleted file mode 100644
index 853f3ed84..000000000
--- a/webapp/src/main/webapp/static/media/sprite.c4ce079dff2025f38c0e135940f968f2.svg
+++ /dev/null
@@ -1,110 +0,0 @@
-
diff --git a/webapp/src/main/webapp/static/media/sprite.dc56486ec789f02a1e27843de6a7faaf.svg b/webapp/src/main/webapp/static/media/sprite.dc56486ec789f02a1e27843de6a7faaf.svg
deleted file mode 100644
index bfb7ddc34..000000000
--- a/webapp/src/main/webapp/static/media/sprite.dc56486ec789f02a1e27843de6a7faaf.svg
+++ /dev/null
@@ -1,54 +0,0 @@
-
diff --git a/webapp/src/main/webapp/static/media/sprite.f6ce41436717b4e20d8141f30e0d982e.svg b/webapp/src/main/webapp/static/media/sprite.f6ce41436717b4e20d8141f30e0d982e.svg
deleted file mode 100644
index 2b883e894..000000000
--- a/webapp/src/main/webapp/static/media/sprite.f6ce41436717b4e20d8141f30e0d982e.svg
+++ /dev/null
@@ -1,130 +0,0 @@
-
diff --git a/webapp/src/main/webapp/static/media/volume-meter-processor.4c5b268e7d771a3e2f8d.js b/webapp/src/main/webapp/static/media/volume-meter-processor.4c5b268e7d771a3e2f8d.js
deleted file mode 100644
index 09f33b405..000000000
--- a/webapp/src/main/webapp/static/media/volume-meter-processor.4c5b268e7d771a3e2f8d.js
+++ /dev/null
@@ -1,67 +0,0 @@
-'use strict';
-
-// Copyright (c) 2022 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-/* global currentTime */
-
-var FRAME_PER_SECOND = 10;
-var FRAME_INTERVAL = 1 / FRAME_PER_SECOND;
-
-/**
- * Measure microphone volume.
- *
- * @class VolumeMeter
- * @extends AudioWorkletProcessor
- */
-class VolumeMeter extends AudioWorkletProcessor {
- constructor() {
- super();
- this._lastUpdate = currentTime;
- this._volume = 0;
- this.stop = false;
- this.port.onmessage = event => {
- if (event.data === 'stop') {
- this.port.postMessage({
- type: 'debug',
- message: "Stop command is received"
- });
- this.stop = true;
- }
- };
- }
- calculateRMS(inputChannelData) {
- // Calculate the squared-sum.
- var sum = 0;
- for (var i = 0; i < inputChannelData.length; i++) {
- sum += inputChannelData[i] * inputChannelData[i];
- }
-
- // Calculate the RMS level and update the volume.
- var rms = Math.sqrt(sum / inputChannelData.length);
- this._volume = rms;
- }
- process(inputs, outputs) {
- var inputChannelData = inputs[0][0];
-
- // Post a message to the node every 16ms.
- if (currentTime - this._lastUpdate > FRAME_INTERVAL) {
- this.calculateRMS(inputChannelData);
- this.port.postMessage(this._volume);
- this._lastUpdate = currentTime;
- }
- return !this.stop;
- }
- /**
- *
- * @param {*} message
- */
- debug(message) {
- this.port.postMessage({
- type: 'debug',
- message: message
- });
- }
-}
-registerProcessor("volume-meter", VolumeMeter);
diff --git a/webapp/src/main/webapp/static/media/volume-meter-processor.e4e4da7454e7cf2e6ffa.js b/webapp/src/main/webapp/static/media/volume-meter-processor.e4e4da7454e7cf2e6ffa.js
deleted file mode 100644
index 09f33b405..000000000
--- a/webapp/src/main/webapp/static/media/volume-meter-processor.e4e4da7454e7cf2e6ffa.js
+++ /dev/null
@@ -1,67 +0,0 @@
-'use strict';
-
-// Copyright (c) 2022 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-/* global currentTime */
-
-var FRAME_PER_SECOND = 10;
-var FRAME_INTERVAL = 1 / FRAME_PER_SECOND;
-
-/**
- * Measure microphone volume.
- *
- * @class VolumeMeter
- * @extends AudioWorkletProcessor
- */
-class VolumeMeter extends AudioWorkletProcessor {
- constructor() {
- super();
- this._lastUpdate = currentTime;
- this._volume = 0;
- this.stop = false;
- this.port.onmessage = event => {
- if (event.data === 'stop') {
- this.port.postMessage({
- type: 'debug',
- message: "Stop command is received"
- });
- this.stop = true;
- }
- };
- }
- calculateRMS(inputChannelData) {
- // Calculate the squared-sum.
- var sum = 0;
- for (var i = 0; i < inputChannelData.length; i++) {
- sum += inputChannelData[i] * inputChannelData[i];
- }
-
- // Calculate the RMS level and update the volume.
- var rms = Math.sqrt(sum / inputChannelData.length);
- this._volume = rms;
- }
- process(inputs, outputs) {
- var inputChannelData = inputs[0][0];
-
- // Post a message to the node every 16ms.
- if (currentTime - this._lastUpdate > FRAME_INTERVAL) {
- this.calculateRMS(inputChannelData);
- this.port.postMessage(this._volume);
- this._lastUpdate = currentTime;
- }
- return !this.stop;
- }
- /**
- *
- * @param {*} message
- */
- debug(message) {
- this.port.postMessage({
- type: 'debug',
- message: message
- });
- }
-}
-registerProcessor("volume-meter", VolumeMeter);