Files
BanGUI/Docs/Tasks.md

1.1 KiB

BanGUI — Task List

This document breaks the entire BanGUI project into development stages, ordered so that each stage builds on the previous one. Every task is described in prose with enough detail for a developer to begin work. References point to the relevant documentation.


FIXED — Blocklist import: No module named 'fail2ban' on every IP (2026-03-01)

Root cause: In app/main.py, the fail2ban-master path was computed using Path(__file__).resolve().parents[2] / "fail2ban-master". This resolves correctly in local dev (backend/app/main.py → repo root) but resolves to /fail2ban-master inside the Docker container (where the source is copied to /app/app/main.py), so fail2ban was never added to sys.path and pickle.loads() raised ModuleNotFoundError: No module named 'fail2ban' for every socket response.

Fix: Replaced the hardcoded parents[2] with a walk-up loop (_find_fail2ban_master()) that iterates over all ancestors until it finds a fail2ban-master/ sibling directory — correct in both local dev and Docker.

Commit: 19bb94eFix fail2ban-master path resolution for Docker container