Codeinwp / Codeinwp/optimole-wp

Possible Conflict with Funnelkit Product Thumbnail when Item count is increased

Open
#782 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug customer report
Dominant language
PHP
Stars
72
Forks
14
Avg merge
2d 9h
Merged PRs (30d)
15

Description

Description

The issue is reported here: https://wordpress.org/support/topic/woo-commerce-cart-problem/
The problem is that when a website is using Funnelkit checkout pages for WooCommerce. If you add a product to cart and then go to the checkout page, if you keep increasing the item count, when you reach 7 count the checkout page will break.

I've already analyzed the issue and the root cause behind this issue is a wrong string concatenation inside the JSON response that is sent when you increase the item count and a POST request is sent to /?wc-ajax=update_order_review&wfacp_id=56501&wfacp_is_checkout_override=yes

For example, when you do not get the error, you will see that the request to https://www.staging18.masacoustics.it/?wc-ajax=update_order_review&wfacp_id=56501&wfacp_is_checkout_override=yes will have a response like this: https://i.imgur.com/LKVYPuS.jpeg and https://i.imgur.com/zmCZxHB.jpeg

And when it breaks, you can clearly see the JSON being broken: https://i.imgur.com/7GnkBB7.jpeg and https://i.imgur.com/av3PLuP.jpeg

Step-by-step reproduction instructions
  1. Go to https://www.staging18.masacoustics.it/shop/isolamento-acustico/barriera-acustica-flat-barrier-10a/
  2. Check on add to cart button (https://i.imgur.com/8Bjz8zE.jpeg)
  3. Now go to the cart (https://i.imgur.com/e8Oj7MZ.jpeg)
  4. Now keep increasing the item count (https://i.imgur.com/p576EdL.jpeg) until the the section just keeps on looping the loading animation
  5. Keep an eye on the network tab of the browser console so that you can spot the issue with the JSON response count from /?wc-ajax=update_order_review requests
Screenshots, screen recording, code snippet or Help Scout ticket

Video demonstration of the issue: https://mega.nz/file/qUcUGRbB#Glix4VsgKthAI_zDTYBS9lDp_s1lrQy3LNESPIYQD2E

Environment info

No response

Is the issue you are reporting a regression

No

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the checkout failure while watching the response to the wc-ajax=update_order_review request, then trace where that JSON response is assembled in the plugin. Done means the response remains valid when the item count reaches 7 and the checkout no longer loops on loading.

Written by the indexing model from the issue text.

Assessment

Tech stack
php, wordpress
Domain
api, backend, web-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.