2.9 KiB
2.9 KiB
SnapAPI Bug Tracker
Fixed
BUG-001: Key cache not shared across pods (HIGH) — FIXED v0.1.1
- Found: Session 2
- Impact: ~50% of screenshot requests fail with 403 after signup when 2+ replicas
- Fix: Cache-aside pattern — check DB when key not in memory cache
- Verified: 6/6 requests succeed after signup on 2-replica prod deployment
BUG-004: CSP blocks all inline event handlers (CRITICAL) — FIXED v0.2.3
- Found: Session 4 (investor-reported)
- Impact: ALL interactive functionality broken — signup modal, playground, mobile nav, FAQ toggles
- Root cause: Helmet's default CSP includes
script-src-attr 'none'which blocks onclick/onsubmit handlers - Fix: Added
scriptSrcAttr: ["'unsafe-inline'"]to helmet CSP config - Verified: Signup modal opens, API key generated, playground takes screenshots, mobile nav works
BUG-005: Mobile nav has no CSS for .show class (HIGH) — FIXED v0.2.3
- Found: Session 4 (investor-reported)
- Impact: Hamburger menu toggle did nothing — nav links invisible on mobile
- Root cause: CSS had
display:nonefor.nav-linkson mobile but no rule for.nav-links.show - Fix: Added
.nav-links.show{display:flex; flex-direction:column; ...}with absolute positioning - Verified: Hamburger opens/closes menu, links visible and clickable
BUG-006: Signup buttons use href="#" causing scroll (MEDIUM) — FIXED v0.2.3
- Found: Session 4 (investor-reported)
- Impact: Clicking "Get Free API Key" scrolled to top instead of opening signup modal
- Root cause:
href="#"navigated before onclick could fire (CSP was the bigger issue, but this was also broken) - Fix: Changed all signup links to
href="javascript:void(0)" - Verified: All 4 signup CTAs correctly open the modal
BUG-002: No email verification on signup (MEDIUM) — CLOSED v0.3.0
- Impact: Anyone can create unlimited keys with fake emails
- Resolution: Free signup removed entirely. Playground is the free demo (no keys needed). Paid signup will go through Stripe.
BUG-003: No API key recovery (MEDIUM) — CLOSED v0.3.0
- Impact: Lost API key = create new account
- Resolution: Free tier removed. Paid tier key recovery will be handled via Stripe customer portal.
Open
BUG-007: Simultaneous browser restart causes QUEUE_FULL (HIGH) — FIXED (staging)
- Found: Session 9
- Impact: When both browser instances hit RESTART_AFTER_MS simultaneously (every ~1h), all requests during the ~4s restart window queue for 30s then fail with 503 QUEUE_FULL
- Root cause: Both browsers initialized with same
lastRestartTime, hit restart threshold together.acquirePage()triggersscheduleRestart()on both simultaneously. - Fix: Staggered initial
lastRestartTimeper browser + one-at-a-time restart guard inacquirePage() - Deployed to staging: Yes (commit e49c4073). Verified playground returns 200.
- Production: Awaiting investor approval for v* tag