Commit Graph

  • 581719401e Merge feature/s3-dynamic-facets: dynamic faceted filter chips peter 2026-06-15 12:25:10 +02:00
  • aa4b069567 feat(filters): make the topic Any/All match toggle prominent peter 2026-06-15 12:20:17 +02:00
  • 64911e3c4d fix(feed): conjunctive facet counts when topic match mode is AND peter 2026-06-15 12:20:08 +02:00
  • 5656875a07 feat(filters): sort facet chips by count, then name peter 2026-06-15 12:10:09 +02:00
  • 79f53ccf59 feat(filters): dynamic faceted chips driven by /api/facets peter 2026-06-15 12:06:02 +02:00
  • 79e7694b24 feat(feed): /api/facets endpoint for contextual tag counts peter 2026-06-15 12:05:53 +02:00
  • bd2e39d6f8 Merge: promote dev to prod peter 2026-06-15 04:32:05 +02:00
  • 6a11dd1158 Merge improvement/deep-queue-chip-clarity: clearer deep-backfill status peter 2026-06-15 04:31:56 +02:00
  • cb35b0e86e improvement(sync): reflect deep backfill as active in the header status peter 2026-06-15 04:30:27 +02:00
  • 5fba327d24 improvement(channels): distinct label for full-history queued by another user peter 2026-06-15 04:23:49 +02:00
  • 5db515f644 Merge feature/s2-shared-library: shared-library feed scope peter 2026-06-15 04:14:48 +02:00
  • db4a7c0440 feat(feed): shared-library scope toggle in the header peter 2026-06-15 04:06:22 +02:00
  • e91ded61bb feat(feed): add scope=all to browse the whole shared catalog peter 2026-06-15 04:06:14 +02:00
  • 44ef725a2e Merge feature/s1-filter-quick-wins: reshuffle button + channel counts on chips peter 2026-06-15 03:10:40 +02:00
  • 5a96607557 feat(feed): reshuffle button for the "surprise me" sort peter 2026-06-15 03:08:10 +02:00
  • b325893b22 feat(filters): show channel counts on topic and language chips peter 2026-06-15 03:08:03 +02:00
  • 6c8b9d6986 fix(version): VERSION-file as source of truth peter 2026-06-15 02:22:27 +02:00
  • 07f04b8f90 fix(version): read app version from the committed VERSION file peter 2026-06-15 02:22:27 +02:00
  • e98e2cbdd5 Release v0.1.0: watch progress, status bar, version/release-notes, i18n (HU/EN/DE) peter 2026-06-15 02:09:22 +02:00
  • 53708891b3 docs(release): note multilingual UI in v0.1.0 release notes peter 2026-06-15 02:09:22 +02:00
  • cdc15ad1f9 feat(channels): clearer error when a YouTube action lacks the scope peter 2026-06-15 02:02:05 +02:00
  • ea317c0009 feat(i18n): translate remaining components (HU/EN/DE) peter 2026-06-15 00:47:04 +02:00
  • 941fb7d756 feat(i18n): translate login and app chrome (HU/EN/DE) peter 2026-06-15 00:30:34 +02:00
  • 7aa068061d feat(i18n): foundation — react-i18next, language switcher, server-persisted choice peter 2026-06-15 00:30:34 +02:00
  • 844fed7d2f Merge: release notes, About dialog, and version stamping peter 2026-06-15 00:07:13 +02:00
  • 82f0936ca7 feat(ui): About dialog, Release Notes, and new-version banner peter 2026-06-15 00:06:57 +02:00
  • a93ab30fb2 feat(version): /api/version + build-time version/commit stamping peter 2026-06-15 00:06:57 +02:00
  • 5dd3109286 Merge: repo hygiene for public readiness peter 2026-06-14 23:20:02 +02:00
  • 167ebc74d8 chore(repo): remove internal deployment plan, sanitize infra references peter 2026-06-14 23:20:02 +02:00
  • 21b9e2710e Merge: auto-complete full history when stored >= video_count peter 2026-06-14 19:01:04 +02:00
  • 75d122de75 fix(backfill): auto-complete full history when stored >= video_count peter 2026-06-14 19:01:04 +02:00
  • 6683720ab8 Merge: header video-count clarity + idle pause hidden peter 2026-06-14 18:43:11 +02:00
  • 88e3b466b0 Merge: watch progress (resume bar, continue/restart, in-progress filter) peter 2026-06-14 18:43:11 +02:00
  • b4109909db feat(header): clarify video counts and hide idle pause button peter 2026-06-14 18:42:55 +02:00
  • 04c971f623 feat(feed): resume progress bar, play/continue/restart, in-progress filter peter 2026-06-14 18:40:12 +02:00
  • 686c40cbb9 feat(progress): track per-user resume position server-side peter 2026-06-14 18:40:05 +02:00
  • a16e613fe9 Release: onboarding auto-import, per-user header, channel status filter, stable priority, Phase B security fixes peter 2026-06-14 07:14:54 +02:00
  • bc87b3abdc Merge: channel status filter, header full-history link, stable priority peter 2026-06-14 07:08:59 +02:00
  • 3f7298cca0 feat(channels): status filter + header full-history link + stable priority peter 2026-06-14 07:08:59 +02:00
  • 00d167506d Merge: per-user header sync status peter 2026-06-14 06:55:18 +02:00
  • 6d2f84f791 fix(header): show per-user sync status instead of the global catalog peter 2026-06-14 06:55:18 +02:00
  • 930381f2d4 Merge: onboarding auto-import + empty-feed guidance peter 2026-06-14 06:36:12 +02:00
  • 4f80262046 feat(onboarding): auto-import subscriptions after read grant + empty-feed guidance peter 2026-06-14 06:36:12 +02:00
  • 027b8492ee Merge: Phase B security fixes peter 2026-06-14 05:59:34 +02:00
  • 1eeaad61d9 fix(security): patch cryptography CVEs, upgrade pip at build, harden /auth/upgrade peter 2026-06-14 05:59:34 +02:00
  • 842c6d800e Merge: rebrand to Siftlode peter 2026-06-14 04:40:22 +02:00
  • 9ace042510 chore: rebrand Subfeed -> Siftlode peter 2026-06-14 04:40:22 +02:00
  • 53307ea206 Merge onboarding wizard, scope split, hardening, legal pages, and deploy setup peter 2026-06-14 01:39:43 +02:00
  • a322f87caf chore(deploy): hardened prod compose, rollout script, and CI for the server peter 2026-06-14 01:39:43 +02:00
  • 6a71e3d943 feat(legal): public privacy policy, terms, and homepage for OAuth verification peter 2026-06-14 01:29:44 +02:00
  • e0980487af feat(onboarding): first-login wizard for incremental YouTube consent peter 2026-06-14 01:11:29 +02:00
  • 4765db89de feat(auth): split base sign-in from YouTube scopes for incremental onboarding peter 2026-06-13 23:56:34 +02:00
  • 9163a5f68e Merge: smoother long-feed scrolling peter 2026-06-12 18:17:03 +02:00
  • a8e98d03ae perf(feed): smoother scrolling for long feeds peter 2026-06-12 18:17:03 +02:00
  • 203624518d Merge: stop stale toasts resurrecting on reload peter 2026-06-12 18:07:31 +02:00
  • a64a8830eb fix(notifications): don't resurrect stale toasts on reload peter 2026-06-12 18:07:31 +02:00
  • 6d9a485c21 Merge robust avatar loading (no-referrer + fallback) peter 2026-06-12 18:01:43 +02:00
  • a640b181ee fix(ui): robust avatars — no-referrer + graceful fallback peter 2026-06-12 18:01:43 +02:00
  • 473171d1b4 Merge inline modal YouTube player peter 2026-06-12 17:39:56 +02:00
  • db0ffc3717 fix(feed): clear optimistic overrides on refetch peter 2026-06-12 17:39:28 +02:00
  • d5dab5377f feat(notifications): notify on 'watched' with an Unwatch action peter 2026-06-12 17:39:28 +02:00
  • 1bdde051c1 feat(player): linkify descriptions and play YouTube links inline peter 2026-06-12 17:39:20 +02:00
  • 195044042f feat(player): polish the description popover (opaque, portaled, opens upward) peter 2026-06-12 17:39:08 +02:00
  • fcb77ac2e1 feat(player): watched controls, compact layout, description popover peter 2026-06-12 17:39:01 +02:00
  • 99dfa7691c feat(player): in-app modal YouTube player with resume peter 2026-06-12 17:38:45 +02:00
  • d0b8ef796a fix(sidebar): resolve channel filter name from channel list after refresh peter 2026-06-12 14:08:49 +02:00
  • adeb0a6160 merge: per-user quota attribution + admin stats page peter 2026-06-12 02:47:55 +02:00
  • f255728f75 feat(stats): per-user API quota attribution + admin usage page peter 2026-06-12 02:47:55 +02:00
  • bcc4371ac7 merge: full-history chip reflects shared deep-queue state peter 2026-06-12 02:29:10 +02:00
  • de0decee59 fix(channels): reflect shared deep-queue state in the full-history chip peter 2026-06-12 02:29:10 +02:00
  • 0c76730797 merge: friendlier onboarding emails + deliverability headers peter 2026-06-12 02:05:18 +02:00
  • 8135527d75 fix(email): warmer onboarding copy + Reply-To/Date headers peter 2026-06-12 02:05:18 +02:00
  • a92112cefb merge: M5c — onboarding (DB invites, request-access, admin approval, email) peter 2026-06-12 01:43:14 +02:00
  • 2add173760 feat(m5c): onboarding — DB invites, request-access, admin approval, email peter 2026-06-12 01:43:07 +02:00
  • 5754f47f20 merge: fix recent/deep boundary-page video loss peter 2026-06-12 00:15:20 +02:00
  • 18aa3726fb fix(backfill): don't skip the tail of the recent/deep boundary page peter 2026-06-12 00:15:20 +02:00
  • 69e9c60ca1 merge: immediate recent backfill on full-history opt-in peter 2026-06-12 00:00:50 +02:00
  • 15007250db feat(channels): kick recent backfill immediately on 'full history' opt-in peter 2026-06-12 00:00:50 +02:00
  • c8a50472f3 merge: M5b — optional YouTube write scope (incremental OAuth) peter 2026-06-11 23:27:17 +02:00
  • 43c05ea14b feat(m5b): optional YouTube write scope via incremental OAuth peter 2026-06-11 23:27:11 +02:00
  • f4b8a721fb merge: M5d — demand-driven deep backfill + per-user ETA peter 2026-06-11 23:07:15 +02:00
  • beb961c021 feat(m5d): demand-driven deep backfill + per-user ETA peter 2026-06-11 23:07:09 +02:00
  • bbcfd46ea9 merge: M5a — channel manager, settings panel, per-user sync, liquid-glass UI peter 2026-06-11 22:52:23 +02:00
  • 0a6befd578 style(ui): glass opacity 82% -> 78% peter 2026-06-11 22:49:04 +02:00
  • 94a077d699 fix(ui): restore glass translucency (82%) — opaque value killed the effect peter 2026-06-11 22:45:14 +02:00
  • f429889250 fix(ui): opacity-based frosted glass; drop full-page settings blur peter 2026-06-11 22:39:52 +02:00
  • 4a35e8b42a fix(ui): stronger frosted glass + frosted settings backdrop; declutter header peter 2026-06-11 22:16:07 +02:00
  • b7d448b403 perf(ui): drop backdrop-filter from bulk glass cards peter 2026-06-11 22:04:01 +02:00
  • 3f4d5ed9d7 fix(dev): vite proxy to 127.0.0.1 + throttle error notifications peter 2026-06-11 22:00:57 +02:00
  • bc9b9a854c fix(ui): portal tooltips, opaque glass, settings rail+stable height, notif test, channel help peter 2026-06-11 21:30:25 +02:00
  • 002579e5e5 feat(ui): liquid-glass design system, settings polish, hints, notif fixes peter 2026-06-11 21:08:35 +02:00
  • a8822d3935 feat(m5a): channel manager, tabbed settings panel, per-user sync status peter 2026-06-11 20:45:48 +02:00
  • b8a8605797 merge: M4 polish — sidebar widgets, URL state, notification center, account menu peter 2026-06-11 19:59:26 +02:00
  • a419ac2943 fix(ui): notification UX — outside-click close, toast countdown, hide entry actions peter 2026-06-11 19:46:58 +02:00
  • a105e5c184 feat(ui): notification center with leveled toasts and error capture peter 2026-06-11 19:26:34 +02:00
  • ae0cd89e20 feat(ui): customizable sidebar — collapsible, reorderable, toggleable widgets peter 2026-06-11 19:21:48 +02:00
  • 98025d8fab feat(ui): reflect filters/sort/search in the URL peter 2026-06-11 19:17:08 +02:00
  • 3e1823b08b feat(ui): account hover-popup, upload-date chips, top clear-filters bar peter 2026-06-11 17:39:24 +02:00
  • 3afb284d46 chore(frontend): add package-lock.json for reproducible installs peter 2026-06-11 17:39:24 +02:00
  • 6120e6b0f8 merge: shared-database deployment (24/7 backfill) peter 2026-06-11 16:59:09 +02:00