• last updated 11 hours ago
Constraints: committers
Constraints: files
Constraints: dates
Trap errors happening when taking the picture, potentially dependent on the specific hardware/sowftware setup of the user, and abort the session in this case

added support for optionally turning off proctoring recodings

This options is useful e.g. for e.g. mock exams to avoid privacy issues.

  1. … 10 more files in changeset.
improve spelling

  1. … 1 more file in changeset.
Do not handle 400 responses in any special way: cases found in practice were always the result of a client-side timeout

Hide timing information from the user

Streamline proctoring upload:

- do not hardcode a timeout, requests will either complete or eventually fail

- use a single event handler at the end of the request to decide if and how to reschedule the upload. This prevents the possibility that the same error event triggers multiple uploads via different handlers

- improve documentation

Make sure that in case of errors that are also detected as timeouts, we do not reschedule the failed picture twice

Address a problem encountered already with proctoring uploads: in cases that count both as timeouts and errors, the rescheduling of the request would happen twice. If the condition persists, the number of requests can grow out of control

fix bug in javascript, when only the screen-stream should be recorded

Allow in the include to selectively disable combinations of audio, camera and desktop recording (at least one stream needs to be enabled for proctoring to happen)

This allows to better tailor proctoring behavior to the user needs and privacy requirements

  1. … 2 more files in changeset.
Handle the case where the iframe URL points to an external website: just skip the iframe-loop check

Always make sure to clear any previously scheduled upload, before scheduling another one

This handles the case when a connection times out (readyState 4 and status = 0). In this case both the rescheduling in the readystatechange handler and in the timeout handler would be executed.

Check stream refactoring: break down better the various error situations so they can be reported to the user

Include stream name in the error message

Enforce also that, after proctoring has successfully started, captured videos do not stop anymore

This could mean that the video entered some invalid state, as we had already defined an event handler to restart a paused video...

Improve error message

Avoid suddent request bursts when e.g. connectivity resumes

Include the technical error message in the popup to the user when missing stream error occurs

  1. … 4 more files in changeset.
Store the previous picture by a deep value copy, rather then by reference, as the original canvas is going to be watermarked

Try to ask the browser to disable noise suppression on the microphone, so that silence detection won't trigger in case of "normal" environmental silence

Allow to turn off the actual upload of proctored files e.g. to implement a test page or when proctoring should just be used as a deterrent

  1. … 2 more files in changeset.
fix condition: blob can either be null or the size of blob is below the threshold

Pass the check_active_p flag down to the backend from the proctored page, update doc

  1. … 2 more files in changeset.
Add semicolon (just for consistency, code was working before as well)

Move examination statement acceptance as last step of the proctoring wizard, localize the accept button, bind ajax logging of acceptance to the actual clicking of the accept button

  1. … 4 more files in changeset.
Increase the threshold to trigger volume too low message from experience in the wild, reset the counter for the grace period, so that user does not receive immediately a new error

Update new message keys from downstream, make system name come from parameter, reactivate volume too low error message

  1. … 5 more files in changeset.
Bring togehter the thresholds in black picture checks to one value

  1. … 1 more file in changeset.
Remove unneeded error message

  1. … 2 more files in changeset.
file proctored-page.js was initially added on branch oacs-5-10.