newfold-labs / wp-module-ecommerce

Next-generation eCommerce Experience for WordPress sites at Newfold Digital.
GNU General Public License v2.0
9 stars 3 forks source link

Qualify Endpoints Before Requesting #127

Closed circlecube closed 1 year ago

circlecube commented 1 year ago

The requests for endpoints should be updated so that they are only requested if they exist: https://github.com/newfold-labs/wp-module-ecommerce/blob/trunk/src/sdk/woocommerce.js#L7-L34

See 404 issues in plugins when woo or jetpack are not installed and active. The module should check if the plugin is loaded before hitting the rest endpoints, since it floods the console with 404s and makes requests that do nothing.

Here are some examples of the console log errors on a site with bluehost plugin installed and woocommerce inactive.

api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2     GET https://testing.com/index.php?rest_route=%2Fwc%2Fv3%2Fproducts&_locale=user 404
j @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
h @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
P @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
a @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
P.method.r @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
a @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
t @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
g @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
A @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
list @ index.js?ver=24eaa0a99d4f825e767b:1
(anonymous) @ index.js?ver=24eaa0a99d4f825e767b:1
await in (anonymous) (async)
(anonymous) @ index.js?ver=24eaa0a99d4f825e767b:1
(anonymous) @ index.js?ver=24eaa0a99d4f825e767b:1
(anonymous) @ index.js?ver=24eaa0a99d4f825e767b:1
Ur @ react-dom.min.js?ver=18.2.0:10
Jr @ react-dom.min.js?ver=18.2.0:10
Zr @ react-dom.min.js?ver=18.2.0:10
Gr @ react-dom.min.js?ver=18.2.0:10
(anonymous) @ react-dom.min.js?ver=18.2.0:10
xl @ react-dom.min.js?ver=18.2.0:10
ol @ react-dom.min.js?ver=18.2.0:10
v @ react.min.js?ver=18.2.0:10
ce @ react.min.js?ver=18.2.0:10
api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2     GET https://testing.com/index.php?rest_route=%2Fwc-admin%2Fonboarding%2Ftasks&ids=setup&_locale=user 404
j @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
h @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
P @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
a @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
P.method.r @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
a @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
t @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
g @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
A @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
tasks @ index.js?ver=24eaa0a99d4f825e767b:1
(anonymous) @ index.js?ver=24eaa0a99d4f825e767b:1
await in (anonymous) (async)
(anonymous) @ index.js?ver=24eaa0a99d4f825e767b:1
(anonymous) @ index.js?ver=24eaa0a99d4f825e767b:1
(anonymous) @ index.js?ver=24eaa0a99d4f825e767b:1
Ur @ react-dom.min.js?ver=18.2.0:10
Jr @ react-dom.min.js?ver=18.2.0:10
Zr @ react-dom.min.js?ver=18.2.0:10
Gr @ react-dom.min.js?ver=18.2.0:10
(anonymous) @ react-dom.min.js?ver=18.2.0:10
xl @ react-dom.min.js?ver=18.2.0:10
ol @ react-dom.min.js?ver=18.2.0:10
v @ react.min.js?ver=18.2.0:10
ce @ react.min.js?ver=18.2.0:10
api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2     GET https://testing.com/index.php?rest_route=%2Fwc%2Fv3%2Forders&after=2023-08-29T17%3A47%3A53.915Z&_locale=user 404
j @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
h @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
P @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
a @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
P.method.r @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
a @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
t @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
g @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
A @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
Bt @ index.js?ver=24eaa0a99d4f825e767b:1
list @ index.js?ver=24eaa0a99d4f825e767b:1
Ur.Ee.revalidateOnFocus @ index.js?ver=24eaa0a99d4f825e767b:1
(anonymous) @ index.js?ver=24eaa0a99d4f825e767b:1
(anonymous) @ index.js?ver=24eaa0a99d4f825e767b:1
(anonymous) @ index.js?ver=24eaa0a99d4f825e767b:1
Ur @ react-dom.min.js?ver=18.2.0:10
Jr @ react-dom.min.js?ver=18.2.0:10
Zr @ react-dom.min.js?ver=18.2.0:10
Gr @ react-dom.min.js?ver=18.2.0:10
(anonymous) @ react-dom.min.js?ver=18.2.0:10
xl @ react-dom.min.js?ver=18.2.0:10
fl @ react-dom.min.js?ver=18.2.0:10
Nn @ react-dom.min.js?ver=18.2.0:10
(anonymous) @ react-dom.min.js?ver=18.2.0:10
api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2     GET https://testing.com/index.php?rest_route=%2Fjetpack%2Fv4%2Fmodule%2Fstats%2Fdata&range=week&_locale=user 404
j @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
h @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
P @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
a @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
P.method.r @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
a @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
t @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
g @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
A @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
Bt @ index.js?ver=24eaa0a99d4f825e767b:1
jetpack @ index.js?ver=24eaa0a99d4f825e767b:1
analytics_for_week @ index.js?ver=24eaa0a99d4f825e767b:1
(anonymous) @ index.js?ver=24eaa0a99d4f825e767b:1
(anonymous) @ index.js?ver=24eaa0a99d4f825e767b:1
(anonymous) @ index.js?ver=24eaa0a99d4f825e767b:1
(anonymous) @ index.js?ver=24eaa0a99d4f825e767b:1
Ur @ react-dom.min.js?ver=18.2.0:10
Jr @ react-dom.min.js?ver=18.2.0:10
Zr @ react-dom.min.js?ver=18.2.0:10
Gr @ react-dom.min.js?ver=18.2.0:10
(anonymous) @ react-dom.min.js?ver=18.2.0:10
xl @ react-dom.min.js?ver=18.2.0:10
fl @ react-dom.min.js?ver=18.2.0:10
Nn @ react-dom.min.js?ver=18.2.0:10
(anonymous) @ react-dom.min.js?ver=18.2.0:10
api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2     GET https://testing.com/index.php?rest_route=%2Fwc%2Fv3%2Freports%2Fsales&period=week&_locale=user 404
j @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
h @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
P @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
a @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
P.method.r @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
a @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
t @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
g @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
A @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
Bt @ index.js?ver=24eaa0a99d4f825e767b:1
sales @ index.js?ver=24eaa0a99d4f825e767b:1
reports_for_week @ index.js?ver=24eaa0a99d4f825e767b:1
(anonymous) @ index.js?ver=24eaa0a99d4f825e767b:1
await in (anonymous) (async)
(anonymous) @ index.js?ver=24eaa0a99d4f825e767b:1
(anonymous) @ index.js?ver=24eaa0a99d4f825e767b:1
(anonymous) @ index.js?ver=24eaa0a99d4f825e767b:1
Ur @ react-dom.min.js?ver=18.2.0:10
Jr @ react-dom.min.js?ver=18.2.0:10
Zr @ react-dom.min.js?ver=18.2.0:10
Gr @ react-dom.min.js?ver=18.2.0:10
(anonymous) @ react-dom.min.js?ver=18.2.0:10
xl @ react-dom.min.js?ver=18.2.0:10
fl @ react-dom.min.js?ver=18.2.0:10
Nn @ react-dom.min.js?ver=18.2.0:10
(anonymous) @ react-dom.min.js?ver=18.2.0:10
api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2     GET https://testing.com/index.php?rest_route=%2Fwc%2Fv3%2Freports%2Fsales&date_min=2023-08-22&date_max=2023-08-28&_locale=user 404
j @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
h @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
P @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
a @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
P.method.r @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
a @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
t @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
g @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
(anonymous) @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
A @ api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2
Bt @ index.js?ver=24eaa0a99d4f825e767b:1
sales @ index.js?ver=24eaa0a99d4f825e767b:1
await in sales (async)
reports_for_week @ index.js?ver=24eaa0a99d4f825e767b:1
(anonymous) @ index.js?ver=24eaa0a99d4f825e767b:1
await in (anonymous) (async)
(anonymous) @ index.js?ver=24eaa0a99d4f825e767b:1
(anonymous) @ index.js?ver=24eaa0a99d4f825e767b:1
(anonymous) @ index.js?ver=24eaa0a99d4f825e767b:1
Ur @ react-dom.min.js?ver=18.2.0:10
Jr @ react-dom.min.js?ver=18.2.0:10
Zr @ react-dom.min.js?ver=18.2.0:10
Gr @ react-dom.min.js?ver=18.2.0:10
(anonymous) @ react-dom.min.js?ver=18.2.0:10
xl @ react-dom.min.js?ver=18.2.0:10
fl @ react-dom.min.js?ver=18.2.0:10
Nn @ react-dom.min.js?ver=18.2.0:10
(anonymous) @ react-dom.min.js?ver=18.2.0:10
api-fetch.min.js?ver=0fa4dabf8bf2c7adf21a:2     GET https://testing.com/index.php?rest_route=%2Fwc%2Fv3%2Fsettings%2Fgeneral%2Fwoocommerce_currency&_locale=user 404
circlecube commented 1 year ago

https://jira.newfold.com/browse/PRESS4-341