Firstly, we're now explicitly instructing the comments service to not return thread responses/comments if the request isn't AJAX. So, if you load the URL for a single discussion thread in your browser, this would be a non-AJAX call and we'll avoid loading the responses for the entire thread behind-the-scenes. Big win here for large threads. Next, we removed a redundant "get threads" call which was also happening behind-the-scenes. This call was redundant as the front-end JS also grabs the thread list when a topic is chosen, so we were making an extranenous call for no benefit. Poof, gone! Finally, we added some caching of database queries that are required to drive a lot of the permissions/cohorts machinery around discussion. This will have a minimal effect but introduced a cleaner way to apply general memoization at the per-request level which will let us further cache things as we identify them as issues.
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| badges | Loading commit data... | |
| branding | Loading commit data... | |
| bulk_email | Loading commit data... | |
| ccx | Loading commit data... | |
| certificates | Loading commit data... | |
| class_dashboard | Loading commit data... | |
| commerce | Loading commit data... | |
| course_api | Loading commit data... | |
| course_blocks | Loading commit data... | |
| course_structure_api | Loading commit data... | |
| course_wiki | Loading commit data... | |
| courseware | Loading commit data... | |
| coursewarehistoryextended | Loading commit data... | |
| dashboard | Loading commit data... | |
| debug | Loading commit data... | |
| discussion | Loading commit data... | |
| discussion_api | Loading commit data... | |
| django_comment_client | Loading commit data... | |
| edxnotes | Loading commit data... | |
| email_marketing | Loading commit data... | |
| gating | Loading commit data... | |
| grades | Loading commit data... | |
| instructor | Loading commit data... | |
| instructor_analytics | Loading commit data... | |
| instructor_task | Loading commit data... | |
| learner_dashboard | Loading commit data... | |
| lms_migration | Loading commit data... | |
| lms_xblock | Loading commit data... | |
| lti_provider | Loading commit data... | |
| mailing | Loading commit data... | |
| mobile_api | Loading commit data... | |
| notes | Loading commit data... | |
| notification_prefs | Loading commit data... | |
| notifier_api | Loading commit data... | |
| oauth2_handler | Loading commit data... | |
| rss_proxy | Loading commit data... | |
| shoppingcart | Loading commit data... | |
| static_template_view | Loading commit data... | |
| staticbook | Loading commit data... | |
| student_account | Loading commit data... | |
| student_profile | Loading commit data... | |
| support | Loading commit data... | |
| survey | Loading commit data... | |
| teams | Loading commit data... | |
| verified_track_content | Loading commit data... | |
| verify_student | Loading commit data... | |
| __init__.py | Loading commit data... | |
| context_processors.py | Loading commit data... |