Codeinwp / Codeinwp/optimole-wp
Possible Conflict with Funnelkit Product Thumbnail when Item count is increased
Nobody has claimed this yet.
- 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
- Go to
https://www.staging18.masacoustics.it/shop/isolamento-acustico/barriera-acustica-flat-barrier-10a/ - Check on add to cart button (https://i.imgur.com/8Bjz8zE.jpeg)
- Now go to the cart (https://i.imgur.com/e8Oj7MZ.jpeg)
- Now keep increasing the item count (https://i.imgur.com/p576EdL.jpeg) until the the section just keeps on looping the loading animation
- 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_reviewrequests
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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