We have had numerous support tickets/bugs related to special exams
not properly displaying completeness (see https://openedx.atlassian.net/browse/AA-773 for
details). Along with a corresponding edx-proctoring PR, this will now
submit completions for all completable children within a special
exam upon the exam being completed for the first time (as dictated by
the logic in the edx-proctoring PR).
The latest version of edx-proctoring contains updated logging for exam attempts,
specifically in the case where the status of an attempt is updated due to a
time out or if the learner is reattempting an exam
* chore: Update Python requirements via pip-tools. Needed the newest
edx-django-utils version.
* refactor: Use the newly-added ReadOnlyAdminMixin from the updated module and
remove the existing implementation.
* fix: edx-platform now has a Django proxy model - CourseOutlineRegenerate.
Without this fix, the permissions to the model's admin interface cannot be
added to a group and successfully granted to users.
With this upgrade, a small piece of javascript was fixed so we pass milliseconds instead of seconds to vendor script to check the healthiness of the proctoring desktop app
The edx-platform codebase already includes quite a few type annotations, but
they were not regularly checked. This may cause problems, when the annotations
themselves include errors (as we found out in some of the learning_sequences
annotations). So here, we add mypy as a dev requirement and introduce a make
command to run mypy regularly. Mypy runs on a very small portion of the total
edx-platform, as configured in mypy.ini. Our hope is that developers will add
more and more modules to this configuration file, until we can eventually run
mypy on the full code base.
See discussion: https://discuss.openedx.org/t/dev-notes-running-mypy-on-edx-platform/4860
This version of the edx-proctoring library includes a fix to a bug in the onboarding status panel. This bug was preventing the appearance of the onboarding panel in a learner's course outline if an onboarding exam in the course was inaccessible to the learner in such a way that the Learning Sequences API did not return schedule information for the sequence. An onboarding exam that is content gated by enrollment track to an enrollment track in which the learner is not enrolled is an example of this. The bug was that the StudentOnboardingStatusView was not taking into account that an inaccessible sequence might not have a schedule.