...and it turns out we don't need the switch anymore, anyway. When we upgraded to Django 1.11, this flag was added in order to allow for a database migration that would render the user table unwriteable for up to half an hour: https://github.com/edx/edx-platform/pull/17561 This involved swapping out the signal handler for logins via `user_logged_in.disconnect(django_update_last_login)`, but with Django 2.0, that disconnect is silently failing (returning false). Likely the disconnect is now happening too soon. (See edx-platform/common/djangoapps/student/apps.py line 21 in 61e1eda.) The result is that by the time the waffle switch is consulted, the normal handler has already run, and the user's last login date has already been updated. For now we're just removing the test, and have filed ARCHBOM-1084 for followup (deleting the switch and related code).
Open edX -------- This is the root package for Open edX. The intent is that all importable code from Open edX will eventually live here, including the code in the lms, cms, and common directories. If you're adding a new Django app, place it in core/djangoapps. If you're adding utilities that require Django, place them in core/djangolib. If you're adding code that defines no Django models or views of its own but is widely useful, put it in core/lib. Note: All new code should be created in this package, and the legacy code will be moved here gradually. For now the code is not structured like this, and hence legacy code will continue to live in a number of different packages.