siftlode/backend
npeter83 ea2e1fb5a7 feat(player): linkify descriptions and play YouTube links inline
- Narrow the title hover target to the actual text, not the whole row.
- Linkify descriptions: timestamps (mm:ss / hh:mm:ss) seek the player; emails
  become mailto:; hashtags link to YouTube's hashtag feed; other URLs open in a
  new tab. Blank lines are stripped so the popover isn't mostly whitespace.
- YouTube links play in the inline player: a link to the current video seeks
  (honoring t=), a link to another video navigates the player to it, with a Back
  button to the original. While on a linked video the title/author come from the
  player and its views/date/duration + a clickable channel come from the detail
  endpoint, which falls back to the YouTube API (videos.list, attributed to the
  user) for videos not in our DB.
2026-06-12 17:39:20 +02:00
..
alembic feat(stats): per-user API quota attribution + admin usage page 2026-06-12 02:47:55 +02:00
app feat(player): linkify descriptions and play YouTube links inline 2026-06-12 17:39:20 +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: structured timestamped logging across the backend 2026-06-11 04:26:18 +02:00
log_config.json chore: structured timestamped logging across the backend 2026-06-11 04:26:18 +02:00
requirements.txt feat: M3 — automatic channel tagging (language + topic system tags) 2026-06-11 01:57:19 +02:00