siftlode/backend/app
npeter83 c44721ed98 fix(feed): conjunctive facet counts when topic match mode is AND
In AND ("All") topic mode the facet endpoint still excluded the topic selections
when counting topic chips, so every topic kept its full count and none dropped
out as you narrowed — e.g. picking Comedy left Cooking visible even though no
channel has both. Count topics conjunctively in AND mode (keep the selected
topics applied) so each remaining chip reflects channels that ALSO have all
already-selected topics; non-co-occurring tags fall to zero and hide. OR mode
stays disjunctive. Verified: Comedy selected narrows topic chips 21 -> 6.
2026-06-15 12:20:08 +02:00
..
routes fix(feed): conjunctive facet counts when topic match mode is AND 2026-06-15 12:20:08 +02:00
static chore: rebrand Subfeed -> Siftlode 2026-06-14 04:40:22 +02:00
sync fix(backfill): auto-complete full history when stored >= video_count 2026-06-14 19:01:04 +02:00
youtube chore: rebrand Subfeed -> Siftlode 2026-06-14 04:40:22 +02:00
__init__.py feat: M1 foundation — compose stack, FastAPI, Google OAuth, encrypted tokens 2026-06-11 01:01:37 +02:00
auth.py feat(i18n): foundation — react-i18next, language switcher, server-persisted choice 2026-06-15 00:30:34 +02:00
config.py fix(version): read app version from the committed VERSION file 2026-06-15 02:22:27 +02:00
db.py feat: M1 foundation — compose stack, FastAPI, Google OAuth, encrypted tokens 2026-06-11 01:01:37 +02:00
email.py chore: rebrand Subfeed -> Siftlode 2026-06-14 04:40:22 +02:00
main.py feat(version): /api/version + build-time version/commit stamping 2026-06-15 00:06:57 +02:00
models.py feat(progress): track per-user resume position server-side 2026-06-14 18:40:05 +02:00
quota.py feat(stats): per-user API quota attribution + admin usage page 2026-06-12 02:47:55 +02:00
scheduler.py feat(stats): per-user API quota attribution + admin usage page 2026-06-12 02:47:55 +02:00
security.py feat: M1 foundation — compose stack, FastAPI, Google OAuth, encrypted tokens 2026-06-11 01:01:37 +02:00
state.py chore: structured timestamped logging across the backend 2026-06-11 04:26:18 +02:00