snapapi session 66: BUG-020 + BUG-021 fixes (staging)

This commit is contained in:
Hoid 2026-03-06 18:09:57 +01:00
parent 2430b37fe2
commit d4d340c2af
3 changed files with 57 additions and 15 deletions

View file

@ -127,21 +127,22 @@
## Open
### BUG-020: /status returns 200 instead of 301 redirect (LOW)
- **Severity:** LOW
- **Endpoint:** `GET /status`
- **Expected:** 301 redirect to `/status.html` (consistent with /privacy, /terms, /impressum, /compare, /blog, /guides/quick-start which all 301)
- **Actual:** Returns 200 serving the page directly
### BUG-020: /status returns 200 instead of 301 redirect (LOW) — FIXED (staging)
- **Found:** Session 65b QA (2026-03-06)
- **Impact:** Inconsistent clean URL behavior. All other clean URLs redirect to .html, /status does not. SEO implications (duplicate content at two URLs without redirect).
- **Impact:** Inconsistent clean URL behavior, SEO duplicate content
- **Root cause:** `statusRouter` mounted before redirect loop intercepted the request
- **Fix:** Removed statusRouter; existing redirect loop handles /status → /status.html
- **TDD:** Failing test first (expect 301), then implementation
- **Deployed to staging:** Yes (session 66, pending deploy verification)
- **Production:** Awaiting investor approval for v* tag
### BUG-021: Long URL validation untestable via playground due to shared rate limit (LOW)
- **Severity:** LOW (testing gap, not a code bug)
- **Endpoint:** `POST /v1/playground`
- **Expected:** URL >2048 chars returns 400
- **Actual:** Cannot verify — SSRF protection tests consume the 5 req/hour playground rate limit, so subsequent long URL test gets 429 instead of 400
### BUG-021: Long URL validation untestable via playground due to shared rate limit (LOW) — FIXED (staging)
- **Found:** Session 65b QA (2026-03-06)
- **Impact:** URL length validation cannot be independently verified via playground when other playground tests run first. Consider: rate limit should not apply before URL validation, or URL validation tests need a separate endpoint.
- **Impact:** Invalid URL requests consumed rate limit quota before validation
- **Fix:** Added URL validation middleware before rate limiter in playground route chain
- **TDD:** Failing test first, then implementation
- **Deployed to staging:** Yes (session 66, pending deploy verification)
- **Production:** Awaiting investor approval for v* tag
- **Found:** Session 17 QA
- **Impact:** Extremely long URLs could waste server resources
- **Fix:** Added 2048 character URL length limit in SSRF validation (returns 400)