degenfeed-web/.gitleaks.toml
cryptorugmunch 5b394f6c92 feat: production-ready v1 — KV bindings, rate limiter, CORS, GTS CSRF, Twitter UX, CI deploy
Production readiness (Sprint 1):
- workers/api/wrangler.toml: real KV namespace IDs for CACHE + SUBSCRIPTIONS (prod + preview),
  AUTH_SECRET + GTS_CLIENT_SECRET set via wrangler secret put on Cloudflare, ALLOWED_ORIGINS env var
- kv-backed rate limiter replacing in-memory Map (rl:${ip}:${path}:${bucket} in KV)
- env-driven CORS allowlist (ALLOWED_ORIGINS), removed hardcoded localhost from production code
- GTS OAuth callback CSRF: signed state nonce stored in KV, consumed once on callback,
  removed from CSRF_EXEMPT_PATHS, 4 new auth.state tests
- .github/workflows/deploy.yml: PR -> preview, main -> production via cloudflare/wrangler-action
- DEPLOYMENT.md, scripts/deploy/setup-cloudflare.sh

Frontend (/twitter):
- Full X-style hero: left rail, protocol pills with live counts (filter by network),
  quality controls (threshold slider, non-crypto toggle), composer with Mastodon->Nostr bridge,
  FeedList flat-scrolling, sign-in CTAs throughout, right sidebar network list + trending
- ToastProvider replacing alert() in AuthProvider
- BottomNav for mobile (Feed/Twitter/News/Daily/Profile)
- /status page: SSR health dashboard with auto-refresh, per-protocol latency

Backend:
- /api/preferences: GET/POST with session auth, persist threshold + non-crypto + niches/platforms,
  11 endpoint tests + sanitizer unit tests
- GTS callback: state nonce verified against KV before token exchange
- KV-backed rate limiter with fail-open on KV errors

Tests: 81 backend tests pass (76->81)
Deployed: degenfeed-api (prod) and degenfeed-api-preview (preview) on Cloudflare
Health: Nostr/Lens/Bluesky/Mastodon/Threads/Reddit OK, RSS 403, Farcaster timeout
2026-07-08 10:18:58 +07:00

9 lines
314 B
TOML

title = "DegenFeed Web Gitleaks Config"
[allowlist]
paths = [
# Build artifacts generated by Vercel/Next.js; these contain auto-generated
# preview/encryption tokens that are not real secrets. The directory is
# already gitignored; this prevents historical commits from failing scans.
'''\.vercel\/''',
]