This release adds 2 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+1 more
Affected surfaces
Summary
AI summaryFixed authentication race conditions and added ffprobe pre‑flight check with backoff to prevent Tapo camera IP bans.
Full changelog
Full Changelog: https://github.com/spupuz/VibeNVR/compare/v1.20.3...v1.20.4
Release v1.20.4 — Tapo IP Ban Protection & Auth Stability
This release addresses critical issues related to camera authentication race conditions and IP banning, specifically targeting Tapo camera stability.
🛡️ IP Ban Protection (ffprobe Pre-flight)
- Engine: Implemented a mandatory
ffprobepre-flight check inStreamReaderbefore starting the main capture. - Goal: Detects authentication failures with a single, safe probe. This prevents the rapid authentication retries that trigger Tapo camera IP bans.
- Fail-safe: Implemented a 120-second backoff logic for "Connection Refused/Reset" errors to ensure the system doesn't spam the camera if a ban is detected.
⚡ Live View Authentication Fix
- Frontend: Added a guard in
LiveView.jsxto wait for a valid JWT token before initiating frame polling. - Goal: Resolves a race condition where the frontend would start unauthenticated polling immediately on load, causing the engine to receive 401 errors and potentially triggering camera lockouts.
📝 Documentation & Security
- Wiki updated: Refined "Access Recovery" and "Installation" guides to reflect v1.20.4 stability improvements.
- SECURITY.md: Documented the "ffprobe-first" pattern to prevent credential-based DoS (IP Bans).
- AGENTS.md: Included the mandatory pre-flight pattern for future development.
Upgrade Note: Ensure your containers are updated to v1.20.4. No database migration is required for this patch.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About spupuz/VibeNVR
All releases →Related context
Related tools
Earlier breaking changes
- v1.28.3 Must update docker-compose.yml with TZ variable for all services
Beta — feedback welcome: [email protected]