Skip to content
This repository has been archived by the owner on Nov 4, 2024. It is now read-only.

Update 2u/main to modern times #4062

Merged
merged 69 commits into from
Dec 4, 2023

Conversation

christopappas
Copy link
Contributor

@christopappas christopappas commented Dec 4, 2023

This related to https://2u-internal.atlassian.net/browse/REV-3528

There is a follow up commit coming with an ADR with more information on this change. This PR is to update the 2u/main branch ahead of that change.

⛔️ DEPRECATION WARNING

This repository is deprecated and in maintainence-only operation while we work on a replacement, please see this announcement for more information.

Although we have stopped integrating new contributions, we always appreciate security disclosures and patches sent to [email protected]

Anyone internally merging to this repository is expected to release and monitor their changes; if you are not able to do this DO NOT MERGE, please coordinate with someone who can to ensure that the changes are released.

Required Testing

  • Before deploying this change, complete a purchase in the stage environment.
    (^ We can remove that manual check once REV-2624 is done and the corresponding e2e test runs again)

Description

Describe what this pull request changes, and why these changes were made. How will these changes affect other people, installations of edx, etc.?
Please include links to any relevant ADRs, design artifacts, and decision documents. Make sure to document the rationale behind significant changes in the repo, per OEP-19, and can be
linked here.

Useful information to include:

  • Which edX user roles will this change impact? Common user roles are "Learner", "Course Author", "Developer", and "Operator".
  • Include screenshots for changes to the UI (ideally, both "before" and "after" screenshots, if applicable).
  • Provide links to the description of corresponding configuration changes. Remember to correctly annotate these changes.

Supporting information

Link to other information about the change, such as Jira issues, GitHub issues, or Discourse discussions.
Be sure to check they are publicly readable, or if not, repeat the information here.

Testing instructions

Please provide detailed step-by-step instructions for testing this change; how did YOU test this change?

Other information

Include anything else that will help reviewers and consumers understand the change.

  • Does this change depend on other changes elsewhere?
  • Any special concerns or limitations? For example: deprecations, migrations, OpenEdx vs. edx.org differences, development vs. production environment differences, security, or accessibility.

Feanil Patel and others added 30 commits March 1, 2023 14:04
The .github/workflows/self-assign-issue.yml workflow is missing or needs an update to stay in
sync with the current standard for this workflow as defined in the
`.github` repo of the `openedx` GitHub org.
…yml`.

The .github/workflows/add-remove-label-on-comment.yml workflow is missing or needs an update to stay in
sync with the current standard for this workflow as defined in the
`.github` repo of the `openedx` GitHub org.
…d.yml`.

The .github/workflows/add-depr-ticket-to-depr-board.yml workflow is missing or needs an update to stay in
sync with the current standard for this workflow as defined in the
`.github` repo of the `openedx` GitHub org.
We now have a org wide CONTRIBUTING.md that points to our correct
general contributing guidelines.  We don't need repo specific ones that
forward to other contributing docs.
)

* fix: Pick the right purchase from ios response

iOS response contain multiple purchases, instead of picking the first purchase,
pick the one which have given product id and latest date.
LEARNER-9261
* feat: Added Android refund api

Like Apple android doesn't have callback for every refund. Therefore we have created an endpoint  which we will hit daily through ecommerce worker.
Learner-9149
…pported#3929)

* feat: Error if products in basket are already purchased

* refactor: Add tests, Improve error message

* refactor: Update docstring

* test: Increase coverage
…nedx-unsupported#3936)

* fix: Return error in case of duplicate transactionID for mobile

* refactor: Review feedback, add documentation
…hboard (openedx-unsupported#3938)

Forked catalogue app from oscar and added course and expire field in ProductForm. This change will enable to
add Android sku from a same dashboard page.
Reordered the JWT decoders to first use the standard
library version, and then use the custom ecommerce
decoder which uses multiple issuers. In this way, we
can see if any JWTs cannot be decoded by that standard
library version, and when and if we are ready to retire
the custom JWT decoding code.

See DEPR openedx/public-engineering#83
Monitoring features such as use of the increment
method, to increment a custom attribute, requires
the CachedCustomMonitoringMiddleware. This has been
added so the earlier calls to increment will function.
The edx-sphinx theme is being deprecated, and replaced with sphinx-book-theme.
This removes references to the deprecated theme and replaces them with the new
standard theme for the platform.
* test: Add tests for mobile In-app purchases

This reverts commit 54ea975.
Codecov PyPI package was removed on 12 April and the recommended step is to migrate to codecov Github Action instead.
…T-7059

Also removes codecov from ci.yml workflow.
We're moving towards a single set of guidelines org-wide.
* feat!: remove custom JWT decoding

Removes the ecommerce custom JWT decoding, and replaces
with the simple decoding from the edx-drf-extensions
library.

* fix: drop constraints and make upgrade

* fix: handle major upgrade of django-crispy-forms

The major upgrade of django-crispy-forms called for
some changes related to bootstrap3 and dependencies.
See https://github.com/django-crispy-forms/django-crispy-forms/blob/main/CHANGELOG.md#major-changes-and-migration-guide

* fix: code coverage reporting

Codecov no longer exists on PyPI, so switch to github
action to run coverage report.

---------

Co-authored-by: Muhammad Zubair <[email protected]>
…penedx-unsupported#3950)

* fix: Course to have multiple seats with certificate_type attribute
* refactor: Modify SKU generation hash, add tests
* test: Modify tests
Jenkins job for building devstack images is temporarily broken.
This should fix the devstack settings until this configuration
change lands in an updated image:
openedx-unsupported/configuration#6921
pshiu and others added 26 commits June 20, 2023 16:55
* feat: Store price and currency for mobile IAP
* feat: unenroll refunded android users daily

Django management command to un-enroll refunded android users. This command will be run by Jenkins job daily.
…dx-unsupported#4014)

* feat: mail mobile team for a mobile course change in publisher

This will fix any unknown change from publisher to a course having mobile seats.
After this fix mobile team will see mail and adjust price of the course on playstore or appstore.
In the longer run we want to replace this solution by changing the course price directly using mobile platform apis.

LEARNER-9377

* fix: fixed coverage issue
Updating readthedocs extension as yml going to be deprecated in september Issue: edx/edx-arch-experiments#418
…edx-unsupported#4006)

* fix: docker multi-arch image push

* fix: docker multi-arch images, code improvements

---------

Co-authored-by: Salman Nawaz <[email protected]>
* fix: test update for edx-drf-extensions 8.11.0

The method generate_unversioned_payload in
edx-drf-extensions now requires a user.id to
function, so that needed to be added to the mock
user.

* feat: upgrade edx-drf-extensions

Upgrade edx-drf-extensions to 8.12.0. This was done
using a temporary constraint and pip-compile without
the --upgrade to keep from upgrading unrelated
requirements.

* feat: upgrade newrelic

Upgrade newrelic to 9.1.0. This was done
using a temporary constraint and pip-compile without
the --upgrade to keep from upgrading unrelated
requirements.
The 'build.os' setting is now required.
* feat: changes to upgrad django-oscar to version 3.2

* chore: upgraded django oscar to version 3.2
This repository is now managed by the Axim Collaborative and security issues
with it should be reported to [email protected] instead of [email protected]

This work is being done as a part of openedx/wg-security#16
Attempts fix for ENABLE_FORGIVING_JWT_COOKIES when
ENABLE_SET_REQUEST_USER_FOR_JWT_COOKIE is also enabled, as it is in ecommerce.

Note that this won't be put into effect until
ENABLE_FORGIVING_JWT_COOKIES is toggled on
separately.
I updated the text but missed the mailto.  I just removed the mailto
since it's not needed for the address to render properly.
9.0.0 fixes ENABLE_FORGIVING_JWT_COOKIES bug.
The JWT's LMS user id will now be compared to the
user object's lms_user_id, rather than to its id.
For details, see:
openedx/edx-drf-extensions#408

Note that this won't be put into effect until
ENABLE_FORGIVING_JWT_COOKIES is toggled on
separately.

Also, although this is a major upgrade, it only
caused a backward-incompatible issue in edx-platform.
There are no other changes required for ecommerce.

This is part of the rollout of:
edx/edx-arch-experiments#429
Copy link
Contributor

@julianajlk julianajlk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you modify the commit message to follow conventional commit rules? Plus add a description to this PR for future reference, if you have a ticket number.

@christopappas
Copy link
Contributor Author

I do not want to change the Feat: commit message that is breaking this linter check because "rewriting" history like this will change the commit hash (because it's a new commit) and then these lineages will look different. (more details here: https://docs.github.com/en/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/changing-a-commit-message#amending-older-or-multiple-commit-messages)

I have added a note to the description with ticket number.

@christopappas christopappas merged commit ef2f253 into openedx-unsupported:2u/main Dec 4, 2023
23 of 25 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.