From c3b05046b7b7cf7bda0886ccdbe2e41254e2d4ad Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Tue, 24 Feb 2026 19:02:01 -0500 Subject: [PATCH] Update summary.md for Phase 17 Co-Authored-By: Claude Sonnet 4.6 --- summary.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/summary.md b/summary.md index 8707f76..51fc03e 100644 --- a/summary.md +++ b/summary.md @@ -12,7 +12,7 @@ > Include file-level details in the commit body when the change is non-trivial. ## Last Updated -2026-02-22 — Phase 16: Dashboard redesign (chat-first, two-column task/notes grid) +2026-02-24 — Phase 17: Connection pool hardening (pool_pre_ping, pool_recycle) ## Project Overview Fabled Assistant is a self-hosted note-taking and task-tracking application with @@ -680,6 +680,7 @@ When adding a new migration, follow these conventions: - Quart serves Vue SPA from static + REST API under `/api/`; 404 handler for SPA routing - Security headers applied in `after_request`: `X-Content-Type-Options`, `X-Frame-Options: DENY`, `Referrer-Policy`, `Content-Security-Policy` - In-memory sliding-window rate limiter on all auth endpoints (login, register, forgot/reset password); proxy-aware client IP with `TRUST_PROXY_HEADERS` +- SQLAlchemy async engine configured with `pool_pre_ping=True` (tests connections before use, discards stale ones after Postgres restart) and `pool_recycle=1800` (recycles idle connections every 30 min to prevent TCP/firewall staleness) - Alembic migrations: 13 migrations, all raw SQL with idempotency guards (IF NOT EXISTS, DO $$ BEGIN...EXCEPTION) - Config from env vars + Docker secrets file support (`_read_secret`)