Skip to content

Commit

Permalink
2.7.0 update (#54)
Browse files Browse the repository at this point in the history
  • Loading branch information
mayk-zoom authored Aug 30, 2022
1 parent cebea78 commit dac9210
Show file tree
Hide file tree
Showing 15 changed files with 123 additions and 52 deletions.
18 changes: 9 additions & 9 deletions CDN/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
<head>
<title>Zoom WebSDK</title>
<meta charset="utf-8" />
<link type="text/css" rel="stylesheet" href="https://source.zoom.us/2.6.0/css/bootstrap.css" />
<link type="text/css" rel="stylesheet" href="https://source.zoom.us/2.6.0/css/react-select.css" />
<link type="text/css" rel="stylesheet" href="https://source.zoom.us/2.7.0/css/bootstrap.css" />
<link type="text/css" rel="stylesheet" href="https://source.zoom.us/2.7.0/css/react-select.css" />
<meta name="format-detection" content="telephone=no">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">

Expand Down Expand Up @@ -62,7 +62,7 @@
<div id="navbar" class="websdktest">
<form class="navbar-form navbar-right" id="meeting_form">
<div class="form-group">
<input type="text" name="display_name" id="display_name" value="2.6.0#CDN" maxLength="100"
<input type="text" name="display_name" id="display_name" value="2.7.0#CDN" maxLength="100"
placeholder="Name" class="form-control" required>
</div>
<div class="form-group">
Expand Down Expand Up @@ -139,12 +139,12 @@
})
</script>

<script src="https://source.zoom.us/2.6.0/lib/vendor/react.min.js"></script>
<script src="https://source.zoom.us/2.6.0/lib/vendor/react-dom.min.js"></script>
<script src="https://source.zoom.us/2.6.0/lib/vendor/redux.min.js"></script>
<script src="https://source.zoom.us/2.6.0/lib/vendor/redux-thunk.min.js"></script>
<script src="https://source.zoom.us/2.6.0/lib/vendor/lodash.min.js"></script>
<script src="https://source.zoom.us/zoom-meeting-2.6.0.min.js"></script>
<script src="https://source.zoom.us/2.7.0/lib/vendor/react.min.js"></script>
<script src="https://source.zoom.us/2.7.0/lib/vendor/react-dom.min.js"></script>
<script src="https://source.zoom.us/2.7.0/lib/vendor/redux.min.js"></script>
<script src="https://source.zoom.us/2.7.0/lib/vendor/redux-thunk.min.js"></script>
<script src="https://source.zoom.us/2.7.0/lib/vendor/lodash.min.js"></script>
<script src="https://source.zoom.us/zoom-meeting-2.7.0.min.js"></script>
<script src="js/tool.js"></script>
<script src="js/vconsole.min.js"></script>
<script src="js/index.js"></script>
Expand Down
4 changes: 2 additions & 2 deletions CDN/js/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ function websdkready() {
console.log(JSON.stringify(ZoomMtg.checkSystemRequirements()));

// it's option if you want to change the WebSDK dependency link resources. setZoomJSLib must be run at first
// if (!china) ZoomMtg.setZoomJSLib('https://source.zoom.us/2.6.0/lib', '/av'); // CDN version default
// else ZoomMtg.setZoomJSLib('https://jssdk.zoomus.cn/2.6.0/lib', '/av'); // china cdn option
// if (!china) ZoomMtg.setZoomJSLib('https://source.zoom.us/2.7.0/lib', '/av'); // CDN version default
// else ZoomMtg.setZoomJSLib('https://jssdk.zoomus.cn/2.7.0/lib', '/av'); // china cdn option
// ZoomMtg.setZoomJSLib('http://localhost:9999/node_modules/@zoomus/websdk/dist/lib', '/av'); // Local version default, Angular Project change to use cdn version
ZoomMtg.preLoadWasm(); // pre download wasm file to save time.

Expand Down
4 changes: 2 additions & 2 deletions CDN/js/meeting.js
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,9 @@ function websdkready() {
console.log(JSON.stringify(ZoomMtg.checkSystemRequirements()));

// it's option if you want to change the WebSDK dependency link resources. setZoomJSLib must be run at first
// ZoomMtg.setZoomJSLib("https://source.zoom.us/2.6.0/lib", "/av"); // CDN version defaul
// ZoomMtg.setZoomJSLib("https://source.zoom.us/2.7.0/lib", "/av"); // CDN version defaul
if (meetingConfig.china)
ZoomMtg.setZoomJSLib("https://jssdk.zoomus.cn/2.6.0/lib", "/av"); // china cdn option
ZoomMtg.setZoomJSLib("https://jssdk.zoomus.cn/2.7.0/lib", "/av"); // china cdn option
ZoomMtg.preLoadWasm();
ZoomMtg.prepareJssdk();
function beginJoin(signature) {
Expand Down
16 changes: 8 additions & 8 deletions CDN/meeting.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,20 @@
<head>
<title>Zoom WebSDK</title>
<meta charset="utf-8" />
<link type="text/css" rel="stylesheet" href="https://source.zoom.us/2.6.0/css/bootstrap.css" />
<link type="text/css" rel="stylesheet" href="https://source.zoom.us/2.6.0/css/react-select.css" />
<link type="text/css" rel="stylesheet" href="https://source.zoom.us/2.7.0/css/bootstrap.css" />
<link type="text/css" rel="stylesheet" href="https://source.zoom.us/2.7.0/css/react-select.css" />
<meta name="format-detection" content="telephone=no">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<meta http-equiv="origin-trial" content="">
</head>

<body>
<script src="https://source.zoom.us/2.6.0/lib/vendor/react.min.js"></script>
<script src="https://source.zoom.us/2.6.0/lib/vendor/react-dom.min.js"></script>
<script src="https://source.zoom.us/2.6.0/lib/vendor/redux.min.js"></script>
<script src="https://source.zoom.us/2.6.0/lib/vendor/redux-thunk.min.js"></script>
<script src="https://source.zoom.us/2.6.0/lib/vendor/lodash.min.js"></script>
<script src="https://source.zoom.us/zoom-meeting-2.6.0.min.js"></script>
<script src="https://source.zoom.us/2.7.0/lib/vendor/react.min.js"></script>
<script src="https://source.zoom.us/2.7.0/lib/vendor/react-dom.min.js"></script>
<script src="https://source.zoom.us/2.7.0/lib/vendor/redux.min.js"></script>
<script src="https://source.zoom.us/2.7.0/lib/vendor/redux-thunk.min.js"></script>
<script src="https://source.zoom.us/2.7.0/lib/vendor/lodash.min.js"></script>
<script src="https://source.zoom.us/zoom-meeting-2.7.0.min.js"></script>
<script src="js/tool.js"></script>
<script src="js/vconsole.min.js"></script>
<script src="js/meeting.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion CDN/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "websdk-cdn",
"version": "2.6.0",
"version": "2.7.0",
"description": "Zoom sample app for web client WebSDK",
"main": "index.js",
"scripts": {
Expand Down
44 changes: 44 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,48 @@
# CHANGELOG
## version 2.7.0
## General
### Removed
1. API Key property. [Migrate to SDK Key for versions 2.7.0 and above](https://marketplace.zoom.us/docs/guides/build/jwt-app/jwt-app-migration/#jwt-app-type-to-sdk-app-type-migration)

## Client View
### Added
1. Live stream support
1. Live transcription event listeners
1. Quality of service (audio/video statistics data) event listeners

### Enhanced
1. Participant list scroll performance (virtualization)
1. Participant in-meeting ID to be consistent and persistent across main session and breakout rooms
1. Support host/co-host edit resources in Webinar
1. Footer look-and-feel, and code structure

### Fixed
1. Captions not showing properly in v2.6.0
1. Issues showing participants’ name tags when using no-branding wallpapers
1. Panelists not being able to chat when chat is disabled for attendees
1. “Settings” panel not closing after leaving a meeting
1. Issues changing to the “Resource” tab from the “Chat” tab when clicked on by panelists and attendees in webinars
1. “Claim Host” and “Cancel” buttons being missing from the “Claim Host” dialog
1. Inability to click “Join” button when showing the audio/video preview page in a small iframe

## Component View
### Added
1. 5x5 gallery view support
1. Support for customized waiting rooms
1. Option in “Settings” panel to toggle sending video in 720p when there are no hardware/account limitations
1. Quality of service (audio/video statistics data) event listeners
1. Support for panelists to delete or dismiss Q&A questions in webinars

### Enhanced
1. Component View demo to use SDK Key + Secret instead of API Key + Secret

### Fixed
1. Self-view resizing issues in Firefox, Safari, and Chrome without SharedArrayBuffer access
1. Virtual background images files not loading properly when waiting room is enabled
1. Placeholder tips not showing in Q&A panel
1. Attendee’s question being removed in “My Questions” tab when dismissed by host
1. Host being able to chat when chat is disabled

## version 2.6.0
## General
### Fixed
Expand Down
4 changes: 2 additions & 2 deletions Components/package.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{
"name": "websdk-component-demo",
"version": "2.6.0",
"version": "2.7.0",
"private": true,
"dependencies": {
"@ant-design/icons": "^4.6.2",
"@testing-library/jest-dom": "^5.11.9",
"@testing-library/react": "^11.2.5",
"@testing-library/user-event": "^12.8.3",
"@zoomus/websdk": "2.6.0",
"@zoomus/websdk": "2.7.0",
"antd": "^4.14.1",
"classnames": "^2.2.6",
"crypto-js": "^4.0.0",
Expand Down
6 changes: 3 additions & 3 deletions Components/public/cdn.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
<meta charset="UTF-8">
<title>WebSDK Embedded CDN demo</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://source.zoom.us/2.6.0/lib/vendor/react.min.js"></script>
<script src="https://source.zoom.us/2.6.0/lib/vendor/react-dom.min.js"></script>
<script src="https://source.zoom.us/2.6.0/zoom-meeting-embedded-2.6.0.min.js"></script>
<script src="https://source.zoom.us/2.7.0/lib/vendor/react.min.js"></script>
<script src="https://source.zoom.us/2.7.0/lib/vendor/react-dom.min.js"></script>
<script src="https://source.zoom.us/2.7.0/zoom-meeting-embedded-2.7.0.min.js"></script>
<script src="./tools/tool.js"></script>
<script src="./tools/vconsole.min.js"></script>
<script src="./tools/token-tool.js"></script>
Expand Down
6 changes: 3 additions & 3 deletions Components/public/nav.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
<head>
<title>Zoom WebSDK Embedded Demo Nav</title>
<meta charset="utf-8" />
<link type="text/css" rel="stylesheet" href="https://source.zoom.us/2.6.0/css/bootstrap.css" />
<link type="text/css" rel="stylesheet" href="https://source.zoom.us/2.6.0/css/react-select.css" />
<link type="text/css" rel="stylesheet" href="https://source.zoom.us/2.7.0/css/bootstrap.css" />
<link type="text/css" rel="stylesheet" href="https://source.zoom.us/2.7.0/css/react-select.css" />
<meta name="format-detection" content="telephone=no">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<script src="./tools/jsrsasign-all-min.js"></script>
Expand Down Expand Up @@ -66,7 +66,7 @@
<div id="navbar" class="websdktest">
<form class="navbar-form navbar-right" id="meeting_form">
<div class="form-group">
<input type="text" name="display_name" id="display_name" value="2.6.0#CDN" maxLength="100"
<input type="text" name="display_name" id="display_name" value="2.7.0#CDN" maxLength="100"
placeholder="Name" class="form-control" required>
</div>
<div class="form-group">
Expand Down
5 changes: 2 additions & 3 deletions Components/tools/cdn.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ function websdkready() {
// get meeting args from url
var tmpArgs = testTool.parseQuery();
var meetingConfig = {
apiKey: tmpArgs.apiKey,
sdkKey: tmpArgs.sdkKey,
meetingNumber: tmpArgs.mn,
userName: (function () {
if (tmpArgs.name) {
Expand Down Expand Up @@ -58,7 +58,6 @@ function websdkready() {
zmClient.init({
debug: true,
zoomAppRoot: rootElement,
// assetPath: 'https://websdk.zoomdev.us/2.0.0/lib/av', //default
webEndpoint: meetingConfig.webEndpoint,
language: meetingConfig.lang,
customize: {
Expand All @@ -83,7 +82,7 @@ function websdkready() {

// WebSDK Embedded join
zmClient.join({
apiKey: meetingConfig.apiKey,
sdkKey: meetingConfig.sdkKey,
signature: meetingConfig.signature,
meetingNumber: meetingConfig.meetingNumber,
userName: meetingConfig.userName,
Expand Down
28 changes: 14 additions & 14 deletions Components/tools/nav.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ function websdkready() {
console.log("checkSystemRequirements");
// console.log(JSON.stringify(ZoomMtgEmbedded.checkSystemRequirements()));

var API_KEY = "YOUR_API_KEY";
var SDK_KEY = "YOUR_SDK_KEY";

/**
* NEVER PUT YOUR ACTUAL API SECRET IN CLIENT SIDE CODE, THIS IS JUST FOR QUICK PROTOTYPING
* The below generateSignature should be done server side as not to expose your api secret in public
* You can find an eaxmple in here: https://marketplace.zoom.us/docs/sdk/native-sdks/web/essential/signature
* You can find an eaxmple in here: https://marketplace.zoom.us/docs/sdk/native-sdks/web/signature
*/
var API_SECRET = "YOUR_API_SECRET";
var SDK_SECRET = "YOUR_SDK_SECRET";
// some help code, remember mn, pwd, lang to cookie, and autofill.
document.getElementById("display_name").value =
testTool.detectOS() +
Expand Down Expand Up @@ -94,16 +94,16 @@ function websdkready() {
testTool.setCookie("meeting_number", meetingConfig.mn);
testTool.setCookie("meeting_pwd", meetingConfig.pwd);

// generateSignature define in token-tool.js
var signature = generateSignature({
// generateSDKSignature define in token-tool.js
var signature = generateSDKSignature({
meetingNumber: meetingConfig.mn,
apiKey: API_KEY,
apiSecret: API_SECRET,
sdkKey: SDK_KEY,
sdkSecret: SDK_SECRET,
role: meetingConfig.role,
success: function (res) {
console.log(res);
meetingConfig.signature = res;
meetingConfig.apiKey = API_KEY;
meetingConfig.sdkKey = SDK_KEY;
if (document.getElementById('demoType').value === 'cdn') {
var joinUrl = "/cdn.html?" + testTool.serialize(meetingConfig);
console.log(joinUrl);
Expand Down Expand Up @@ -133,15 +133,15 @@ function websdkready() {
alert("Meeting number or username is empty");
return false;
}
var signature = generateSignature({
var signature = generateSDKSignature({
meetingNumber: meetingConfig.mn,
apiKey: API_KEY,
apiSecret: API_SECRET,
sdkKey: SDK_KEY,
sdkSecret: SDK_SECRET,
role: meetingConfig.role,
success: function (res) {
console.log(res.result);
meetingConfig.signature = res.result;
meetingConfig.apiKey = API_KEY;
console.log(res);
meetingConfig.signature = res;
meetingConfig.sdkKey = SDK_KEY;
if (document.getElementById('demoType').value === 'cdn') {
var joinUrl =
testTool.getCurrentDomain() +
Expand Down
28 changes: 28 additions & 0 deletions Components/tools/token-tool.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,35 @@ window.generateSignature = function(props) {
return signature
}

window.generateSDKSignature = function(data) {
var signature = '';
const {
sdkKey, sdkSecret, meetingNumber, role
} = data;
// try {
const iat = Math.round(new Date().getTime() / 1000) - 30;
const exp = iat + 60 * 60 * 2;

// Header
const oHeader = { alg: 'HS256', typ: 'JWT' };
// Payload
const oPayload = {
sdkKey,
iat,
exp,
mn: meetingNumber,
role
};
// Sign JWT
const sHeader = JSON.stringify(oHeader);
const sPayload = JSON.stringify(oPayload);
signature = KJUR.jws.JWS.sign('HS256', sHeader, sPayload, sdkSecret);
if ('success' in data && data.success){
data.success(signature);
}

return signature;
}

}).call(this)}).call(this,require("buffer").Buffer)
},{"buffer":66,"crypto":76,"njwt":156,"secure-random":182}],2:[function(require,module,exports){
Expand Down
2 changes: 1 addition & 1 deletion Local/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@
<div id="navbar" class="websdktest">
<form class="navbar-form navbar-right" id="meeting_form">
<div class="form-group">
<input type="text" name="display_name" id="display_name" value="2.6.0#Local" maxLength="100"
<input type="text" name="display_name" id="display_name" value="2.7.0#Local" maxLength="100"
placeholder="Name" class="form-control" required>
</div>
<div class="form-group">
Expand Down
4 changes: 2 additions & 2 deletions Local/js/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ console.log("checkSystemRequirements");
console.log(JSON.stringify(ZoomMtg.checkSystemRequirements()));

// it's option if you want to change the WebSDK dependency link resources. setZoomJSLib must be run at first
// if (!china) ZoomMtg.setZoomJSLib('https://source.zoom.us/2.6.0/lib', '/av'); // CDN version default
// else ZoomMtg.setZoomJSLib('https://jssdk.zoomus.cn/2.6.0/lib', '/av'); // china cdn option
// if (!china) ZoomMtg.setZoomJSLib('https://source.zoom.us/2.7.0/lib', '/av'); // CDN version default
// else ZoomMtg.setZoomJSLib('https://jssdk.zoomus.cn/2.7.0/lib', '/av'); // china cdn option
// ZoomMtg.setZoomJSLib('http://localhost:9999/node_modules/@zoomus/websdk/dist/lib', '/av'); // Local version default, Angular Project change to use cdn version
ZoomMtg.preLoadWasm();
ZoomMtg.prepareJssdk();
Expand Down
4 changes: 2 additions & 2 deletions Local/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "http://json.schemastore.org/coffeelint",
"name": "websdk-local",
"version": "2.6.0",
"version": "2.7.0",
"description": "Zoom sample app for web client WebSDK",
"main": "index.js",
"scripts": {
Expand All @@ -18,7 +18,7 @@
"author": "Zoom Video Communications, Inc.",
"license": "SEE LICENSE IN LICENSE.md",
"dependencies": {
"@zoomus/websdk": "2.6.0",
"@zoomus/websdk": "2.7.0",
"lodash": "^4.17.14",
"react": "16.8.6",
"react-dom": "16.8.6",
Expand Down

0 comments on commit dac9210

Please sign in to comment.