siftlode/backend
npeter83 b89c00f909 feat(playlists): push local playlists to YouTube (export + diff sync)
Local 'user' playlists (not Watch later, not YouTube mirrors) can now be pushed
to YouTube: create a new playlist on first push, else reconcile membership + order
so YouTube matches local (local wins). plan_push computes a dry-run estimate
(inserts/deletes/reorders + quota units + divergence) read from the live YouTube
state; push refuses if the estimate exceeds the remaining daily quota so a big
playlist can't strand half-pushed. Reorder uses an insertion-sort move count that
matches what executes. Edits to a linked playlist set dirty; a successful push
clears it. DELETE accepts on_youtube to also delete the playlist on YouTube. The
read-sync now skips YouTube playlists already owned by a local export, avoiding
duplicate read-only mirrors.
2026-06-15 21:23:02 +02:00
..
alembic feat(playlists): unify Saved into a built-in Watch later playlist 2026-06-15 15:33:53 +02:00
app feat(playlists): push local playlists to YouTube (export + diff sync) 2026-06-15 21:23:02 +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 chore: rebrand Subfeed -> Siftlode 2026-06-14 04:40:22 +02:00
log_config.json chore: structured timestamped logging across the backend 2026-06-11 04:26:18 +02:00
requirements.txt fix(security): patch cryptography CVEs, upgrade pip at build, harden /auth/upgrade 2026-06-14 05:59:34 +02:00