Keep resource listing read-only on media detail requests and defer unlock calls to explicit user ingest actions, while retaining cached fallback behavior for upstream rate limits.
Co-authored-by: Cursor <cursoragent@cursor.com>
Parse nested openapi envelopes from HDHive search/unlock endpoints so resource lists and links are extracted from inner data instead of incorrectly falling back to empty arrays.
Co-authored-by: Cursor <cursoragent@cursor.com>
Treat success=false responses from HDHive search/unlock endpoints as explicit service errors so missing API keys or auth issues are surfaced instead of silently returning empty resources.
Co-authored-by: Cursor <cursoragent@cursor.com>
Render structured media details instead of raw JSON, keep search state when navigating back from detail, and surface HDHive link validation and fallback resource-page links for clearer troubleshooting.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use configurable npm mirror with npm ci --no-audit --no-fund and add startup logs plus README docs for NPM_REGISTRY.
Co-authored-by: Cursor <cursoragent@cursor.com>
Install python3-venv and move backend dependency installation/runtime to a dedicated venv to avoid PEP 668 pip errors inside Debian-based container.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add APT_MIRROR build arg to switch Debian source before apt-get update, and document faster build command using BuildKit and host network.
Co-authored-by: Cursor <cursoragent@cursor.com>
Install git in image and change start script to clone/pull target branch, reinstall dependencies, rebuild frontend, then launch backend and frontend services.
Co-authored-by: Cursor <cursoragent@cursor.com>