docfast/src/services
DocFast CEO 024fa0084d
All checks were successful
Build & Deploy to Staging / Build & Deploy to Staging (push) Successful in 13m17s
fix: clean up request interceptor in recyclePage to prevent pool contamination
When renderUrlPdf() sets up request interception for SSRF DNS pinning,
the interceptor and event listener were never cleaned up in recyclePage().
This could cause subsequent HTML-to-PDF conversions on the same pooled
page to have external resources blocked by the stale interceptor.

- Export recyclePage for testability
- Add removeAllListeners('request') + setRequestInterception(false)
- Add browser-recycle.test.ts with TDD (red→green verified)

Tests: 443 passing (was 442)
2026-03-02 17:05:45 +01:00
..
browser.ts fix: clean up request interceptor in recyclePage to prevent pool contamination 2026-03-02 17:05:45 +01:00
db.ts feat: unit tests for security/utility functions (isPrivateIP, isTransientError, markdown, escapeHtml) 2026-02-25 19:04:59 +00:00
email.ts feat: branded HTML verification email + fix stale df_free placeholder 2026-02-24 07:02:42 +00:00
keys.ts fix: webhook idempotency — unique index on stripe_customer_id + UPSERT + DB dedup on success page 2026-02-20 16:03:17 +00:00
logger.ts Backend hardening: structured logging, timeouts, memory leak fixes, compression, XSS fix 2026-02-16 08:27:42 +00:00
markdown.ts Initial MVP: DocFast PDF API 2026-02-14 12:38:06 +00:00
templates.ts refactor: deduplicate sanitizeFilename, add template+sanitize unit tests, fix esc single-quote 2026-02-25 16:04:22 +00:00
verification.ts fix: database connection resilience — retry on transient errors, TCP keepalive, health check timeout 2026-02-18 14:08:29 +00:00