Commit graph

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