Block a user
Review follow-ups: PR #582 — fix: async get_current_user with Redis-cached user; fix DELETE /auth/me (Gitea #798)
Make get_current_user async and update DELETE /auth/me
PR opened: https://github.com/Gambit-Inc/gambit/pull/582 — get_current_user is now async on the request's AsyncSession with a Redis-cached snapshot (60s TTL, invalidated on every commit that…
Review follow-ups: PR #578 — feat(import): a cost-less import line gets exact market minus 30% as its purchase price
Review follow-ups: PR #577 — fix: bound DB queries, idle transactions, and Celery tasks (Gitea #797)
Add missing timeouts for DB queries, transactions, and Celery tasks
PR open: https://github.com/Gambit-Inc/gambit/pull/577 — per-transaction statement/idle-in-transaction timeouts (PgBouncer-safe), Celery worker on prefork concurrency 1 with task time limits,…
Audit: right-size DB connections + add a pooler before running a second instance
Audit: right-size DB connections + add a pooler before running a second instance
PgBouncer is live in production (2026-09-24). PR #536 is merged and promoted.
What was done
runrecon-backhasDATABASE_DIRECT_URL= the directgambit_appURL.gambit-workerand…
Pool worker/beat through PgBouncer (advisory-lock redesign)
Review follow-ups: PR #576 — fix: scan batch reaches inventory in a fixed number of requests (bulk upsert endpoints)
Database transactions held open during external API calls
Postgres idle_in_transaction_session_timeout safety net
Bulk import: don't hold DB connection + batch lock across live cert lookups
Invalidate JWTs when password is changed
Invalidate JWTs when password is changed
Rollout check (2026-09-24): prod promote ran migration 0051_users_token_version after a restore point; login on prod answers 401 for an unknown user (correct). STAGING: /api/auth/login returns 500…
Review follow-ups: PR #575 — feature: complete cross-account Slab Alerts (Gitea #321) [no-deploy]
Review PR 537 for section redesign push
Review follow-ups: PR #574 — feature: add Recently Added grid and inventory filters
Review follow-ups: PR #572 — feat(auth): enable immediate signup with unlisted web registration
Review follow-ups: PR #565 — fix(web/imports): resume edge cases — a gone file falls back to review, a blip retries, re-check before a re-match wipe
Review follow-ups: PR #566 — feat(web/imports): drafts list with Resume, behind the ?preview=1 web gate (PR-7)