..
routes
feat(feed): accent-insensitive search (unaccent)
2026-06-29 02:30:37 +02:00
static
chore: rebrand Subfeed -> Siftlode
2026-06-14 04:40:22 +02:00
sync
refactor(playlists,feed): share feed-row projection & playlist helpers
2026-06-26 03:15:53 +02:00
youtube
feat(search): live YouTube search backend
2026-06-29 02:01:31 +02:00
__init__.py
feat: M1 foundation — compose stack, FastAPI, Google OAuth, encrypted tokens
2026-06-11 01:01:37 +02:00
auth.py
refactor(auth): centralize token hashing, email validation & admin gating
2026-06-26 03:15:36 +02:00
config.py
feat(search): live YouTube search backend
2026-06-29 02:01:31 +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: rename remaining subfeed references to siftlode
2026-06-21 06:53:12 +02:00
main.py
feat(search): live YouTube search backend
2026-06-29 02:01:31 +02:00
models.py
feat(search): live YouTube search backend
2026-06-29 02:01:31 +02:00
notifications.py
feat(notifications): durable per-user inbox (P1) + maintenance schema
2026-06-18 03:20:17 +02:00
progress.py
feat(scheduler): admin run-now/run-all triggers + live progress + completion notices
2026-06-18 04:01:10 +02:00
quota.py
feat(search): live YouTube search backend
2026-06-29 02:01:31 +02:00
ratelimit.py
feat(demo): demo-account schema + reusable rate limiter
2026-06-16 09:17:14 +02:00
realtime.py
feat(messages): end-to-end encrypted real-time direct messaging backend
2026-06-25 22:05:35 +02:00
scheduler.py
chore: rename remaining subfeed references to siftlode
2026-06-21 06:53:12 +02:00
security.py
refactor(auth): centralize token hashing, email validation & admin gating
2026-06-26 03:15:36 +02:00
state.py
refactor(auth): centralize token hashing, email validation & admin gating
2026-06-26 03:15:36 +02:00
sysconfig.py
feat(search): live YouTube search backend
2026-06-29 02:01:31 +02:00
utils.py
refactor(auth): centralize token hashing, email validation & admin gating
2026-06-26 03:15:36 +02:00