@newtonschool/react_proctoring_library 0.0.30 → 0.0.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -36,6 +36,20 @@ const ActivityTracker = _ref => {
36
36
  setAudioPermission,
37
37
  setVideoPermission
38
38
  } = _ref;
39
+ const screenshareVideoReference = (0, _react.useRef)(null);
40
+ (0, _react.useEffect)(() => {
41
+ if (screenshareReference.current) {
42
+ screenshareVideoReference.current.srcObject = screenshareReference.current;
43
+
44
+ screenshareVideoReference.current.onloadedmetadata = e => {
45
+ screenshareVideoReference.current.play();
46
+ };
47
+ }
48
+
49
+ return () => {
50
+ screenshareVideoReference.current.srcObject = null;
51
+ };
52
+ }, [screenshareReference.current]);
39
53
  (0, _react.useEffect)(() => {
40
54
  if ((0, _browserUtils.isChrome)()) {
41
55
  if ((0, _breachUtils.isWebcamRequired)(proctorParams)) {
@@ -140,7 +154,7 @@ const ActivityTracker = _ref => {
140
154
  className: "captured-video-canvas hide",
141
155
  id: "wc-ref"
142
156
  })), /*#__PURE__*/_react.default.createElement("video", {
143
- ref: screenshareReference,
157
+ ref: screenshareVideoReference,
144
158
  className: "captured-video-canvas hide",
145
159
  id: "ss-ref"
146
160
  }));
@@ -154,17 +154,14 @@ const setupScreensharePermission = (setScreensharePermission, screenshareReferen
154
154
 
155
155
  if (track.getSettings().displaySurface === "monitor") {
156
156
  setScreensharePermission(true);
157
- screenshareReference.current.srcObject = stream;
158
-
159
- screenshareReference.current.onloadedmetadata = e => {
160
- screenshareReference.current.play();
161
- };
157
+ screenshareReference.current = stream;
162
158
 
163
159
  track.onended = e => {
164
160
  setScreensharePermission(false);
165
- screenshareReference.current.srcObject = null;
161
+ screenshareReference.current = null;
166
162
  };
167
163
  } else {
164
+ track.stop();
168
165
  screenshareReference.current = null;
169
166
  setScreensharePermission(false);
170
167
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@newtonschool/react_proctoring_library",
3
- "version": "0.0.30",
3
+ "version": "0.0.31",
4
4
  "description": "Used to proctor online tests",
5
5
  "author": "ayushkagrawal,shreyachandra,weastel",
6
6
  "main": "dist/index.js",