14:32:01 INFO App initialized — environment: production app.js:1 copy
14:32:02 LOG Fetching user session… auth.js:45 copy
14:32:03 LOG Session restored: user_83f2a auth.js:52 copy
14:32:05 WARN Deprecated API used: window.webkitStorageInfo vendor.js:234 copy
14:32:07 LOG Cart loaded — 3 items, total: $47.00 cart.js:18 copy
14:32:09 WARN Image lazy-load skipped: missing data-src attribute on 2 elements lazy.js:91 copy
14:32:11 WARN localStorage quota at 82% — consider cleanup storage.js:7 copy
14:32:14 LOG Analytics beacon sent — pageview /products analytics.js:3 copy
14:32:18 LOG Render complete — 142ms renderer.js:201 copy
GET 200 /api/user/session fetch 43ms copy
POST 201 /api/cart/add fetch 87ms copy
GET 200 /api/products?cat=electronics&limit=20 xhr 134ms copy
GET 404 /api/recommendations/v2 fetch 22ms copy
PUT 200 /api/user/preferences fetch 61ms copy
GET 200 /cdn/images/hero-banner.webp img 218ms copy
POST 503 /api/analytics/track beacon 1240ms copy
GET 304 /js/vendor.bundle.js script 4ms copy
copy
TypeError: Cannot read properties of undefined (reading 'price')
at CartItem.render (cart.js:88:22) at renderComponents (react-dom.js:6421:14)
TypeError cart.js:88 14:32:07
copy
Unhandled Promise Rejection: NetworkError — /api/analytics/track returned 503
at async trackPageView (analytics.js:34:12) at async initAnalytics (app.js:22:5)
PromiseRejection analytics.js:34 14:32:18
Detailed Metrics
First Contentful Paint 0.8s
Time to Interactive 2.4s
Total Blocking Time 120ms
Speed Index 1.6s
JS Bundle Size 842 KB
Requests 34
user_session "eyJhbGciOiJIUzI1N…" copy
cart_items [{"id":12,"qty":2},…] copy
theme_preference "dark" copy
last_category "electronics" copy
ab_variant "control" copy
_ga GA1.2.183920471.1708… expires 2y copy
_fbp fb.1.1708623821.49… expires 3mo copy
PHPSESSID h39fka820bq3cj7… session copy
consent "necessary,analytics" 1y copy
Click any element on the page to inspect it. Hover to highlight.
Selected Element
<button class ="add-to-cart btn-primary" data-product-id ="4821" >
Add to Cart
</button>
Computed
display flex
background #6366f1
padding 10px 20px
border-radius 6px
ARIA role button
tab-index 0
✓ 14 OK
⚠ 2 Warn
✕ 1 Error
Copy Health
↺ Rescan
Mixed content — HTTP resource on HTTPS page
/images/legacy/banner.jpg loaded over HTTP
copy
2 images missing alt text
img.product-thumb × 2 — accessibility issue
copy
Slow resource: vendor.bundle.js — 2.4s
Exceeds 2s threshold — consider code splitting
copy
SSL certificate valid
Expires in 87 days
copy
All navigation links resolve
12 links checked, 0 broken
copy
No CORS violations detected
copy
wp-jupiter — Maintenance Run
↺ Reset
▶ New Run
✓
Check SSL expiry health
curl -vI https://wp-jupiter.com 2>&1 | grep -i "expire" copy
✓
Flush WP object cache maint
wp cache flush --path=/var/www/wp-jupiter copy
Run plugin updates maint
wp plugin update --all --path=/var/www/wp-jupiter copy
Verify checkout flow pre-deploy
open https://wp-jupiter.com/checkout?test=1 copy
Check error log (last 50) workflow
tail -n 50 /var/www/wp-jupiter/wp-content/debug.log copy
Optimize DB tables maint
wp db optimize --path=/var/www/wp-jupiter copy
page: /products
errors: 2
perf: 91
console warns: 3
Why is the cart throwing a TypeError on price?
The error at cart.js:88 happens because CartItem.render() tries to read item.price but the item object is undefined at that point. This usually means the cart array contains a null entry — likely from a failed API response that returned null instead of an empty array. Check /api/cart/add response handling and add a guard: items.filter(Boolean) before rendering.
↑
Recent (wp-jupiter)
Cart price TypeError 2 min ago
cart.js:88 — medium — open
Analytics 503 on /track 8 min ago
analytics.js:34 — low — open
Capture screen or paste a screenshot
Cmd+V to paste · click to capture · drag to drop
Copy Report & Download
Copy Only