feat(quince): warn when relative dates are past due and can't be shifted - #664
Closed
DanielVZ96 wants to merge 86 commits into
Closed
feat(quince): warn when relative dates are past due and can't be shifted#664DanielVZ96 wants to merge 86 commits into
DanielVZ96 wants to merge 86 commits into
Conversation
This kicks off the Quince release! We follow the instructions from: https://openedx.atlassian.net/wiki/spaces/COMM/pages/19662426/Process+to+Create+an+Open+edX+Release
Quince django42 upgrade
With this change, the platform users who access content via LTI will be automatically linked to their platform account instead of the new (anonymous) one. The following conditions need to be met: * The `LtiConsumer` should be configured to auto-link the users via email. * The LTI Consumer should share the user's email using the `lis_person_contact_email_primary` parameter in the LTI Launch POST data. This also replaces the one-to-one relationship of the `User` and `LtiUser` with one-to-many. This way, multiple `LtiUser` objects can refer to the same `edx_user`. With the auto-linking, multiple LTI Consumers can create independent `LtiUser` objects with the same `edx_user`. Co-authored-by: Piotr Surowiec <piotr@surowiec.it> (cherry picked from commit 5b2f012)
…kport-lti-provider-user-auto-linking [Quince Backport] feat: link LTI Provider launches to authenticated users
POST requests to the LMS are failing systematically when HTTPS is enabled. This issue is observed in the Quince release branch. Here is the root cause analysis: - CorsCSRFMiddleware overrides the `is_secure` attribute by setting it to "false". - CorsCSRFMiddleware calls the parent `process_view` method, from the CsrfViewMiddleware. - CsrfViewMiddleware checks the Origin header, including the scheme. It is equal to "https://LMSHOST". But because the request is not considered secure, the expected origin is "http://LMSHOST". - The check fails with "Origin checking failed" We resolve this issue by running the CsrfViewMiddleware *before* the custom CorsCSRFMiddleware. After a successful check of the CsrfViewMiddleware, the request has the "csrf_processing_done = True" attribute, and CorsCSRFMiddleware is short-circuited. This issue did not happen in the following environments: - in Palm because the CsrfViewMiddleware did not check the "Origin" header in Django 3. - in the Studio, because the Studio already runs the CsrfViewMiddleware before the CorsCSRFMiddleware. - in the master branch because the master branch does not yet run on Django 4. But the issue will happen in the master branch without this proposed change. To bypass this issue in the master branch, it was proposed that we add "https://LMSHOST" to CSRF_TRUSTED_ORIGINS. This would effectily bypass CSRF checking entirely for all requests that originate from the LMS. Such a solution would not be acceptable, as we would lose the security guarantees offered by CSRF. See discussion: openedx/wg-build-test-release#325
…penedx#33724) (requires the contentstore.enable_copy_paste_units waffle flag)
* test: test for length validation
…it-backport Backport to Quince: copy/paste unit from within a unit in Studio
chore: update Django to 4.2.8 for Quince - Security Patch
…to md5 The hashing algorithm has been changed in cd60646. However, there are Open edX operators who maintain backward compatibility of anonymous user IDs after past rotations of their Django secret key. For them, altering the hashing algorithm was a breaking change that made their analytics inconsistent. (cherry picked from commit 746e4fe) (cherry picked from commit ff6d92f) (cherry picked from commit 7245bdc)
This change adds a new waffle switch to redirect a student to coursware after enrolment instead of the dashboard. (cherry picked from commit f494586)
(cherry picked from commit 79c4b4a4bbb067c07b30980d9bd11ceb3f4e9af2)
…account is unlinked (cherry picked from commit e83a8c8f82849644cf95534cde3fe149e4f11916) (cherry picked from commit 0c831dc)
Allows admins to configure same oauth backend for multiple sites. This change includes site_id in KEY_FIELDS for oauth configuration provider allowing a backend configuration for each site. (cherry picked from commit 565b34e)
Adds the eSHE Instructor role, which inherits Course Staff permissions, but isn't able to enroll / un-enroll students and can't assing course team roles unless in combination with Course Staff / Instructor / Discussion admin roles. (cherry picked from commit 5d160c2)
(cherry picked from commit 2be436d)
fix: removed waffle switch around oep-50 filter
feat: Allow trusted apps to perform cookie login.
…er-20240311-1710116441 Sync opencraft-release/quince.1 with Upstream 20240311-1710116441
Authored-by: Dima Alipov <dimaalipov@MacBook-Pro-Dima.local>
The url was renamed from session_language to update_language but it was still referred to in some html templates
…er-20240325-1711326059 Sync opencraft-release/quince.1 with Upstream 20240325-1711326059
…#34404) Co-authored-by: Dima Alipov <dimaalipov@MacBook-Pro-Dima.local>
…ce-4.2.11 chore: update Django to 4.2.11 for Quince - Security Patch
…tadata response Currently, openedx/frontend-app-authoring#517 faces an issue when the progress graph toggle is enabled/disabled but the settings are not respected, the disable_progress_graph attribute will allow the frontend-app-learning repo to use this attribute to respect the settings authored from frontend-app-course-authoring and ultimately fix openedx/frontend-app-authoring#517.
…s-graph feat: Adds disable_progress_graph attribute to the returned course_me…
…nedx#34485) Co-authored-by: Dima Alipov <dimaalipov@MacBook-Pro-Dima.local>
* fix: Social link parsing approach changed * fix: fix tests * fix: better approach
Makes use of name field from user profile field if it is not empty (cherry picked from commit 53c47bb095b4d885408d1f13589d23673230e520)
…enedx#34466) "Course organization display string" option in Advanced settings doesn't influence certificate. Co-authored-by: Dima Alipov <dimaalipov@MacBook-Pro-Dima.local>
…b-for-all-courses-quince-backport feat: add a feature flag to disable dates tab for all courses
… discussion is enabled (openedx#34426) Co-authored-by: Jason Wesson <jsnwesson@gmail.com>
Open edX implements its a JwtAuthentication class in edx-drf-extensions (in edx_rest_framework_extensions.auth.jwt.authentication). This class updates the local User database entry to match certain values in the token. It's used as a way to automatically provision and update users with their LMS user information on other Open edX services like ecommerce. Since LMS and Studio keep the record of truth in its database tables, they should *not* update their database user information based on the JWT. Doing so would allow stale JWTs to incorrectly reset user values after they had been changed in the LMS. This is done by having the EDX_DRF_EXTENSIONS['JWT_PAYLOAD_USER_ATTRIBUTE_MAPPING'] setting be an empty dictionary, and was set correctly for the LMS in its common.py env settings module. Unfortunately, this was *not* being set for Studio. This commit adds the same setting to Studio's common settings module. Prior to this commit, it was possible for a stale JWT to reset user attributes if the user hit a Studio API endpoint that used JWT for auth (e.g. endpoints used by the Course Authoring MFE). This opened up a potential security issue where a global staff user (is_staff=True) that had their global staff status removed (is_staff=False) could have up to a one hour window in which they could use their stale-but-still-valid global-staff JWT token to regain global staff status by calling a Studio endpoint with their browser.
…er-20240520-1716214773 Sync opencraft-release/quince.1 with Upstream 20240520-1716214773
Author
|
mistakenly mixed up branches |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Backports changes from:
Private-ref: https://tasks.opencraft.com/browse/BB-8542