Commit Graph

  • 3b380957d4 fix(messages): gate on server key state, not just local unlock peter 2026-06-25 22:58:29 +02:00
  • 44e9e33354 feat(messages): auto-open/flash dock on incoming + persist dock across reload peter 2026-06-25 22:46:54 +02:00
  • 91522d9689 feat(messages): standalone Messages module + floating chat dock peter 2026-06-25 22:34:24 +02:00
  • 5807faf790 feat(messages): E2EE real-time messaging UI + system welcome peter 2026-06-25 22:05:35 +02:00
  • 9d9380aabd feat(messages): end-to-end encrypted real-time direct messaging backend peter 2026-06-25 22:05:35 +02:00
  • bc81ac5d08 Merge: promote dev to prod peter 2026-06-25 20:06:44 +02:00
  • bcba373431 chore(release): 0.15.0 — feed virtualization + keyset pagination peter 2026-06-25 20:04:25 +02:00
  • aad4f96ce6 Merge feature/feed-virtualization-keyset — feed virtualization + keyset pagination (epic 7) peter 2026-06-25 20:03:44 +02:00
  • 9d1df3edce feat(feed): virtualize the feed list and consume the keyset cursor peter 2026-06-25 19:54:40 +02:00
  • b80a92d22a feat(feed): keyset/cursor pagination replacing OFFSET/LIMIT peter 2026-06-25 19:54:40 +02:00
  • a5a73857e8 Merge feature/home-relocation into dev peter 2026-06-22 02:57:38 +02:00
  • 4f84042e5a feat(ops): self-hosted deployment — app+db in a container behind a reverse proxy peter 2026-06-22 02:57:38 +02:00
  • 0831ae78fe Merge: promote dev to prod peter 2026-06-21 07:11:58 +02:00
  • 36c8bca9d1 chore: release 0.14.1 — finish subfeed→siftlode rename peter 2026-06-21 07:07:56 +02:00
  • 1c9cf60178 Merge branch 'chore/rename-subfeed-to-siftlode' into dev peter 2026-06-21 06:53:12 +02:00
  • 74830eb0eb chore: rename remaining subfeed references to siftlode peter 2026-06-21 06:53:12 +02:00
  • 43e2805ec3 Merge: promote dev to prod peter 2026-06-21 05:53:19 +02:00
  • 613822fdb3 Merge chore/remove-ci-workflow — drop the broken post-merge CI peter 2026-06-21 05:53:06 +02:00
  • 2cabe54fb8 ci: remove post-merge ci.yml workflow peter 2026-06-21 05:53:06 +02:00
  • c1ff1bad1b Merge: promote dev to prod peter 2026-06-21 05:26:36 +02:00
  • ea5c8466bb Merge feature/instant-deploy — event-driven prod deploy via Forgejo Actions peter 2026-06-21 05:26:24 +02:00
  • b4f4ff6198 ci(deploy): event-driven prod deploy via Forgejo Actions on push to main peter 2026-06-21 05:20:34 +02:00
  • fed1446b90 Merge: promote dev to prod peter 2026-06-21 03:28:56 +02:00
  • 543b109acf chore(release): 0.14.0 peter 2026-06-21 03:23:23 +02:00
  • 19c93fbd17 Merge feature/install-wizard — first-run install wizard + self-host package (epic 6) peter 2026-06-21 03:20:59 +02:00
  • e039c8f4ec fix(setup): hide YouTube/Google affordances when Google sign-in isn't configured peter 2026-06-21 02:06:37 +02:00
  • 4951c32f6d feat(selfhost): one-command self-host package (epic 6d) peter 2026-06-21 01:42:18 +02:00
  • 93e97873d5 feat(setup): install-wizard UI (epic 6c) peter 2026-06-21 01:11:16 +02:00
  • 50c710ae9c feat(setup): install-wizard step endpoints (epic 6c, API) peter 2026-06-21 00:40:54 +02:00
  • ef6c915b12 feat(setup): first-boot detection + setup-mode gating + one-time token (epic 6a) peter 2026-06-21 00:38:47 +02:00
  • 5597e9fd3f feat(auth): manage Google OAuth credentials from the database (epic 6b) peter 2026-06-20 20:04:23 +02:00
  • d950bfd477 Merge: promote dev to prod peter 2026-06-19 19:54:26 +02:00
  • c4689639f1 chore(release): 0.13.0 peter 2026-06-19 19:53:31 +02:00
  • e7e99202cf Merge feature/auth-5e-google-link — complete epic 5 (auth/account) + admin user management peter 2026-06-19 19:52:38 +02:00
  • e77c5f4780 feat(welcome): landing lightbox, prod-served screenshots & session-end UX peter 2026-06-19 19:52:29 +02:00
  • b6f6a4d72a feat(admin): user management — roles, suspend, delete + lifecycle emails peter 2026-06-19 19:52:12 +02:00
  • e31a1eedb6 feat(auth): account lifecycle — Google linking, passwords, suspension & deletion plumbing peter 2026-06-19 19:52:02 +02:00
  • dc5d648ce2 Merge fix/access-requests-notification peter 2026-06-19 16:10:08 +02:00
  • 63bb40afa3 fix(inbox): access-requests nudge points to Users + a jump link, no pile-up peter 2026-06-19 16:10:08 +02:00
  • 04be3830b5 Merge feature/auth-5d-gdpr (GDPR account + data deletion) peter 2026-06-19 15:46:49 +02:00
  • fc8e04d20a feat(account): GDPR self-service account + data deletion (5d) peter 2026-06-19 15:46:49 +02:00
  • ab56752a90 Merge feature/auth-5c-demo (demo security audit + scheduled reset) peter 2026-06-19 15:25:14 +02:00
  • 571f337fdf feat(demo): scheduled demo-account reset (5c) peter 2026-06-19 15:25:13 +02:00
  • 7ca28189bb Merge feature/auth-5b-welcome (welcome/landing + email-password login UI) peter 2026-06-19 15:16:07 +02:00
  • a81734b4d6 feat(auth): welcome/landing page + email-password login UI (5b) peter 2026-06-19 15:15:58 +02:00
  • 732acfce52 Merge feature/auth-5a (email+password auth foundations + admin Users page) peter 2026-06-19 14:16:57 +02:00
  • 737da6bd96 feat(auth): admin Users page + allow_registration toggle (5a frontend) peter 2026-06-19 14:16:48 +02:00
  • 7efd4f4867 feat(auth): email+password registration with two-gate activation (5a backend) peter 2026-06-19 14:03:11 +02:00
  • 4fc7e1e7df chore(release): 0.12.0 peter 2026-06-19 13:23:33 +02:00
  • b8223c5741 Merge feature/config-db-4c peter 2026-06-19 13:19:06 +02:00
  • 2dc374cc7b feat(config): move youtube_api_key to DB (encrypted, admin-editable) peter 2026-06-19 13:19:06 +02:00
  • c953642e30 Merge feature/config-db-4b (epic 4b) peter 2026-06-19 13:07:55 +02:00
  • 060dbcffb0 feat(config): render quota/backfill/shorts/batch groups on the Configuration page peter 2026-06-19 13:07:55 +02:00
  • e6bcf5ba1e feat(config): move operational params to DB (quota/backfill/shorts/batch) peter 2026-06-19 13:07:45 +02:00
  • ff03b51352 Merge improvement/config-unified-savebar peter 2026-06-19 12:40:23 +02:00
  • 8198c7712e refactor(config): one Save/Discard bar instead of per-field Save peter 2026-06-19 12:40:23 +02:00
  • 7d71c205b2 Merge feature/config-db-admin (epic 4a) peter 2026-06-19 12:23:08 +02:00
  • a71257f33f feat(config): admin Configuration page (registry-driven) peter 2026-06-19 12:23:00 +02:00
  • 48cb6a5dbd feat(config): DB-backed system_config infrastructure + SMTP group peter 2026-06-19 12:22:36 +02:00
  • 24d626d05b Merge feature/stats-quota-taxonomy peter 2026-06-19 11:48:29 +02:00
  • 17a0886d60 feat(stats): consolidate per-user sync status into the Stats page peter 2026-06-19 11:48:20 +02:00
  • b23f805533 refactor(quota): canonical <entity>_<action> taxonomy for quota events peter 2026-06-19 11:48:11 +02:00
  • 1ce035ca9e Merge feature/banner-refactor-discovery-polish peter 2026-06-19 11:18:37 +02:00
  • 94fc5c9806 feat(discovery): total-videos column + subscribe confirmation peter 2026-06-19 11:18:28 +02:00
  • 479574b726 refactor(banner): extract reusable Banner base for VersionBanner + DemoBanner peter 2026-06-19 11:18:20 +02:00
  • 4e990efab0 Merge: promote dev to prod peter 2026-06-19 04:27:30 +02:00
  • a5de874dd3 Merge bug/youtube-error-status: YouTube failures as 422 not 502 (0.11.2) peter 2026-06-19 04:27:22 +02:00
  • 262ed06b3c release: 0.11.2 peter 2026-06-19 04:27:22 +02:00
  • fa86e3d282 fix(api): surface YouTube action failures as 422, not 502 peter 2026-06-19 04:27:22 +02:00
  • 139e0d067d Merge: promote dev to prod peter 2026-06-19 04:16:41 +02:00
  • 0d5e2dc331 Merge bug/subscribe-already-exists: reconcile already-followed channel (0.11.1) peter 2026-06-19 04:16:34 +02:00
  • 403a5608df release: 0.11.1 peter 2026-06-19 04:16:23 +02:00
  • 9c7beec443 fix(channels): reconcile an already-followed channel instead of erroring peter 2026-06-19 04:16:23 +02:00
  • 022bab3518 Merge: promote dev to prod peter 2026-06-19 04:02:45 +02:00
  • d254cf4353 release: 0.11.0 peter 2026-06-19 04:02:38 +02:00
  • b6404a5e55 Merge bug/channels-tab-focus: reliable channel-manager navigation (tab + stale filter) peter 2026-06-19 03:57:44 +02:00
  • 7aab0dd047 fix(channels): drop a stale column filter when sent to "without full history" peter 2026-06-19 03:55:55 +02:00
  • 1bedfca666 fix(channels): land on the subscriptions tab for channel-targeted navigation peter 2026-06-19 03:38:57 +02:00
  • 141dd32855 Merge improvement/ui-polish-dry: shared ChannelLink/channelYouTubeUrl + adaptive header poll peter 2026-06-19 03:31:52 +02:00
  • 258aa5cc84 perf(header): poll sync status faster while work is in flight peter 2026-06-19 03:24:45 +02:00
  • 5461cada84 refactor(channels): share one ChannelLink + channelYouTubeUrl helper peter 2026-06-19 03:22:10 +02:00
  • 96f303b0cf Merge improvement/inbox-nav-links: navigation links on watched + scheduler notices peter 2026-06-19 03:07:35 +02:00
  • 85b3a9f95c Merge improvement/header-activity-coherent: header reflects live sync activity, not pending work peter 2026-06-19 03:07:35 +02:00
  • c2b877c14e feat(inbox): add navigation links to watched and scheduler notices peter 2026-06-19 03:05:01 +02:00
  • f69e34e3a6 fix(header): show sync activity only while a job is actually running peter 2026-06-19 02:57:45 +02:00
  • a004fa4107 Merge bug/scheduler-progress-visibility: live progress for any scheduler job + parallel RSS polling peter 2026-06-19 02:45:36 +02:00
  • d86aee262d Merge feature/s5-channel-discovery: discover & subscribe to channels from playlists peter 2026-06-19 02:45:36 +02:00
  • cdc6715935 fix(scheduler): show progress for any running job with reliable live updates peter 2026-06-19 02:43:46 +02:00
  • e0971a23ec feat(scheduler): report progress from every job + parallelize RSS polling peter 2026-06-19 02:43:37 +02:00
  • 75ecf19147 feat(notifications): link the subscribe activity to the channel peter 2026-06-19 02:16:50 +02:00
  • fb6f0c5dcb feat(channels): discover & subscribe to channels from playlists peter 2026-06-19 02:16:42 +02:00
  • 7c0655a8f5 Merge: promote dev to prod peter 2026-06-19 00:20:38 +02:00
  • b5141ab112 docs(release): correct 0.10.0 note — reload isn't guarded peter 2026-06-19 00:20:38 +02:00
  • db6b108a6f Merge: promote dev to prod peter 2026-06-19 00:07:35 +02:00
  • 1e41a624ff release: 0.10.0 peter 2026-06-19 00:07:25 +02:00
  • e94dde1950 Merge improvement/settings-panel-trim: tidy Settings height, drop native unload prompt peter 2026-06-19 00:04:19 +02:00
  • 2e79074fca fix(settings): size panel to the active tab + drop the native unload prompt peter 2026-06-19 00:04:19 +02:00
  • 53ba10e7c6 Merge feature/settings-explicit-save: explicit Save/Discard for preferences peter 2026-06-18 23:59:40 +02:00
  • 4a1a025353 feat(settings): explicit Save/Discard for preferences with dirty tracking peter 2026-06-18 23:59:40 +02:00
  • d61e844f6b Merge bug/optimistic-state-notify-on-success: gate state-change notices on server confirmation peter 2026-06-18 23:27:59 +02:00