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 syntax for advanced filters in WC 7.8 and over #6617

Merged
merged 9 commits into from Jun 29, 2023

Conversation

daquinons
Copy link
Member

@daquinons daquinons commented Jun 29, 2023

Fixes #6533

Changes proposed in this Pull Request

This change allows Advanced Filters to be compatible with the newly introduced syntax in WC 7.8 woocommerce/woocommerce#37967

It introduces a check for the WC version and picks the right format depending if WC is less than 7.8 or not, in order to make it backward compatible.

Because the string is part of the translation function, it needs to be literal, so more elegant approaches with string concatenation were not available for this.

### Testing instructions

  • Install WooCommerce 7.8 or bigger

  • Go to Transactions

  • All the advanced filters should be functional and displayed without any error

  • Go to Deposits

  • All the advanced filters should be functional and displayed without any error

  • Go to Disputes

  • All the advanced filters should be functional and displayed without any error

  • Go to Documents (enable it in Dev tools if not appearing)

  • All the advanced filters should be functional and displayed without any error

  • Install WP Rollback

  • Rollback WooCommerce to any version under 7.8 (7.7, for example)

  • Go to Transactions

  • All the advanced filters should be functional and displayed without any error

  • Go to Deposits

  • All the advanced filters should be functional and displayed without any error

  • Go to Disputes

  • All the advanced filters should be functional and displayed without any error

  • Go to Documents (enable it in Dev tools if not appearing)

  • All the advanced filters should be functional and displayed without any error


  • Run npm run changelog to add a changelog file, choose patch to leave it empty if the change is not significant. You can add multiple changelog files in one PR by running this command a few times.
  • Covered with tests (or have a good reason not to test in description ☝️)
  • Tested on mobile (or does not apply)

Post merge

@daquinons daquinons changed the base branch from develop to trunk June 29, 2023 08:03
@botwoo
Copy link
Collaborator

botwoo commented Jun 29, 2023

Test the build

Option 1. Jetpack Beta

  • Install and activate Jetpack Beta.
  • Use this build by searching for PR number 6617 or branch name hotfix/6533-advanced-filters-error in your-test.site/wp-admin/admin.php?page=jetpack-beta&plugin=woocommerce-payments

Option 2. Jurassic Ninja - available for logged-in A12s

🚀 Launch a JN site with this branch 🚀

ℹ️ Install this Tampermonkey script to get more options.


Build info:

  • Latest commit: 86b3b9b
  • Build time: 2023-06-29 09:43:33 UTC

Note: the build is updated when a new commit is pushed to this PR.

@github-actions
Copy link
Contributor

github-actions bot commented Jun 29, 2023

Size Change: +710 B (0%)

Total Size: 1.23 MB

Filename Size Change
release/woocommerce-payments/dist/index.js 282 kB +331 B (0%)
release/woocommerce-payments/dist/multi-currency-switcher-block.js 60.5 kB +92 B (0%)
release/woocommerce-payments/dist/multi-currency.js 55.1 kB +93 B (0%)
release/woocommerce-payments/dist/payment-gateways.js 38.5 kB +86 B (0%)
release/woocommerce-payments/dist/settings.js 198 kB +108 B (0%)
ℹ️ View Unchanged
Filename Size
release/woocommerce-payments/assets/css/admin.css 1.03 kB
release/woocommerce-payments/assets/css/success.css 401 B
release/woocommerce-payments/dist/blocks-checkout.css 1.4 kB
release/woocommerce-payments/dist/blocks-checkout.js 39.5 kB
release/woocommerce-payments/dist/checkout.css 444 B
release/woocommerce-payments/dist/checkout.js 28.3 kB
release/woocommerce-payments/dist/index.css 38.9 kB
release/woocommerce-payments/dist/multi-currency-analytics.js 1.05 kB
release/woocommerce-payments/dist/multi-currency.css 2.9 kB
release/woocommerce-payments/dist/order.css 248 B
release/woocommerce-payments/dist/order.js 20.8 kB
release/woocommerce-payments/dist/payment-gateways.css 704 B
release/woocommerce-payments/dist/payment-request.js 11.6 kB
release/woocommerce-payments/dist/product-details.js 595 B
release/woocommerce-payments/dist/settings.css 8.74 kB
release/woocommerce-payments/dist/subscription-edit-page.js 669 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal.css 527 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal.js 20.1 kB
release/woocommerce-payments/dist/subscription-product-onboarding-toast.js 688 B
release/woocommerce-payments/dist/subscriptions-empty-state.css 298 B
release/woocommerce-payments/dist/subscriptions-empty-state.js 19.3 kB
release/woocommerce-payments/dist/tos.css 236 B
release/woocommerce-payments/dist/tos.js 21.7 kB
release/woocommerce-payments/dist/upe_checkout.css 444 B
release/woocommerce-payments/dist/upe_checkout.js 33.6 kB
release/woocommerce-payments/dist/upe_split_checkout.css 444 B
release/woocommerce-payments/dist/upe_split_checkout.js 34.1 kB
release/woocommerce-payments/dist/upe_with_deferred_intent_creation_checkout.js 31.9 kB
release/woocommerce-payments/dist/upe-blocks-checkout.css 1.4 kB
release/woocommerce-payments/dist/upe-blocks-checkout.js 39.1 kB
release/woocommerce-payments/dist/upe-split-blocks-checkout.css 1.41 kB
release/woocommerce-payments/dist/upe-split-blocks-checkout.js 40.5 kB
release/woocommerce-payments/dist/woopay-express-button.js 16.6 kB
release/woocommerce-payments/dist/woopay.css 4.06 kB
release/woocommerce-payments/dist/woopay.js 70.3 kB
release/woocommerce-payments/includes/subscriptions/assets/css/plugin-page.css 633 B
release/woocommerce-payments/includes/subscriptions/assets/js/plugin-page.js 720 B
release/woocommerce-payments/vendor/automattic/jetpack-assets/build/i18n-loader.js 2.43 kB
release/woocommerce-payments/vendor/automattic/jetpack-assets/src/js/i18n-loader.js 1.01 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/tracks-ajax.js 522 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/tracks-callables.js 581 B
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/babel.config.js 160 B
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/build/index.css 2.32 kB
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/build/index.js 13.8 kB
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/build/index.rtl.css 2.32 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/about.css 1.2 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin-order-statuses.css 403 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin.css 3.56 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/checkout.css 299 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/modal.css 742 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/view-subscription.css 572 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/wcs-upgrade.css 411 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/admin-pointers.js 544 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/admin.js 9.07 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/jstz.js 6.8 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/jstz.min.js 3.83 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/meta-boxes-coupon.js 544 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/meta-boxes-subscription.js 2.38 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/moment.js 22.1 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/moment.min.js 11.6 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/payment-method-restrictions.js 1.29 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/wcs-meta-boxes-order.js 502 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/payment-methods.js 355 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/single-product.js 429 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/view-subscription.js 1.38 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/wcs-cart.js 387 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/modal.js 1.1 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/wcs-upgrade.js 1.27 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/build/index.css 392 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/build/index.js 3.06 kB

compressed-size-action

@daquinons daquinons changed the title WIP: Fix syntax for advanced filters in WC 7.8 and over Fix syntax for advanced filters in WC 7.8 and over Jun 29, 2023
@daquinons daquinons marked this pull request as ready for review June 29, 2023 08:17
@jbordonado jbordonado changed the base branch from trunk to release/6.1.1 June 29, 2023 08:38
@@ -125,12 +126,22 @@ export const getFilters = (
export const getAdvancedFilters = (
customerCurrencyOptions?: TransactionsFilterEntryType[]
): any => {
// TODO: Remove this and all the checks once we drop support of WooCommerce 7.7 and below.
const wooCommerceVersionString = getSetting( 'wcVersion' );
Copy link
Contributor

Choose a reason for hiding this comment

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

Will this, in any case, will return null or undefined?

Copy link
Member Author

Choose a reason for hiding this comment

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

I don't think WCPay can run without WC installed, so I don't think so :) Still, this is a temporary solution that we'll be able to drop once we drop support for 7.7

@daquinons daquinons changed the title Fix syntax for advanced filters in WC 7.8 and over Fix syntax for advanced filters in Transactions in WC 7.8 and over Jun 29, 2023
@daquinons daquinons changed the title Fix syntax for advanced filters in Transactions in WC 7.8 and over Fix syntax for advanced filters in WC 7.8 and over Jun 29, 2023
Copy link
Contributor

@dmallory42 dmallory42 left a comment

Choose a reason for hiding this comment

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

LGTM, works as expected on both WC7.8 and older versions.

We should make a follow up issue to look into handling this in a more generic way in future and to update the tests (because I used a slightly hacky fix to get them working).

The only other thing is the changelog should be updated before merging.

Thanks for working on this!

@dmallory42 dmallory42 merged commit 948885f into release/6.1.1 Jun 29, 2023
21 checks passed
@dmallory42 dmallory42 deleted the hotfix/6533-advanced-filters-error branch June 29, 2023 11:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants