• last updated 3 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Do not enforce that pictures are always different on desktop screens, as they may be still for longer than the average picture interval

Be stricter with user output:

- enable again the check for monochrome pictures

- enable for the screen as well that one should not send the same identycal picture twice

Reduce impact of PiP preview on the user experience: start PiP only when the window loses focus and interrupt PiP whenever the user interacts with the page in the foreground again

Port of downstream behavior:

to prevent modern browsers to shut down proctoring when put out of focus, make so that a foreground PiP of one of the streams is always displayed.

Reuse the canvas objects throughout the proctoring

Follow Chrome suggestion and apply the willReadFrequently option to the canvas context

See https://html.spec.whatwg.org/multipage/canvas.html#concept-canvas-will-read-frequently

Fully qualify global classes

  1. … 1 more file in changeset.
Use a consistent idiom to check for undefined

  1. … 1 more file in changeset.
AudioContext is now widely supported

Stop supporting old-sytle media capturing

Prefer an idiom that won't create a fresh object to reset array

Style changes:

- use ' instead of " consistently in the code

- use strict equality operators

Modernize javascript:

- use const and let instead of var to better specify the scope and lifetime of variables

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

improve spelling

  1. … 1 more file in changeset.
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. … 3 more files in changeset.
Check stream refactoring: break down better the various error situations so they can be reported to the user

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

Store the previous picture by a deep value copy, rather then by reference, as the original canvas is going to be watermarked

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

An own package for proctoring support.

What is there

- adp includes implementing the main proctoring user interaction: desired page can be enclosed in an iframe that will send shaphots taken from browser's camera and microphone at random intervals. Various options can be specified, including custom UI messages and the include can be integrated in custom pages or as part xowiki/xowf object methods

- wizard-based step-by-step configuration of user's setup

- english and german localization

- default proctoring upload endpoints upon package mount

- configuration data-model and api

What is missing

- reporting UI includes (porting from downstream should come shortly)

- some message key is WU specific (but can be customized)

- further parameters/customization

- ...

  1. … 20 more files in changeset.