diff --git a/README.md b/README.md index a61c262..f525dbf 100644 --- a/README.md +++ b/README.md @@ -57,6 +57,7 @@ Notes: - live introduction protocol PDF - Remaining bilingual gap is mostly long-form handbook/wiki copy and a few secondary admin/help texts. - CI now validates that translation catalogs compile successfully on push and pull request. +- Dependency stability hardening pins `chardet==5.2.0` so `requests` runs without compatibility warnings in the Docker stack. ## Current implemented scope - Onboarding form with labels mapped from your CSV schema. diff --git a/backend/requirements.txt b/backend/requirements.txt index 1d56d66..918b900 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -4,6 +4,7 @@ redis==5.2.1 psycopg2-binary==2.9.10 python-dotenv==1.0.1 reportlab==4.2.5 +chardet==5.2.0 requests==2.32.3 pypdf==5.1.0 jinja2==3.1.4 diff --git a/backend/workflows/templates/workflows/developer_handbook.html b/backend/workflows/templates/workflows/developer_handbook.html index b59335d..03c508a 100644 --- a/backend/workflows/templates/workflows/developer_handbook.html +++ b/backend/workflows/templates/workflows/developer_handbook.html @@ -201,6 +201,7 @@ docker compose exec -T web python manage.py run_staging_e2e_check
  • Run manage.py check
  • Run tests or targeted verification
  • Run translation compile step
  • +
  • Rebuild containers if Python dependencies changed, then verify python -c "import requests" does not emit a compatibility warning
  • Generate at least one onboarding/offboarding PDF if PDF templates changed
  • Verify MailHog or SMTP path if email behavior changed
  • Verify Nextcloud upload if integration behavior changed
  • @@ -216,6 +217,7 @@ docker compose exec -T web python manage.py run_staging_e2e_check
  • Language switch not visible: verify translation catalog compiled and restart web
  • Mail not visible: check MailHog on port 8025 and test/production mode toggle
  • Nextcloud sync unclear: verify config in Integrations page and inspect service logs
  • +
  • Requests dependency warning appears: verify chardet==5.2.0 is installed in the rebuilt image and restart web/worker
  • 14) Security and Maintenance Notes

    diff --git a/backend/workflows/templates/workflows/project_wiki.html b/backend/workflows/templates/workflows/project_wiki.html index 6c42aa2..229c1e5 100644 --- a/backend/workflows/templates/workflows/project_wiki.html +++ b/backend/workflows/templates/workflows/project_wiki.html @@ -236,6 +236,7 @@
  • Nextcloud reliability: retry/backoff on upload errors, bounded timeouts, and graceful failure return instead of crashing flow.
  • Filename safety: PDF filenames are sanitized to safe filesystem characters.
  • Least privilege runtime: web and worker containers run as non-root app user.
  • +
  • Dependency stability: the Docker image pins chardet==5.2.0 so requests runs without compatibility warnings alongside ReportLab.
  • Recommended for production: set secure cookies, explicit allowed hosts, CSRF trusted origins, and a strong secret key via environment variables.