Files
DECNET/.gitignore
anti 3945e72e11 perf: run bcrypt on a thread so it doesn't block the event loop
verify_password / get_password_hash are CPU-bound and take ~250ms each
at rounds=12. Called directly from async endpoints, they stall every
other coroutine for that window — the single biggest single-worker
bottleneck on the login path.

Adds averify_password / ahash_password that wrap the sync versions in
asyncio.to_thread. Sync versions stay put because _ensure_admin_user and
tests still use them.

5 call sites updated: login, change-password, create-user, reset-password.
tests/test_auth_async.py asserts parallel averify runs concurrently (~1x
of a single verify, not 2x).
2026-04-17 14:52:22 -04:00

26 lines
243 B
Plaintext

.venv/
logs/
.claude/
__pycache__/
*.pyc
*.pyo
*.egg-info/
dist/
build/
decnet-compose.yml
decnet-state.json
*.ini
decnet.log*
*.loggy
*.nmap
linterfails.log
webmail
windows1
*.db
decnet.json
.env*
.env.local
.coverage
.hypothesis/
profiles/*