Commit Graph

66777 Commits

Author SHA1 Message Date
Feanil Patel
2d78390f02 chore: Upgrade type stubs and other related packages.
Upgrade typing related packages and update to ignore one new annotation
complaint and drop and older complaint that is no longer relevant.
2025-05-07 14:38:45 -04:00
Feanil Patel
df3ac697dd Merge pull request #36673 from openedx/feanil/requirements_update
chore: Upgrade various python packages.
2025-05-07 14:09:50 -04:00
Feanil Patel
5483f5cca9 chore: Upgrade various python packages.
Manually update them because we seemed to be running into issues with
some of them.  Upgrade as much as we can to narrow it down.
2025-05-07 13:45:21 -04:00
Taimoor Ahmed
1bed70b73e feat!: remove cs_comments_service support for forums pin API
This will force the use of the new v2 forums API for pinning/unpinning.
2025-05-07 10:41:37 -04:00
Hassan Raza
588840aef5 fix: Resolve group by id max length issue (#36668) 2025-05-07 11:55:00 +05:00
Tim McCormack
5bc05810dc feat: Improve codejail darklaunch logging (#36671)
This is intended to make logs more or less a standalone source for
analyzing mismatches.

- Only log mismatches or exceptions
- Merge local and remote log messages into one so they can be correlated
  more easily
- Different log messages for mismatch vs. unexpected exceptions
- Include course ID (as limit overrides context) in log message
2025-05-06 16:42:55 -04:00
Feanil Patel
0d20b49d17 Merge pull request #36657 from wgu-ram-chandra/issue-35270-unpin-moto
chore: remove moto version constraint after verifying compatibility
2025-05-06 13:40:47 -04:00
Jesper Hodge
704dd739d9 test: re-enable migration checks (#36655)
the check was disabled:
https://github.com/openedx/edx-enterprise/pull/2338

because we needed to fake a migration:
https://github.com/openedx/edx-enterprise/pull/2383

but that fake migration is now in edx-platform:
https://github.com/openedx/edx-enterprise/pull/2383

so we can re-enable the check.
2025-05-06 11:27:14 -04:00
github-actions[bot]
75c4ffc20f feat: Upgrade Python dependency edx-celeryutils (#36666)
chore: update edx-celeryutils package with Django 5.2 support

Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`

Co-authored-by: UsamaSadiq <41958659+UsamaSadiq@users.noreply.github.com>
2025-05-06 19:13:27 +05:00
iloveagent57
5858e29de5 feat: Upgrade Python dependency edx-enterprise
fix: enterprise 5.13.3 | handling the xpert v2 response correctly

Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`
2025-05-06 09:57:43 -04:00
Usama Sadiq
ec51d5da93 feat!: React 18 Upgrade (#36568) 2025-05-06 16:19:45 +05:00
Muhammad Faraz Maqsood
be5a625e64 fix: security issue
- It's related previous PR: https://github.com/openedx/edx-platform/pull/36643/files.
- This time followed LMS template(5b3caa93e2/lms/templates/courseware/courseware-chromeless.html (L126C7-L127C42)) as we are not getting any error on LMS.

Attaching error for context:
`Uncaught SecurityError: Failed to read a named property 'offsetHeight' from 'Window': Blocked a frame with origin "https://studio.stage.edx.org/" from accessing a cross-origin frame.`
2025-05-06 11:13:13 +05:00
Tim McCormack
4c15e00611 docs: Improve docs for HIBP settings; remove duplicated cms copies (#34116)
- Clarify effects of enabling each policy.
- Document the thresholds and what policies they relate to.
- Express thresholds as floating point numbers to better hint at them not
  being intended as integer values.
- Change toggle use case from temporary to open_edx for login policies (as
  we're expecting to keep those toggles long term, as an optional feature).
- Remove links to private Jira tickets. (openedx Jira is now gone, and
  these tickets are only present in 2U's private Atlassian instance.)
- Import LMS HIBP settings into CMS (rather than duplicating them) but
  mark as unused.
2025-05-05 19:16:37 -04:00
Justin Hynes
46c9b3a193 fix: add error handling for potential issues calculating course progress (#36660)
* fix: add error handling for potential issues calculating course progress

Realized there is potential in a few places for exceptions to be thrown. I'm adding some more error handling in the course progress task and function to handle potential issues.
2025-05-05 14:00:12 -04:00
Marlon Keating
42a9fb8cd2 Merge pull request #36659 from openedx/marlonkeating/upgrade-edx-enterprise-84583a7
feat: Upgrade Python dependency edx-enterprise
2025-05-05 08:52:10 -07:00
marlonkeating
6c2c4333bb feat: Upgrade Python dependency edx-enterprise
fix: enterprise-customer-support sorting/pagination using view

Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`
2025-05-05 14:54:01 +00:00
Ram Chandra Bhavirisetty
456bc55d98 chore: removed moto version constraint after verifying compatibility 2025-05-04 06:16:16 +00:00
Ram Chandra Bhavirisetty
4b4faac644 chore: remove moto version constraint after verifying compatibility 2025-05-04 01:28:25 +00:00
vladislavkeblysh
84583a73e0 feat: [RGOeX-26106] added correct image for FB sharing (#33784) 2025-05-02 11:58:21 -04:00
Deborah Kaplan
ea98b2d65f chore: updating some user retirement documents (#36649)
* chore: updating some user retirement documents

* removing some Jenkins documentation which is specific to 2u's implementation, and links to the old org's wiki
* updating some markup that was preventing images from rendering. Tested locally with a docs  bill to make them render now.

FIXES: APER-3981

* chore: adding a filewith a revised image

*  another file with a revised image which didn't make it into the original commit
2025-05-02 11:41:37 -04:00
Jillian
5b3caa93e2 feat: store content.child_usage_keys in Container search document [FC-0083] (#36528)
* feat: store content.child_usage_keys in Container search document
  Stores the draft children + published children (if applicable)

Related fixes:
* fix: lib_api.get_container does not take a "user" arg
* refactor: fetch_customizable_fields_from_container does not need a "user" arg
* refactor: moves tags_count into LibraryItem
   because anything that appears in a library may be tagged.
* refactor: remove get_container_from_key from public API
   API users must use get_container and ContainerMetadata.
* refactor: made set_library_item_collections take an entity_key string instead of
  a PublishableEntity instance, so we don't need to fetch a Container object to call it.
* refactor: changed ContainerLink.update_or_create to take the container PK
  instead of a Container object, since this is enough.
  Added container_pk to ContainerMetadata to support this.
2025-05-02 10:47:25 +09:30
Navin Karkera
6508010726 fix: unwanted section of code causing cross-origin error (#36643)
https://github.com/openedx/edx-platform/pull/36477#discussion_r2069105832
2025-05-01 15:01:03 -07:00
Tim McCormack
9ff24774e1 test: Allow locale path test to pass when repo dir name different (#36648)
This test assumes edx-platform is checked out in a directory of that name.
2025-05-01 14:04:41 -04:00
ihor-romaniuk
6366592dd0 fix: improve calculation for xblock action dropdown menu on unit page 2025-05-01 14:42:04 -03:00
Navin Karkera
c2d9e40be4 refactor: update sync model helper function docs and minor cleanup (#36599)
* refactor: update sync model helper function docs

Adds some comments to explain certain confusing sections

* refactor: sync library content method

* feat: use edited_on block field

* test: modified field in course block index

* fix: extract uncommon methods to child class from base
2025-04-30 13:40:52 -07:00
Rômulo Penido
174cd583e2 chore: upgrade openedx-learning to 0.26.0 (#36630) 2025-04-30 13:36:09 -07:00
Tim McCormack
c9ae3adc24 fix: Use correct default for unsafely param (#36638)
`unsafely` should be a boolean, not None. I believe this is what was
causing a 400 in remote codejail-service calls (during darklaunch) when
the `calculate_problem_responses_csv.v2` instructor task ran:
https://github.com/edx/edx-arch-experiments/issues/1028

There are also places in the code where this member appears to be a scalar
property instead of a method, or possibly that's just buggy code that
doesn't run. I decided not to touch that in this PR (we're probably going
to DEPR the entire unsafe mechanism anyhow) but if this PR doesn't work,
that's the next place to look -- because higher up in this file there's
a `can_execute_unsafe_code=None` that we could try changing.
2025-04-30 16:23:13 -04:00
ihor-romaniuk
389547cc2b fix: unit xblock adaptivity and small visual enhancements 2025-04-30 16:56:28 -03:00
Katrina Nguyen
4ea490feb5 Merge pull request #36637 from openedx/katrinan029/upgrade-edx-enterprise-58ab4c3
feat: Upgrade Python dependency edx-enterprise
2025-04-30 10:32:07 -07:00
katrinan029
b1f0f49584 feat: Upgrade Python dependency edx-enterprise
version bump

Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`
2025-04-30 16:56:40 +00:00
Katrina Nguyen
58ab4c3eee Merge pull request #36631 from openedx/katrinan029/upgrade-edx-enterprise-1d95a56
feat: Upgrade Python dependency edx-enterprise
2025-04-29 15:02:15 -07:00
katrinan029
da9d89f260 feat: Upgrade Python dependency edx-enterprise
version bump

Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`
2025-04-29 21:31:29 +00:00
jesperhodge
1d95a56dd8 feat: Upgrade Python dependency edx-enterprise.
Sync django state of enterprise_customer_user with db

Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`
2025-04-29 14:02:47 -04:00
Justin Hynes
919615635e feat: optionally emit course completion analytics when a learner enters the courseware (#36507)
This PR attempts to improve the ability to collect analytics about learner's progress
in their courses. Currently, the only place we regularly calculate course progress is
when a learner visits the "Progress" tab in the courseware.

Now, _optionally_, when a learner visits the home page of their course, we will enqueue
a Celery task that will calculate their progress and emit a tracking event.

This event is gated by use of the COURSE_HOME_SEND_COURSE_PROGRESS_ANALYTICS_FOR_STUDENT
waffle flag.
2025-04-29 13:46:09 -04:00
Muhammad Adeel Tajamul
cc4c2c35cf chore: added log in disable user policy (#36622) 2025-04-29 15:11:18 +05:00
Muhammad Adeel Tajamul
47a920d5b9 feat: added a policy to prevent sending ace messages to disabled users (#36584) 2025-04-29 11:29:33 +05:00
github-actions[bot]
725234815f feat: Upgrade Python dependency edx-enterprise (#36616)
* feat: Upgrade Python dependency edx-enterprise

fix: fixing enrollments bug in members endpoint

Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`

* fix: spelling fix to trigger tests

---------

Co-authored-by: kiram15 <31229189+kiram15@users.noreply.github.com>
Co-authored-by: Kira Miller <kira.miller15@yahoo.com>
2025-04-28 12:43:49 -06:00
Tim McCormack
ca335b3c3a feat: Fix character range for codejail darklaunch tmpdir normalization (#36615)
Python's tempfile naming also includes underscore:
https://github.com/python/cpython/blob/3.12/Lib/tempfile.py#L140

This omission would cause normalization to fail about 1/6 of the time.

Also expand test to exercise more of character range.
2025-04-28 12:35:41 -04:00
Raymond Zhou
f741786012 fix: toggle name typo (#36597) 2025-04-28 11:34:01 -04:00
Hassan Raza
1a28a2df3b fix: Get latest existing notification for grouping (#36614) 2025-04-28 20:10:00 +05:00
Maxim Beder
36bd075c9a feat: update certificate icon
Old certificates icon contained edX trademark logo, which was not
suitable for the open source repos. Replaced with the icon that contains
Open edX logo.
2025-04-25 11:57:14 -04:00
Kira Miller
b058845208 chore: version bump (#36592) 2025-04-25 09:09:59 -06:00
Farhaan Bukhsh
318c780c3d feat: freeze edx-sandbox requirements for teak
Signed-off-by: Farhaan Bukhsh <farhaan@opencraft.com>
2025-04-25 20:10:28 +05:30
Eemaan Amir
e5f7a027e4 feat: added a new field to canvas_entry_properties in enrollment email (#36603)
* feat: added a new field to canvas_entry_properties in enrollment email

* test: updated test files
2025-04-25 17:27:49 +05:00
Hassan Raza
c87a3b721b chore: add temporary info log for notification grouping issue (#36600) 2025-04-25 13:15:12 +05:00
Hassan Raza
2d4defef2c fix: Add info for ORA notifications and fix for account preferences (#36571) 2025-04-25 11:33:02 +05:00
Navin Karkera
1cd73d1b96 feat: support for syncing units from libraries to courses (#36553)
* feat: library unit sync
* feat: create component link only for component xblocks
* feat: container link model
* feat: update downstream api views
* feat: delete extra components in container on sync (not working)
* fix: duplicate definitions of LibraryXBlockMetadata
* test: add a new integration test suite for syncing
* feat: partially implement container+child syncing
* fix: blockserializer wasn't always serializing all HTML block fields
* feat: handle reorder, addition and deletion of components in sync

Updates children components of unit in course based on upstream unit,
deletes removed component, adds new ones and updates order as per
upstream.

* feat: return unit upstreamInfo and disallow edits to units in courses that are sourced from a library (#773)
* feat: Add upstream_info to unit
* feat: disallow edits to units in courses that are sourced from a library (#774)

---------

Co-authored-by: Jillian Vogel <jill@opencraft.com>
Co-authored-by: Rômulo Penido <romulo.penido@gmail.com>

* docs: capitalization of XBlock

Co-authored-by: David Ormsbee <dave@axim.org>

* refactor: (minor) change python property name to reflect type better

* fix: lots of "Tried to inspect a missing...upstream link" warnings

when viewing a unit in Studio

* docs: mention potential REST API for future refactor

* fix: check if upstream actually exists before making unit read-only

* chore: fix camel-case var

* fix: test failure when mocked XBlock doesn't have UpstreamSyncMixin

---------

Co-authored-by: Braden MacDonald <braden@opencraft.com>
Co-authored-by: Chris Chávez <xnpiochv@gmail.com>
Co-authored-by: Jillian Vogel <jill@opencraft.com>
Co-authored-by: Rômulo Penido <romulo.penido@gmail.com>
Co-authored-by: Braden MacDonald <mail@bradenm.com>
Co-authored-by: David Ormsbee <dave@axim.org>
2025-04-24 11:41:47 -07:00
Kyle McCormick
875158f1ad feat!: Put "How It Works" Page Behind Waffle in Preparation for Removal (#36496)
We add a a new Waffle toggle:

* legacy_studio.logged_out_home

Unless enabled, unauthenticated users accessing Studio will now be sent
to the login page, and then redirected to the logged-in Studio home (the
course listing). By the Ulmo release, the Waffle will be removed along
with the howitworks page, and the new redirect-to-login behavior will
become the only available behavior.

The howitworks page is implemented as a legacy frontend, and we are not
seeing enough value in it to justify a rewrite in React. Via the DEPR
process we confirmed that the new behavior is acceptable, or even
preferable, as it removes edX.org-oriented language from the community
release and reduces the number of clicks needed for Studio users to log
in. We add an a new Waffle toggles

Part of: https://github.com/openedx/edx-platform/issues/36269
which is part of: https://github.com/openedx/edx-platform/issues/36275
2025-04-24 17:07:25 +00:00
Kyle McCormick
8e9f94424d feat!: Flip Studio MFE Waffle Flags to be On-By-Default (#36495)
This makes nearly all of Studio React-by-default by replacing the
"opt-in-to-React" flags with a set of parallel
"opt-out-of-React-and-use-the-legacy-experience" flags. Here is the
mapping:

* `contentstore.new_studio_mfe.use_new_unit_page` ->
  `!legacy_studio.unit_editor`
* `new_core_editors.use_new_problem_editor` ->
  `!legacy_studio.problem_editor`
* `new_core_editors.use_new_text_editor` ->
  `!legacy_studio.text_editor`
* `new_core_editors.use_new_video_editor` ->
  `!legacy_studio.video_editor`
* `new_studio_mfe.use_new_home_page` ->
  `!legacy_studio.home`
* `contentstore.new_studio_mfe.use_new_custom_pages` ->
  `!legacy_studio.custom_pages`
* `contentstore.new_studio_mfe.use_new_schedule_details_page` ->
  `!legacy_studio.schedule_details`
* `contentstore.new_studio_mfe.use_new_advanced_settings_page` ->
  `!legacy_studio.advanced_settings`
* `contentstore.new_studio_mfe.use_new_grading_page` ->
  `!legacy_studio.grading`
* `contentstore.new_studio_mfe.use_new_updates_page` ->
  `!legacy_studio.updates`
* `contentstore.new_studio_mfe.use_new_import_page` ->
  `!legacy_studio.import`
* `contentstore.new_studio_mfe.use_new_export_page` ->
  `!legacy_studio.export`
* `contentstore.new_studio_mfe.use_new_files_uploads_page` ->
  `!legacy_studio.files_uploads`
* `contentstore.new_studio_mfe.use_new_course_outline_page` ->
  `!legacy_studio.course_outline`
* `contentstore.new_studio_mfe.use_new_course_team_page` ->
  `!legacy_studio.course_team`
* `contentstore.new_studio_mfe.use_new_certificates_page` ->
  `!legacy_studio.certificates`
* `contentstore.new_studio_mfe.use_new_textbooks_page` ->
  `!legacy_studio.textbooks`
* `contentstore.new_studio_mfe.use_new_group_configurations_page` ->
  `!legacy_studio.configurations`

Part of: https://github.com/openedx/edx-platform/issues/36275
2025-04-24 12:34:35 -04:00
Awais Qureshi
1b15ae0cd9 feat!: upgrading api to DRF. 2025-04-24 13:00:04 +05:00