diff --git a/docker/openvidu/Dockerfile b/docker/openvidu/Dockerfile --- a/docker/openvidu/Dockerfile +++ b/docker/openvidu/Dockerfile @@ -40,12 +40,12 @@ wget && \ dnf clean all && \ mkdir -p /src/ && \ - git clone --branch stable/kolab-2.16.0 https://git.kolab.org/source/openvidu.git /src/openvidu.git && \ + git clone --branch stable/kolab-2.18.0 https://git.kolab.org/source/openvidu.git /src/openvidu.git && \ cd /src/openvidu.git/ && \ mvn clean install -DskipTests && \ mkdir -p /usr/share/openvidu/ && \ mv -v \ - /src/openvidu.git/openvidu-server/target/openvidu-server-2.16.0.jar \ + /src/openvidu.git/openvidu-server/target/openvidu-server-2.18.0.jar \ /usr/share/openvidu/openvidu-server.jar && \ rm -rvf /src/ /root/.m2/ diff --git a/src/package-lock.json b/src/package-lock.json --- a/src/package-lock.json +++ b/src/package-lock.json @@ -7037,6 +7037,12 @@ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, + "jsnlog": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/jsnlog/-/jsnlog-2.30.0.tgz", + "integrity": "sha512-o3ROQVkhek+dkc7/9TXlB4TNtxUpYsRLOBJHZYk3Vy0B5zRBmfv9tyr56PrjcgEXuy06ARgfLTANY0+ImhzzGA==", + "dev": true + }, "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", @@ -8242,22 +8248,23 @@ } }, "openvidu-browser": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/openvidu-browser/-/openvidu-browser-2.17.0.tgz", - "integrity": "sha512-wholLLrs2R1Rf05+QPOH4eIO9LaKO9UvoinGNHU9WoP32L9cU6WeqL0sH3gHhUdiYPqGwTNRPjC3qk/ltjUbDA==", + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/openvidu-browser/-/openvidu-browser-2.18.0.tgz", + "integrity": "sha512-a9HPAG8p2vG9XGThPUbZWPI5sO1OFmrxKQdCZM3RLmasXQa2Lwj7X1Aicsznb7RtDBg/lD8NdNwAQjm4ZDt2Nw==", "dev": true, "requires": { "freeice": "2.2.2", "hark": "1.2.3", + "jsnlog": "2.30.0", "platform": "1.3.6", - "uuid": "8.3.1", + "uuid": "8.3.2", "wolfy87-eventemitter": "5.2.9" }, "dependencies": { "uuid": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.1.tgz", - "integrity": "sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg==", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true } } diff --git a/src/package.json b/src/package.json --- a/src/package.json +++ b/src/package.json @@ -26,7 +26,7 @@ "frappe-charts": "^1.5.8", "jquery": "^3.6.0", "laravel-mix": "^6.0.12", - "openvidu-browser": "^2.17.0", + "openvidu-browser": "^2.18.0", "popper.js": "^1.16.0", "postcss": "^8.2.8", "resolve-url-loader": "^3.1.2", diff --git a/src/resources/js/meet/app.js b/src/resources/js/meet/app.js --- a/src/resources/js/meet/app.js +++ b/src/resources/js/meet/app.js @@ -10,6 +10,11 @@ static get OWNER() { return 1 << 4; } } +// Disable jsnlog's error handlers added in OpenVidu 2.18 +// https://github.com/OpenVidu/openvidu/issues/631 +window.onerror = () => { return false } +window.onunhandledrejection = () => { return false } + function Meet(container) { let OV // OpenVidu object to initialize a session @@ -164,10 +169,6 @@ metadata.element = participantCreate(metadata) connections[connId] = metadata - - // Send the current user status to the connecting user - // otherwise e.g. nickname might be not up to date - signalUserUpdate(event.connection) }) session.on('connectionDestroyed', event => { @@ -212,6 +213,10 @@ // Update the wrapper controls/status participantUpdate(metadata.element, metadata) + + // Send the current user status to the connecting user + // otherwise e.g. nickname might be not up to date + signalUserUpdate(event.stream.connection) }) // Stream properties changes e.g. audio/video muted/unmuted diff --git a/src/tests/Feature/Controller/OpenViduTest.php b/src/tests/Feature/Controller/OpenViduTest.php --- a/src/tests/Feature/Controller/OpenViduTest.php +++ b/src/tests/Feature/Controller/OpenViduTest.php @@ -494,7 +494,8 @@ $this->assertSame('success', $json['status']); $this->assertTrue(strpos($json['token'], 'wss://') === 0); - $this->assertTrue(strpos($json['token'], 'role=PUBLISHER') !== false); + // OpenVidu 2.18 does not send 'role' param in the token uri + // $this->assertTrue(strpos($json['token'], 'role=PUBLISHER') !== false); } /**