-
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