siftlode/backend
npeter83 5b81e22677 refactor(backend): quota.measured helper, consistent admin gating, messageable predicate
- quota.measured() context manager folds the before/after units diff that the
  manual sync routes each re-spelled (also makes quota_remaining_today consistent).
- sync pause/resume now use Depends(admin_user) instead of inline role checks.
- is_messageable_user() unifies the 'real, active, non-suspended human' rule that
  was encoded three ways (WS auth, send recipient, and the SQL _messageable()).
2026-06-26 03:15:53 +02:00
..
alembic feat(messages): end-to-end encrypted real-time direct messaging backend 2026-06-25 22:05:35 +02:00
app refactor(backend): quota.measured helper, consistent admin gating, messageable predicate 2026-06-26 03:15:53 +02:00
alembic.ini feat: M1 foundation — compose stack, FastAPI, Google OAuth, encrypted tokens 2026-06-11 01:01:37 +02:00
Dockerfile feat: M1 foundation — compose stack, FastAPI, Google OAuth, encrypted tokens 2026-06-11 01:01:37 +02:00
entrypoint.sh fix(api): raise uvicorn keepalive above the proxy reuse window 2026-06-18 15:13:01 +02:00
log_config.json chore: rename remaining subfeed references to siftlode 2026-06-21 06:53:12 +02:00
requirements.txt feat(auth): email+password registration with two-gate activation (5a backend) 2026-06-19 14:03:11 +02:00