Repository navigation
Conversation
Move the LP-1148 plan and merge audit here from the superseded reference PR #505 and rewrite them for the batched approach: batch 1 is ulmo.1, the only upstream point that has run in prod, built as a revert of the revert (3a8fdad) on the release-ulmo tip; later batches merge the upstream ulmo tags straight into release-ulmo. The plan records the deploy/revert history, the decisions, how to cross-check against edx/ulmo.1, edx/ulmo.3 and #505, the risk list for the post-ulmo.1 upstream changes, and the next step (the merge work), so a fresh session can continue from the docs alone. Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
robrap
added a commit
that referenced
this pull request
Oct 8, 2026
The plan, merge audit and docs/plans README now live only in #514 (branch robrap/lp1148-ulmo1-batch1). This PR is superseded and kept as a reference branch. Co-Authored-By: Claude <noreply@anthropic.com>
… soft freeze Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
… and next steps Group review and testing notes into one QA section (LP-1351), add a Jira tickets section, record that batch 2 scope is open, and drop the soft freeze. Record what the edx-internal deploy history shows was in prod and when, add a how-to for checking it, and note the unreconciled May 27 timeline. Next step is the migration review, before the branch work. Co-Authored-By: Claude <noreply@anthropic.com>
Drop the open SELECT VERSION() check; the MariaDB UUID migrations are no-ops. Co-Authored-By: Claude <noreply@anthropic.com>
Add the openedx-authz/casbin and openedx-learning migrations that ulmo.1 brings through dependency upgrades, note that openedx_authz 0006 cannot be reversed, extend the prod queries, and add a library-permissions test item. Co-Authored-By: Claude <noreply@anthropic.com>
The authz data migration only copies content_libraries (v2) permission rows; record the prod queries that decide whether it has any data. Co-Authored-By: Claude <noreply@anthropic.com>
Prod kept the casbin/authz/submissions migrations from the May deploy and lost the reversible ones; contentstore 0014 looks low-risk there. Note that information_schema row estimates are unreliable. Co-Authored-By: Claude <noreply@anthropic.com>
Prod, edge and stage migration state is known and needs no manual steps; the normal deploy applies what is missing. Replace the interim results with a per-environment state table, note how migrations and rollbacks run, the stage schema-ahead-of-code mismatch, and the openedx-authz version check for the batch-1 audit. Co-Authored-By: Claude <noreply@anthropic.com>
Batch 1 of the ulmo upgrade [LP-1148]: bring back upstream release/ulmo.1 (Django 5.2) by reverting the May 27 revert, on the current release-ulmo. Conflict resolutions (13 files): - .github/workflows/check-for-tutorial-prs.yml: keep deleted (#507). - create_user_gdpr_testing.py: keep deleted (fork removal, ENT-11576). - xmodule/js/src/video/02_html5_hls_video.js: accept upstream's move to xmodule/assets/video/public/js/; the fork's HLS retry change is ported in a separate commit. - contentstore/views/course.py: keep #509's LP-1102 staff branch and toggle import, then upstream's set-based org logic; drop the removed use_new_home_page / use_new_course_outline_page imports. - modulestore_migrator/models.py: keep the fork's `.. no_pii:` annotations (#352). - test_content_libraries.py: import both CourseKey (#509) and LibraryCollectionLocator (ulmo.1). - user_api accounts test_api.py: keep #517's timezone/pytz imports and ulmo.1's ZoneInfo. - course_duration_limits test_access.py: keep the fork's RequestCache clearing, with ulmo.1's ZoneInfo. - requirements/common_constraints.txt: keep the fork's pip<26.2.1 and social-auth constraints (supersede ulmo.1's pip<25.3). - requirements/edx/*.txt: lti-consumer-xblock 9.14.3 (ulmo.1), ora2 6.17.2 (fork; it no longer needs loremipsum). Co-Authored-By: Claude <noreply@anthropic.com>
#461 (353a5da) removed the enable_audio_description waffle flag and the `audioDescriptionEnabled` player metadata, and dropped the matching gating from xmodule/js/src/video/09_video_audio_description.js. Upstream ulmo moved the video JS to xmodule/assets/video/public/js/, so on this branch the JS change merged cleanly into the stale old-path copy while the live copy kept gating on the now-missing `audioDescriptionEnabled`, which would hide audio description entirely. Apply the same change to the live file. Co-Authored-By: Claude <noreply@anthropic.com> (cherry picked from commit 6732d6f)
Upstream ulmo moved the video JS from xmodule/js/src/video/ to xmodule/assets/video/public/js/. The fork's HLS fragment retry limit (fb8bc85, 43300f9) was on the old path. The merge commit fef5916 describes this port, but the change was left out of that commit; this adds it. Also fix the merged spec test, which referenced `Hls` while the migrated spec imports `HLS`. Co-Authored-By: Claude <noreply@anthropic.com> (cherry picked from commit 687065c)
The fork's #215 (8fb361b) capped the video language selection menu height. Its CSS part merged into VideoBlockDisplay.css, but its JS part was on xmodule/js/src/video/09_video_caption.js, which upstream ulmo moved to xmodule/assets/video/public/js/. Apply it to the live file. Co-Authored-By: Claude <noreply@anthropic.com> (cherry picked from commit c56841c)
Upstream removed studio-frontend (28ab2ce), and this branch no longer depends on it, but the merge kept the studio-frontend source in `pull_translations`. Remove it; `$(ATLAS_EXTRA_SOURCES)` stays as the continuation line. Co-Authored-By: Claude <noreply@anthropic.com> (cherry picked from commit 91b8e72)
The revert of the revert conflicted in 13 files, not many. The PII safelist fix is needed in batch 1 because openedx-learning 0.30.2 is in ulmo.1. Record the audit and cross-check results, the hand-edited Django bump, and that #507 has landed. Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
The revert-of-revert commit was reworded to a conventional-commit subject, which changed it and the commits above it. Co-Authored-By: Claude <noreply@anthropic.com>
robrap
force-pushed
the
robrap/lp1148-ulmo1-batch1
branch
from
October 9, 2026 22:43
5670f1d to
403fa91
Compare
- Change the `i18n` service declaration from `wants` to `needs`, since the runtime must provide it for the block to function correctly. - Update the `public_view` webpack JS reference from `VideoBlockMain` to `VideoBlockDisplay`, as all VideoBlock JS files are bundled into `VideoBlockDisplay` and `VideoBlockMain` is not referring to anything or no longer exists in the repository. (cherry picked from commit 94963db)
…snapshot migration check The edx/ulmo.3 cross-check found a ulmo.1 regression (video public_view bundle) that upstream fixed only on master and verawood; batch 1 takes the fix. The manual show_unapplied_migrations run against a stage snapshot is redundant with the known code and database state; review the deploy's own migration_plan.yml instead. Add a public-video QA item. Co-Authored-By: Claude <noreply@anthropic.com>
…1148 plan Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
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.
Summary
Batch 1 of the ulmo upgrade: ulmo.1 only, the only upstream point that has ever run in prod (#304, 2026-05-22 to 2026-05-27). Later batches (ulmo.2 through ulmo.4+) merge the upstream tags straight into
release-ulmoonce this has landed.Status: code on the branch, CI pending. Revert of the revert
3a8fdad2fd, ports, Django 5.2.18 bump and audit are done; QA has not started. The plan is the source of truth, including the next step:docs/plans/LP-1148-ulmo-upgrade.md. Do not duplicate it here.This supersedes #505 (ulmo.3 base plus ulmo.4+), which becomes a reference branch and will be closed once its docs have moved here.
Ticket: LP-1148 (epic LP-1309).
🤖 Generated with Claude Code