The motivation for this change is performance. The forums UI code gets
the list of users for each role and renders the staff label based on
those lists. The list for the staff role is expensive to compute because
there is no index on the is_staff attribute, and we cannot create one
because the User model is built into django.
Users with is_staff=True are still assigned the Moderator role upon
enrolling in a course, so this change will have no practical effect
except that a user who is granted staff privileges after enrolling in a
course will have to be made a Moderator in order for their posts to be
labeled.
Additionally, the UI did not use the list of users with the Student
role, so that list has been removed as well.
This change requires cs_comments_service version 31ef160 or later. Now
that the /threads endpoint can filter by commentable_ids, use that
instead of the /search/threads endpoint, which does not sort and
paginate correctly.
Bug: FOR-224
They now include screen reader-friendly text, have the ARIA checkbox
role, activate on keypress (for space or enter), and occur in the DOM
after the header information (title, etc.)
Fix bug when the user clicks on the video time-line either
before or after the specified end time, it jumps
to the very beginning of the video.
BLD-392
Avoid recomputing course module information for every thread, which
should dramatically improve the performance of high-percentile latency
queries.
JIRA: FOR-250
CommentClientError now has sane subclasses that are meaningfully
distinct, and each subclass is handled appropriately. Errors raised by
the requests library are no longer handled by turning them into
CommentClientErrors, since there is no meaningful handling we can do,
and this way we will get more visibility into why errors are occurring.
Also, HTTP status codes from the comments service indicating client
error are correctly passed through to the client.
change to use regex to do the domain mappings. Also add config to AWS to be able to set from configuration file.
handle cases where HTTP_HOST is none, like in unit tests
add linefeed at end
fix up regex matches
switch to use thread local storage to hold the request itself
.
.
convert over to use open source 3rd party library
convert over to use django-cum
add unit test
remove comment
.
add comment to config setting
fix comment
use better regex for localdev
no need to break
no need to wrap an imported function, it's visible to any file that is importing us
add comment
add unit test
clean up test
use a separate env file to set the preview hostname