Commit Graph

  • 71aa51a1b3 chore: prepare repo for public release — scrub internal infra, rewrite README peter 2026-07-01 12:46:50 +02:00
  • 870fff2196 Merge: promote dev to prod peter 2026-07-01 12:08:48 +02:00
  • 006d56eaa8 chore(release): 0.20.1 peter 2026-07-01 12:07:58 +02:00
  • 56fb5767a6 Merge: refresh Welcome page copy + screenshots peter 2026-07-01 12:01:42 +02:00
  • 1ba344445b improvement(welcome): refresh landing copy + real npeter83 sample screenshots peter 2026-07-01 12:01:42 +02:00
  • a13d24d249 Merge: promote dev to prod peter 2026-07-01 11:29:48 +02:00
  • 1139bb3ac2 chore(release): 0.20.0 peter 2026-07-01 11:28:56 +02:00
  • 7702b26e87 Merge: new default sidebar widget order peter 2026-07-01 04:29:38 +02:00
  • 23a8c78413 polish(sidebar): default widget order — Saved views, Upload date, Your tags, Language, Topic peter 2026-07-01 04:29:38 +02:00
  • e2c9adb1e1 Merge: unify filter reset — Source/scope count + clear, search ✕ peter 2026-07-01 04:22:39 +02:00
  • d0051b0fde improvement(filters): count Source + Library scope as active; unify Clear all; add search clear (X) peter 2026-07-01 04:22:39 +02:00
  • dce88533ad Merge: saved smart views (named FeedFilters snapshots) peter 2026-07-01 03:17:47 +02:00
  • 77faf98d5f feat(views): saved-views UI — sidebar widget, apply/rename/default/reorder/share peter 2026-07-01 03:17:36 +02:00
  • fb719edc7b feat(views): saved-views backend — table, model, CRUD + reorder API peter 2026-07-01 03:17:36 +02:00
  • 7b18fdc47a Merge: promote dev to prod peter 2026-07-01 02:38:15 +02:00
  • 124260f3d2 chore(release): 0.19.0 peter 2026-07-01 02:37:07 +02:00
  • c9398ace5a Merge: keep scrape-sourced YouTube search results across a reload peter 2026-07-01 01:55:05 +02:00
  • 036491b88b feat(search): keep scrape-sourced YouTube results across a reload peter 2026-07-01 01:55:05 +02:00
  • c7c3ebe2d2 Merge: fix back button swallowed after a button/ESC overlay close peter 2026-07-01 01:42:00 +02:00
  • f6f1018234 fix(history): stop the next overlay's first Back being swallowed after a button/ESC close peter 2026-07-01 01:42:00 +02:00
  • 58d39ee47e Merge: ephemeral live-search — auto-purge, count selector, channel blocklist, new-first peter 2026-07-01 01:18:33 +02:00
  • 466bb202e1 Merge: Channels search + clickable tag chips, contextual Your-tags, card polish peter 2026-07-01 01:18:33 +02:00
  • ebfe462967 fix(search): keep Load more; the count selector sets the batch size peter 2026-07-01 01:17:04 +02:00
  • 18a6cdff6c feat(search): ephemeral results UX, count selector, channel blocklist (frontend) peter 2026-07-01 01:00:32 +02:00
  • 37bb773a12 feat(search): ephemeral results, count selector, blocklist, new-first ordering (backend) peter 2026-07-01 00:42:32 +02:00
  • a870bb5610 fix(channels): flip the row tag picker upward when it would clip below peter 2026-07-01 00:01:26 +02:00
  • 03e0c68c7c feat(card): tooltip the full video title only when it's clamped peter 2026-06-30 23:53:44 +02:00
  • 4cd7d4403e feat(channels): search box + clickable tag chips; fix(feed): contextual Your-tags peter 2026-06-30 22:30:35 +02:00
  • 22ee9becac Merge: channel page + ephemeral exploration of un-subscribed channels peter 2026-06-30 05:20:06 +02:00
  • 56dc1d8ed8 fix(ui): make the back-to-top button resist ad-block cosmetic filters peter 2026-06-30 05:18:07 +02:00
  • 06dda5338f feat(ui): floating back-to-top button on long scrollable pages peter 2026-06-30 05:02:42 +02:00
  • 607bef1400 polish(feed): one-row toolbar — count after Source, sort right-aligned peter 2026-06-30 04:56:08 +02:00
  • 421ba09a19 polish(channel): inset, rounded banner card (option C) peter 2026-06-30 04:48:46 +02:00
  • a1aaa8bff3 fix(channel): let the nav rail navigate away from a channel page peter 2026-06-30 04:47:54 +02:00
  • 859c354150 polish(channel): compact header — stats inline, slimmer banner peter 2026-06-30 04:43:37 +02:00
  • fb74a31dd3 fix(channel): drop channel-constant sort options on the channel page peter 2026-06-30 04:37:00 +02:00
  • 7608e897d8 fix(channel): render the banner wide like YouTube peter 2026-06-30 04:32:43 +02:00
  • af2d80ed1f fix(channel): persist across reload, keep banner aspect, fix avatar z-order peter 2026-06-30 04:24:52 +02:00
  • 6209016227 fix(channel): show the Exploring badge on first visit peter 2026-06-30 04:17:49 +02:00
  • 9810e43cf7 fix(player): open the channel page from the player without it bouncing back peter 2026-06-30 04:14:14 +02:00
  • 3db4aef653 feat(player): channel name opens the in-app channel page peter 2026-06-30 03:12:44 +02:00
  • c8123dd9ae feat(channels): dedicated channel page + ephemeral explore UI peter 2026-06-30 03:08:52 +02:00
  • cd6d17c58c feat(channels): channel-explore backend — about metadata, ephemeral provenance, cleanup peter 2026-06-30 02:52:44 +02:00
  • 7e9f70a81a Merge: Mine search finds, relevance search, and a weighted search document peter 2026-06-30 02:16:32 +02:00
  • 4abeb651e1 feat(feed): broaden search to a weighted document (title + keywords + queries + description) peter 2026-06-30 02:00:38 +02:00
  • 183e23055e fix(feed): reliably switch to relevance sort when a search starts peter 2026-06-30 01:36:12 +02:00
  • 12ee577660 feat(feed): Source filter in Mine, Relevance sort, auto search-source peter 2026-06-30 00:39:21 +02:00
  • 5d2b7d985d feat(feed): per-user search finds in Mine scope + full-text relevance search peter 2026-06-30 00:39:09 +02:00
  • d3d1760f15 Merge: promote dev to prod peter 2026-06-29 23:43:44 +02:00
  • 83a7d27338 chore(release): 0.18.0 peter 2026-06-29 23:41:53 +02:00
  • 313454ad88 Merge: video-player keyboard + scroll-wheel controls peter 2026-06-29 23:41:00 +02:00
  • 4f5f2920f0 Merge: zero-quota live-search scrape source + search back-nav fix peter 2026-06-29 23:41:00 +02:00
  • 291da99a2c feat(player): keyboard + scroll-wheel controls in the video modal peter 2026-06-29 23:37:18 +02:00
  • 1eb580f6fa fix(search): make the YouTube-search view its own history entry peter 2026-06-29 23:03:25 +02:00
  • dca339bd3d feat(search): drop quota wording when the live search source is scrape peter 2026-06-29 22:30:03 +02:00
  • 44379f52a7 feat(search): zero-quota InnerTube scrape source + search_source toggle peter 2026-06-29 22:29:54 +02:00
  • 1e1460266f Merge: live YouTube search peter 2026-06-29 02:46:14 +02:00
  • ae7e077852 fix(search): refresh feed after returning from YouTube search peter 2026-06-29 02:40:32 +02:00
  • 378fc70285 feat(feed): accent-insensitive search (unaccent) peter 2026-06-29 02:30:37 +02:00
  • 6ea0972899 fix(search): include Library source filter in shareable URL peter 2026-06-29 02:30:37 +02:00
  • ad921f0233 fix(feed): stop search-box flicker (keepPreviousData + debounced query) peter 2026-06-29 02:19:18 +02:00
  • 18cf277061 feat(search): Library provenance filter (organic / all / search-only) peter 2026-06-29 02:11:53 +02:00
  • fb57abdf6a feat(search): live YouTube search UI peter 2026-06-29 02:01:44 +02:00
  • b068cf7d43 feat(search): live YouTube search backend peter 2026-06-29 02:01:31 +02:00
  • 3d2755d138 Merge: promote dev to prod peter 2026-06-29 01:13:52 +02:00
  • cd12374ceb chore(release): 0.17.0 — maintenance epic + messaging account-switch fix peter 2026-06-29 01:12:22 +02:00
  • fddec626d5 Merge bug/messaging-stale-thread-on-account-switch peter 2026-06-29 00:52:52 +02:00
  • 47860337a1 fix(messages): don't inherit a stale chat thread across account switch peter 2026-06-29 00:48:18 +02:00
  • 95ae104294 Merge improvement/frontend-decompose peter 2026-06-29 00:27:59 +02:00
  • 4736641f6d refactor(player): extract description link-rendering into lib/descriptionLinks peter 2026-06-29 00:24:49 +02:00
  • 3f3d64a977 refactor(i18n,format): translate ETA strings; consolidate time/duration formatters peter 2026-06-29 00:22:21 +02:00
  • fd82973ef2 Merge improvement/frontend-ui-primitives peter 2026-06-29 00:14:31 +02:00
  • a6c2357930 refactor(ui): useDismiss hook for outside-click/Escape close peter 2026-06-29 00:11:44 +02:00
  • e04ba3fb7c refactor(ui): shared DraftSaveBar (Settings + Config save bars) peter 2026-06-29 00:07:37 +02:00
  • aae123faf6 refactor(ui): shared form primitives (Switch, Section, SettingRow, HintLabel) peter 2026-06-29 00:04:45 +02:00
  • dcee5b38e6 Merge improvement/frontend-state-foundation peter 2026-06-26 03:33:00 +02:00
  • 8456b2245d refactor(frontend): adopt store/storage helpers; centralize persistence peter 2026-06-26 03:30:19 +02:00
  • 7ae3802f38 feat(frontend): add createStore factory + central localStorage registry peter 2026-06-26 03:30:19 +02:00
  • 3e58790c90 Merge improvement/backend-consolidation peter 2026-06-26 03:17:51 +02:00
  • 1b3b56031a refactor(models): extract Timestamp/UpdatedAt mixins; fix stale status comment peter 2026-06-26 03:15:53 +02:00
  • 776cc61c1f refactor(playlists,feed): share feed-row projection & playlist helpers peter 2026-06-26 03:15:53 +02:00
  • c42ea641fc refactor(backend): quota.measured helper, consistent admin gating, messageable predicate peter 2026-06-26 03:15:53 +02:00
  • 1758b50062 refactor(auth): centralize token hashing, email validation & admin gating peter 2026-06-26 03:15:36 +02:00
  • 4e426606dd fix(maintenance): drop dead status=="saved" scan peter 2026-06-26 03:15:36 +02:00
  • a146a353f7 Merge: promote dev to prod peter 2026-06-26 01:42:54 +02:00
  • b0eef60878 chore(release): 0.16.2 — access-requests UX + back-navigation fixes peter 2026-06-26 01:42:12 +02:00
  • 06f2380483 Merge bug/access-review-tab — access-requests UX + general back-navigation fixes peter 2026-06-26 01:41:46 +02:00
  • 795569530b fix(nav): Back steps through sub-views and closes modals before leaving a page peter 2026-06-26 01:37:43 +02:00
  • 661a7bcc31 fix(notifications): access-requests nudge auto-clears on approval peter 2026-06-26 01:19:01 +02:00
  • 88e2d3721f fix(url): strip leftover query string once signed in peter 2026-06-26 01:13:26 +02:00
  • 7f4469beea fix(notifications): Review link opens the Access requests tab, not the last-used one peter 2026-06-26 01:05:14 +02:00
  • e1f8bf0bd8 Merge: promote dev to prod peter 2026-06-26 00:37:25 +02:00
  • 1dd251440e chore(release): 0.16.1 — notification context + YouTube API egress proxy peter 2026-06-26 00:36:46 +02:00
  • 547f114aa5 Merge bug/notif-context-and-api-proxy — notification context + YouTube API egress proxy peter 2026-06-26 00:36:22 +02:00
  • e4b24b1b7d feat(youtube): optional egress proxy for YouTube API calls peter 2026-06-26 00:32:17 +02:00
  • 104c2c9a35 fix(notifications): name the entity in action toasts peter 2026-06-26 00:32:17 +02:00
  • b4e50d348e Merge: promote dev to prod peter 2026-06-26 00:02:57 +02:00
  • e75f4176ea chore(release): 0.16.0 — end-to-end encrypted real-time messaging peter 2026-06-26 00:01:54 +02:00
  • 1c4e712d8c Merge feature/user-messaging — E2EE real-time direct messaging (epic 8 P2) peter 2026-06-26 00:01:17 +02:00
  • a8481f7716 fix(messages): make the dock new-message flash actually visible peter 2026-06-26 00:00:21 +02:00