Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(data-events): ensure get_last_successful_order returns WC_Order #3299

Merged
merged 1 commit into from
Aug 2, 2024

Conversation

dkoo
Copy link
Contributor

@dkoo dkoo commented Aug 1, 2024

All Submissions:

Changes proposed in this Pull Request:

Fixes an issue introduced in #3268, as discovered by @miguelpeixe. The value of Newspack\WooCommerce_Connection::get_last_successful_order() should be a WC_Order or WC_Subscription instance, but changes in #3268 caused it to sometimes return an integer, which breaks data events handling.

Opened against alpha because the issue doesn't exist in trunk or release yet.

How to test the changes in this Pull Request:

  1. On alpha, run wp shell then Newspack\WooCommerce_Connection::get_last_successful_order( new WC_Customer( $user_id ) ) where $user_id is the ID for a subscriber with at least one active subscription.
  2. Observe that the returned value is an integer (the ID of the active subscription).
  3. Check out this branch, repeat, and confirm that the value returned is an instance of WC_Subscription (the subscription itself, not just the ID).

Other information:

  • Have you added an explanation of what your changes do and why you'd like us to include them?
  • Have you written new tests for your changes, as applicable?
  • Have you successfully ran tests with your changes locally?

@dkoo dkoo added the [Status] Needs Review The issue or pull request needs to be reviewed label Aug 1, 2024
@dkoo dkoo self-assigned this Aug 1, 2024
@dkoo dkoo requested a review from a team as a code owner August 1, 2024 21:33
Copy link
Member

@adekbadek adekbadek left a comment

Choose a reason for hiding this comment

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

👌

@github-actions github-actions bot added [Status] Approved The pull request has been reviewed and is ready to merge and removed [Status] Needs Review The issue or pull request needs to be reviewed labels Aug 2, 2024
@miguelpeixe
Copy link
Member

#3268 got merged to trunk, maybe cherry-pick it to there as well (or merge to trunk directly and generate a new alpha) so we get this fix in there?

@dkoo
Copy link
Contributor Author

dkoo commented Aug 2, 2024

oh, good call. I forgot that it wasn't a hotfix (it was, originally). I'll cherry-pick the commit to trunk

@dkoo dkoo merged commit da21561 into alpha Aug 2, 2024
9 checks passed
@dkoo dkoo deleted the fix/last-successful-order-type branch August 2, 2024 15:58
matticbot pushed a commit that referenced this pull request Aug 2, 2024
# [4.8.0-alpha.2](v4.8.0-alpha.1...v4.8.0-alpha.2) (2024-08-02)

### Bug Fixes

* **data-events:** ensure get_last_successful_order returns WC_Order ([#3299](#3299)) ([da21561](da21561))
@matticbot
Copy link
Contributor

🎉 This PR is included in version 4.8.0-alpha.2 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

matticbot pushed a commit that referenced this pull request Aug 13, 2024
# [5.0.0](v4.7.0...v5.0.0) (2024-08-13)

### Bug Fixes

* **data-events:** ensure get_last_successful_order returns WC_Order ([222f58c](222f58c))
* **data-events:** ensure get_last_successful_order returns WC_Order ([#3299](#3299)) ([da21561](da21561))
* **data-events:** race condition between `order_completed` and `subscription_updated` ([#3314](#3314)) ([afbf2e8](afbf2e8))
* force active membership if the user has active subs ([#3268](#3268)) ([aebe581](aebe581))
* namespacing issue ([7b1506a](7b1506a))
* update dependencies to support `@wordpress/scripts` ([#3181](#3181)) ([0d35ac8](0d35ac8))
* **woocommerce:** prevent /shop redirect from author archives ([46db669](46db669))

### Features

* enhancements for the Non editing contributor role ([#3277](#3277)) ([e47e422](e47e422))
* **ga4:** filter custom params ([eda5553](eda5553))
* rename guest contributor role ([#3302](#3302)) ([76ac05e](76ac05e))
* rename guest contributor role ([#3302](#3302)) ([c7f6917](c7f6917))
* show deprecation warning for CM in Engagement wizard ([#3264](#3264)) ([0813369](0813369))

### BREAKING CHANGES

* Updates dependencies for compatibility with WordPress 6.6.*, but breaks JS in WordPress 6.5.* and below. If you need support for WP 6.5.*, please do not upgrade to this new major version.

* chore: refactor for updating dependencies in newspack-scripts

* chore: JS formatting fixes for eslint errors

* chore: update NPM scripts and other dependencies

* chore: fix jest unit tests

* chore: update dependencies in newspack-components

* fix: peer dependency conflicts with @wordp
ress/* packages

* chore: update newspack-components dependencies

* chore: proxy stylelint from newspack-scripts

* chore: remove unnecessary stylelint

* refactor: use proxy script for eslint and stylelint scripts

* chore: remove console.log

* chore: update newspack-scripts to NPM alpha version

* chore: update newspack-scripts to git branch

* chore: update newspack-scripts to alpha.3

* test: remove unneeded mocks

* deps: newspack-scripts@5.6.0-alpha.1

* chore: fix scripts

* fix: update newspack-scripts to v5.6.0-alpha.2

* fix: add newspack-revisions.js to webpack build for linting

* fix: update stylelint and format CSS for errors

* chore: clear TS check errors

* fix: start command

* fix: remove i18n script (Blocks only)

* temporarily revert stylelint autoformat to avoid merge conflicts

* chore: add .stylelintrc.js

* fix: reformat SCSS

* chore: update newspack-scripts to v5.6.0-alpha.4

* fix: add missing Prettier config files

* chore: update newspack-scripts to 5.6.0-alpha.5

* chore: update newspack-scripts to v5.6.0-alpha.7

* style: stylelint autofixes

* fix: add fix:js script; temporarily remove format:js

* fix: update newspack-scripts to v5.5.0-alpha.8 and restore format:js script

* chore: add NPM scripts for PHP

* refactor: move recaptcha JS to src directory

* fix: ignore dist and node_modules inside src/components, too

* fix: update Babel configs for components

* fix(components): output TS and JS, and publish new major version to NPM

* fix: do not delete node_modules after post-publish

* chore: bump newspack-scripts to v5.5.2
@matticbot
Copy link
Contributor

🎉 This PR is included in version 5.0.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
released on @alpha released [Status] Approved The pull request has been reviewed and is ready to merge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants