Commit graph

  • b633a23cfb fix: scan button visual consistency and responsive cancel master jlightner 2026-04-08 07:10:05 +00:00
  • 3e21acfe2b fix: unmonitored items incorrectly set to status=monitored; autofocus channel URL input jlightner 2026-04-04 16:36:26 +00:00
  • 76e7611d8d fix: Fixed cross-platform enrichment bug (hardcoded YouTube URLs for So… jlightner 2026-04-04 10:39:13 +00:00
  • 5d9cf148aa feat: Added GET /api/v1/content/:id/download endpoint with Content-Disp… jlightner 2026-04-04 10:30:44 +00:00
  • e1d5ef80b4 chore: Added column config popover with visibility toggles and drag reo… jlightner 2026-04-04 10:22:47 +00:00
  • 794181580f feat: Added search bar, sort pill buttons (Name/Platform/Last Checked/C… jlightner 2026-04-04 10:16:27 +00:00
  • 8cf998a697 feat: Replaced SponsorBlock free-text input with multi-select checkbox… jlightner 2026-04-04 10:11:37 +00:00
  • f814e8d261 test: Added 10 unit tests covering SponsorBlock segment removal and sub… jlightner 2026-04-04 10:09:10 +00:00
  • f8916d2cc3 feat: ChannelDetail now initializes view mode from the channel's platfo… jlightner 2026-04-04 10:03:53 +00:00
  • d8d876e9b8 chore: Download pipeline now reads nfoEnabled from platform_settings pe… jlightner 2026-04-04 10:00:19 +00:00
  • 0f42a4b269 feat: Add Generic platform, per-platform NFO toggle, and default view s… jlightner 2026-04-04 09:56:53 +00:00
  • 4cabcfbb4c feat: Removed the standalone Playlists button from ChannelDetail — scan… jlightner 2026-04-04 09:46:19 +00:00
  • 8ebacba3e1 test: Integrate fetchPlaylists into scheduler checkChannel as best-effo… jlightner 2026-04-04 09:43:51 +00:00
  • ed901c8240 feat: Moved Add URL button from sidebar footer to channels page header… jlightner 2026-04-04 09:37:39 +00:00
  • 29e8654b01 feat: Added GET /robots.txt route returning disallow-all and meta robot… jlightner 2026-04-04 09:35:46 +00:00
  • 97905039ed feat: Replaced Search icon with Download icon on Collect All Monitored… jlightner 2026-04-04 09:33:56 +00:00
  • 872f092ec4 feat: Added opaque toast-specific background variables and wired Toast.… jlightner 2026-04-04 09:31:08 +00:00
  • 243960d249 feat: Reduced back-to-channels link bottom margin from 1.25rem to 0.5re… jlightner 2026-04-04 09:29:19 +00:00
  • 76f0dd882a feat: Added missing pause/resume mutation hooks and Pause/Play icon imp… jlightner 2026-04-04 09:27:32 +00:00
  • ad16cc6141 fix: direct per-video enrichment and migration statement breakpoints jlightner 2026-04-04 08:23:23 +00:00
  • 8d77ae248a fix: remove duplicate embed_thumbnail/sponsor_block_remove columns from migration 0013 jlightner 2026-04-04 08:03:38 +00:00
  • f37cfde0a0 chore: auto-commit after complete-milestone jlightner 2026-04-04 07:54:04 +00:00
  • 54e9041058 feat: Added RSS 2.0 podcast feed at /api/v1/feed/rss and media streamin… jlightner 2026-04-04 07:38:34 +00:00
  • c012425ceb fix: Created useTheme hook for App-level theme application, fixed hardc… jlightner 2026-04-04 07:31:23 +00:00
  • 87cbfe87ee feat: Created useTimezone hook and timezone-aware format utilities, wir… jlightner 2026-04-04 07:26:04 +00:00
  • 98c3d73c69 feat: Added timezone selector and dark/light theme toggle to Settings p… jlightner 2026-04-04 07:19:15 +00:00
  • daf892edad feat: Add pause/resume buttons, paused status badge, and Paused filter… jlightner 2026-04-04 07:13:13 +00:00
  • bd9e07f878 feat: Added Videos/Streams/Audio tab bar with count badges to channel d… jlightner 2026-04-04 06:48:10 +00:00
  • 69ec5841e7 test: Added getContentCountsByType repository function and GET /api/v1/… jlightner 2026-04-04 06:44:04 +00:00
  • e6711e91a5 feat: Added missing status badge, Library filter/re-download button, an… jlightner 2026-04-04 06:39:17 +00:00
  • a11c4c56c5 test: Added missing-scan API (trigger + status) and content requeue end… jlightner 2026-04-04 06:35:58 +00:00
  • 61da729fa4 feat: Add MissingFileScanner service with cursor-based batched filesyst… jlightner 2026-04-04 06:31:11 +00:00
  • c0ac8cadd5 feat: Added RatingBadge/RatingPicker components, channel and content it… jlightner 2026-04-04 06:24:14 +00:00
  • b4d730d42f feat: Wired NFO generation into DownloadService with feature flag check… jlightner 2026-04-04 06:16:03 +00:00
  • 7f6f3dcccf feat: Built NfoGenerator service producing Kodi-compatible NFO XML with… jlightner 2026-04-04 06:12:35 +00:00
  • e0b6424932 chore: Added nullable contentRating columns to channels and content_ite… jlightner 2026-04-04 06:08:16 +00:00
  • 01f4a2d38a test: Built Media Servers settings section with full CRUD, connection t… jlightner 2026-04-04 06:02:39 +00:00
  • 9ef0323480 test: Built media server CRUD routes, connection test/sections endpoint… jlightner 2026-04-04 05:57:39 +00:00
  • 73c232a845 test: Built stateless MediaServerService with scan triggering, connecti… jlightner 2026-04-04 05:53:30 +00:00
  • 6aa7e21b90 feat: Added media_servers table, MediaServer type, and CRUD repository… jlightner 2026-04-04 05:50:33 +00:00
  • 9e7d98c7c7 feat: Add collapsible keyword filter UI to channel detail with include/… jlightner 2026-04-04 05:46:46 +00:00
  • 05045828d8 feat: Wire keyword filter into scheduler scan flow — exclude/include pa… jlightner 2026-04-04 05:41:55 +00:00
  • cc031a78a9 test: Implement matchesKeywordFilter engine with pipe-separated pattern… jlightner 2026-04-04 05:38:37 +00:00
  • 8d133024a5 feat: Add includeKeywords and excludeKeywords nullable text columns to… jlightner 2026-04-04 05:35:13 +00:00
  • 3bfdb7b634 feat: Add File Organization settings section with output template input… jlightner 2026-04-04 05:30:34 +00:00
  • fb731377bd feat: Wire FormatProfile.outputTemplate into DownloadService with conte… jlightner 2026-04-04 05:25:41 +00:00
  • 71175198bd test: Add resolveTemplate and validateTemplate methods to FileOrganizer… jlightner 2026-04-04 05:23:22 +00:00
  • e6371ba196 chore: Add outputTemplate column to format_profiles schema and app.outp… jlightner 2026-04-04 05:20:18 +00:00
  • 61105a74b0 feat: Created AddUrlModal with two-step preview/confirm flow, useAdhocD… jlightner 2026-04-04 05:15:28 +00:00
  • 22077e0eb1 feat: Add POST /api/v1/download/url/confirm endpoint for ad-hoc downloa… jlightner 2026-04-04 05:12:11 +00:00
  • 373a2ee649 test: Created POST /api/v1/download/url/preview endpoint that resolves… jlightner 2026-04-04 05:07:24 +00:00
  • 8150b1f6cf chore: Made content_items.channelId nullable via SQLite table recreatio… jlightner 2026-04-04 05:03:40 +00:00
  • 9e5033026e revise issue templates: add location, reproducibility, scope; drop low-signal fields jlightner 2026-04-04 04:02:48 +00:00
  • 287f0aa068 add issue templates for bug reports and feature requests jlightner 2026-04-04 04:00:25 +00:00
  • 4fe4986f01 docs: naming templates + metadata embedding design spec jlightner 2026-04-04 03:27:12 +00:00
  • 7de71f1062 fix: strip # from filenames — breaks Plex scanner jlightner 2026-04-04 03:15:11 +00:00
  • 21a458f500 feat: FormatProfile settings UI + extract ChannelDetail hooks jlightner 2026-04-04 02:53:50 +00:00
  • aa09bc089c feat: Generic platform + YouTube enhancements (chapters, SponsorBlock, thumbnails) jlightner 2026-04-04 02:45:02 +00:00
  • b1e90ea8d6 refactor: consolidate format utils, extract route helpers, remove dead code jlightner 2026-04-03 22:55:43 +00:00
  • 1078b6dcd7 fix: default monitoring mode to 'none' for new channels jlightner 2026-04-03 22:12:21 +00:00
  • f494d31e60 fix: raise default scan limit from 100 to 500, use 999 for initial scans jlightner 2026-04-03 22:07:24 +00:00
  • 4546ddb4ea feat: real-time scan streaming with fire-and-forget API and cancel support jlightner 2026-04-03 21:43:23 +00:00
  • 24dbf79ac0 Merge: fold yt-dlp controls into Health card jlightner 2026-04-03 07:30:33 +00:00
  • f26db65121 refactor: fold yt-dlp update controls into existing Health card, remove standalone section jlightner 2026-04-03 07:30:25 +00:00
  • c016916706 Merge github/master — resolve Queue.tsx import conflict (keep both Skeleton + DownloadProgressBar) jlightner 2026-04-03 07:25:36 +00:00
  • d4c595958f Merge milestone/M008: Frontend polish & real-time features (M002) jlightner 2026-04-03 07:23:47 +00:00
  • 9f35d06e88 feat: Added useYtDlpStatus/useUpdateYtDlp hooks and yt-dlp card to Syst… jlightner 2026-04-03 07:16:56 +00:00
  • c5820fe957 feat: Added YtDlpStatusResponse/YtDlpUpdateResponse types, YTDLP_LAST_U… jlightner 2026-04-03 07:14:45 +00:00
  • cc50ed25e9 perf: Expanded DownloadProgressContext with ScanStore to handle scan We… jlightner 2026-04-03 07:08:21 +00:00
  • cdd1128632 feat: Added typed scan event pipeline — EventBus emits scan:started/ite… jlightner 2026-04-03 07:03:12 +00:00
  • 1711389d9c feat: Added groupedContent useMemo and renderGroupedContent to unify pl… jlightner 2026-04-03 06:51:51 +00:00
  • 79b2a3a566 feat: Add SortGroupBar with Date/Title/Duration/Size/Status sort button… jlightner 2026-04-03 06:49:38 +00:00
  • 9fc15a3ed0 feat: Wired ContentListItem into ChannelDetail with three-button segmen… jlightner 2026-04-03 06:42:34 +00:00
  • 592c8b1317 feat: Created ContentListItem component with horizontal flexbox layout:… jlightner 2026-04-03 06:40:02 +00:00
  • ab7ab3634b feat: Reordered Add Channel modal fields to URL → Monitoring Mode → For… jlightner 2026-04-03 06:34:20 +00:00
  • 6a5402ce8d feat: Added banner_url, description, subscriber_count columns with Driz… jlightner 2026-04-03 06:04:49 +00:00
  • 1dd1e992c6 ci: use host-accessible instance URL jlightner 2026-04-03 06:23:24 +00:00
  • b4c1efc4a6 ci: test Docker DNS resolution jlightner 2026-04-03 06:21:55 +00:00
  • d54924d2ef ci: retry CI run jlightner 2026-04-03 06:19:10 +00:00
  • 8a7e5bce8c ci: add Forgejo Actions workflow for test automation jlightner 2026-04-03 06:06:20 +00:00
  • 0bf63fed9c ci: add Forgejo Actions workflow for test automation jlightner 2026-04-03 06:06:20 +00:00
  • ecbfd5afa7 feat: Applied glassmorphism styling (backdrop-filter blur, semi-transpa… milestone/M008-performance-polish-downloads jlightner 2026-04-03 04:42:22 +00:00
  • cca396a7e8 feat: Refactored channel header into grouped control sections (Monitori… jlightner 2026-04-03 04:40:36 +00:00
  • 49ac76c379 feat: Created Toast notification system and migrated Channels.tsx + Cha… jlightner 2026-04-03 04:27:36 +00:00
  • 538f9ec69b feat: Replaced all 28 JS hover handlers in Settings.tsx with CSS utilit… jlightner 2026-04-03 04:21:08 +00:00
  • 3355326526 feat: Added CSS button utilities (.btn, .btn-icon, .btn-ghost, .btn-dan… jlightner 2026-04-03 04:15:46 +00:00
  • a0906f3cdb feat(S03/T01): content card view with grid layout and view toggle jlightner 2026-04-03 03:08:56 +00:00
  • 91b0b74dcb chore: add media/ to .gitignore and remove from tracking jlightner 2026-04-03 02:39:19 +00:00
  • 76e6b9727e fix: update download test expectations for format fallback chains jlightner 2026-04-03 02:35:37 +00:00
  • ac8905ca38 feat(S02): modern UI design system — theme overhaul, skeletons, animations jlightner 2026-04-03 02:33:49 +00:00
  • c057b6a286 feat(S01+S04): server-side pagination, search/filter, download engine hardening jlightner 2026-04-03 02:29:49 +00:00
  • cbdbed4664 MAESTRO: Check off remaining WEBSOCKET-PROGRESS-01 tasks (all previously completed) John Lightner 2026-04-01 01:42:28 -05:00
  • e63209a47f MAESTRO: Check off Queue page DownloadProgressBar integration task (already complete) John Lightner 2026-04-01 01:41:42 -05:00
  • d2a51cf5c9 MAESTRO: Check off DownloadProgressProvider wiring task (already complete) John Lightner 2026-04-01 01:40:43 -05:00
  • c8923f0142 MAESTRO: Add activity, channels, and library query invalidation on WebSocket download events John Lightner 2026-04-01 00:44:18 -05:00
  • 57626f5f01 MAESTRO: Verify backend WebSocket download progress event wiring is complete John Lightner 2026-04-01 00:42:34 -05:00
  • f5dbf05870 MAESTRO: Add WebSocket connection status indicator to Sidebar John Lightner 2026-04-01 00:39:57 -05:00
  • 6bbd4818c6 MAESTRO: Mark ChannelDetail download progress integration as complete (already wired) John Lightner 2026-04-01 00:38:26 -05:00
  • 84d8c3e635 MAESTRO: Integrate DownloadProgressBar into Queue page for active downloads John Lightner 2026-04-01 00:36:48 -05:00
  • d2e3c903ca MAESTRO: Mark DownloadProgressProvider wiring task as complete John Lightner 2026-04-01 00:29:19 -05:00