Commit Graph

  • d9897ff0d2 Extract matching logic into new DownloadMatcher service gronod 2026-05-21 00:04:57 +01:00
  • 06442c1d75 Add JSDoc comments and defensive error handling to DownloadBuilder.js gronod 2026-05-21 00:00:46 +01:00
  • 86aaa79339 refactor: Complete technical debt remediation - final cleanup gronod 2026-05-20 23:48:10 +01:00
  • e2a71e65a1 refactor: Complete technical debt remediation (all steps) gronod 2026-05-20 23:45:08 +01:00
  • d03efbf25e Extract createClientLogo helper to eliminate 2× client-logo duplication gronod 2026-05-20 23:36:16 +01:00
  • 0b91152ad7 Extract renderTagBadges helper to eliminate 4x tag-badge rendering duplication gronod 2026-05-20 23:33:13 +01:00
  • 8dc105ff3e Migrate frontend from monolithic app.js to vanilla ES modules gronod 2026-05-20 23:30:24 +01:00
  • a38fc4a8ce refactor: extract status route and WebhookStatus service, slim dashboard.js gronod 2026-05-20 22:50:40 +01:00
  • 2bf4cb2a0f Refactor: Deduplicate download assembly logic into DownloadBuilder service gronod 2026-05-20 22:43:03 +01:00
  • d74b46d5b0 Add guard test for DownloadBuilder service gronod 2026-05-20 22:34:24 +01:00
  • 9cffb96f29 Extract DownloadAssembler service from dashboard routes gronod 2026-05-20 22:32:09 +01:00
  • 4d61dd566f Refactor: Extract tag functions to TagMatcher service gronod 2026-05-20 22:21:01 +01:00
  • d568800942 fix: limit history pagination to prevent 40s response times gronod 2026-05-20 21:44:53 +01:00
  • 7d3e6e6a47 test: add integration and unit tests for dashboard, emby, sonarr, radarr, sabnzbd routes gronod 2026-05-20 21:37:57 +01:00
  • ee2f275501 Merge pull request 'fix: use stable *arr IDs for matching before fragile title fallback' (#21) from fix-arr-matching into develop-merge Gandalf 2026-05-20 21:02:10 +01:00
  • ca6ff66115 Merge pull request 'fix: webhook replay cache atomicity and instanceName precision' (#22) from fix-webhook-receiver into develop-merge Gandalf 2026-05-20 21:01:52 +01:00
  • 080431c4b7 Merge pull request 'fix: QBittorrent fallback state corruption after full sync' (#23) from fix-qbittorrent-client into develop-merge Gandalf 2026-05-20 21:01:36 +01:00
  • f457a708d2 Merge pull request 'fix: SABnzbd speed assignment and size/progress parsing' (#24) from fix-sabnzbd-client into develop-merge Gandalf 2026-05-20 21:01:21 +01:00
  • 914ab73d4e Merge pull request 'fix: full pagination + non-silent errors in PollingRadarrRetriever' (#25) from fix-radarr-retriever into develop-merge Gandalf 2026-05-20 21:01:07 +01:00
  • 25d8e007a4 Merge pull request 'fix: full pagination + non-silent errors in PollingSonarrRetriever' (#26) from fix-sonarr-retriever into develop-merge Gandalf 2026-05-20 21:00:53 +01:00
  • bb7b66e06d fix: use stable *arr IDs for matching before fragile title fallback gronod 2026-05-20 20:51:50 +01:00
  • 5ad525a760 fix: webhook replay cache atomicity and instanceName precision gronod 2026-05-20 20:46:35 +01:00
  • 1e162381f4 fix: QBittorrent fallback state corruption after full sync gronod 2026-05-20 20:45:26 +01:00
  • 42f0481a9a fix: SABnzbd speed assignment and size/progress parsing gronod 2026-05-20 20:44:08 +01:00
  • ddad80a666 fix: full pagination + non-silent errors in PollingRadarrRetriever gronod 2026-05-20 20:42:18 +01:00
  • e772001c3f fix: full pagination + non-silent errors in PollingSonarrRetriever gronod 2026-05-20 20:40:48 +01:00
  • 1f10414498 Update CHANGELOG for v1.5.5 v1.5.5 release/1.5.5 gronod 2026-05-20 01:13:01 +01:00
  • 1e3926b206 Bump version to 1.5.5 gronod 2026-05-20 01:11:22 +01:00
  • 5fde69fcf5 Add speed formatting to display appropriate units (KB/s, MB/s) gronod 2026-05-20 01:07:52 +01:00
  • a562cfe9aa Add logging to debug active download identification and speed gronod 2026-05-20 01:00:25 +01:00
  • 8549746721 Apply overall SABnzbd speed to active download only gronod 2026-05-20 00:58:38 +01:00
  • 63fc370262 Remove speed from SABnzbd downloads - API doesn't provide per-download speed gronod 2026-05-20 00:56:54 +01:00
  • 6362441dd5 Add logging to debug SABnzbd speed field in slot data gronod 2026-05-20 00:54:26 +01:00
  • 76f9e87b44 Add logging to investigate SABnzbd slot structure for speed field gronod 2026-05-20 00:51:12 +01:00
  • 8c461de72a Hide speed when it is 0 to avoid displaying misleading 0 speed gronod 2026-05-20 00:49:26 +01:00
  • d11f11be69 Fix missing speed on SAB cards and remove incorrect missing pieces display gronod 2026-05-20 00:47:07 +01:00
  • 05d11975e6 Reduce card logo size to 32x32 gronod 2026-05-20 00:41:04 +01:00
  • cd3480c0ce Fix logo positioning by adding position: relative to download-card gronod 2026-05-20 00:39:11 +01:00
  • 712c98d817 Move card logo to bottom right with absolute positioning, fix duplication gronod 2026-05-20 00:37:01 +01:00
  • ff7ace9f4f Fix duplicate icon and user tag on page reload by adding class and duplicate check gronod 2026-05-20 00:29:44 +01:00
  • 73500751a0 Increase download client logo size in cards to 64x64px (4x), keep filter picker at 20x20px gronod 2026-05-20 00:26:54 +01:00
  • 82a9df134b Fix duplicate user tag and logo in download cards by removing old elements before updating gronod 2026-05-20 00:23:17 +01:00
  • 67fa79796b Add download client logo to download card with right-side positioning gronod 2026-05-20 00:20:03 +01:00
  • f06d945358 Update rtorrent.svg logo gronod 2026-05-20 00:15:46 +01:00
  • f5883d4929 Add download client logos to filter UI with fallback handling gronod 2026-05-20 00:14:20 +01:00
  • 80cf3eaa39 Fix filtering to use both client type and instanceId for unique identification gronod 2026-05-20 00:00:17 +01:00
  • 1ab7e52167 Use index-based unique identifiers for download client selection to prevent cross-selection gronod 2026-05-19 23:56:05 +01:00
  • 544c168b82 Fix duplicate checkbox ID issue causing cross-selection between clients gronod 2026-05-19 23:51:57 +01:00
  • 747a14ebd3 Fix double-toggling issue in download client filter gronod 2026-05-19 23:48:29 +01:00
  • 49d66c07ee Update ARCHITECTURE.md, bump version to 1.5.4, add CHANGELOG entry gronod 2026-05-19 23:45:37 +01:00
  • be791ed044 Add multi-select download client filter with client type display gronod 2026-05-19 23:41:43 +01:00
  • 7195a09562 Fix SABnzbd size and speed fields in SSE response gronod 2026-05-19 23:34:24 +01:00
  • 720de6688b Add download client ordering and filtering to active downloads list gronod 2026-05-19 23:29:38 +01:00
  • 3e06bdf8cd Update CHANGELOG.md with 1.5.2 and 1.5.3; update README.md version reference v1.5.3 gronod 2026-05-19 23:11:47 +01:00
  • ca1c136d4f Merge branch 'develop' release/1.5.3 gronod 2026-05-19 23:09:23 +01:00
  • a04f2c9b25 Bump version to 1.5.3 gronod 2026-05-19 23:09:23 +01:00
  • 743b169989 Fix webhooks panel: hide on app load to sync with status panel gronod 2026-05-19 23:05:20 +01:00
  • 794cb7268e Fix status panel: remove innerHTML wipe that destroys status-content div gronod 2026-05-19 23:01:14 +01:00
  • d310d101ed Fix undefined --background CSS variable causing blank status panel gronod 2026-05-19 22:59:16 +01:00
  • 96f24eb3b7 Fix status card regression: revert webhooks-section to sibling structure gronod 2026-05-19 22:57:21 +01:00
  • abcb9bfded debug: Add DOM structure verification to trace missing contentDiv gronod 2026-05-19 22:35:05 +01:00
  • e5920b207f debug: Add more detailed logging to renderStatusPanel gronod 2026-05-19 22:33:09 +01:00
  • d3483f3be7 debug(ui): Add visible styling and debug logging for status panel gronod 2026-05-19 22:30:54 +01:00
  • 252cc50aa4 fix(ui): Add loading state and min-height for status-content gronod 2026-05-19 22:29:03 +01:00
  • 57908e2b9e fix(ui): Add status-content container to preserve webhooks panel gronod 2026-05-19 22:27:11 +01:00
  • e2757768c7 fix(ui): Integrate webhooks panel into status panel gronod 2026-05-19 22:24:15 +01:00
  • 2469c3e3f4 fix(pagination): Increase Sonarr/Radarr page sizes to fetch all items gronod 2026-05-19 22:20:09 +01:00
  • 6c8c333c6a debug: Add Sonarr queue titles to no-match output gronod 2026-05-19 22:16:26 +01:00
  • 5dfe0b1216 fix(matching): Match SAB to Sonarr by downloadId first gronod 2026-05-19 22:13:43 +01:00
  • 77beef787f debug(matching): Show queue vs history source and history titles gronod 2026-05-19 22:10:34 +01:00
  • 235a866ec8 fix(matching): Check Sonarr/Radarr history for SAB matches gronod 2026-05-19 22:06:38 +01:00
  • f1d9de2a92 debug(sonarr): Log all available Sonarr queue fields gronod 2026-05-19 22:04:11 +01:00
  • 9d0e31ec9a fix(matching): Normalize dots to spaces for SAB/Sonarr matching gronod 2026-05-19 22:02:55 +01:00
  • 42c3eebf18 debug(sse): Add detailed name matching logging gronod 2026-05-19 21:50:05 +01:00
  • f295e1c90d debug(sse): Add SAB matching stats to trace filtering gronod 2026-05-19 21:47:12 +01:00
  • c5e8281440 fix(sabnzbd): Handle labels as array or string gronod 2026-05-19 21:43:58 +01:00
  • f22dd0d1f6 fix(downloads): Fix SABnzbd/qBittorrent collision and webhook metrics gronod 2026-05-19 21:40:53 +01:00
  • 5159a83475 fix(retrievers): Use unique key to prevent Sonarr/Radarr collision gronod 2026-05-19 21:36:20 +01:00
  • ccc3b6ffec fix(status): Check actual webhook config, show enabled even with 0 events gronod 2026-05-19 21:35:26 +01:00
  • 4ec7d734b8 debug(sse): Add detailed logging for download matching gronod 2026-05-19 21:32:15 +01:00
  • 2e85fae57a fix(webhooks): Load collapsed by default, add webhook metrics to status panel gronod 2026-05-19 21:24:28 +01:00
  • aeacadbe68 refactor(webhooks): Integrate webhooks panel into status card gronod 2026-05-19 21:20:34 +01:00
  • 3ef35a8c43 fix(webhooks): Send full notification object to test endpoint gronod 2026-05-19 21:16:31 +01:00
  • 0f3c02e52d fix(webhooks): Use numeric method value (1=POST) in notification payload gronod 2026-05-19 20:47:19 +01:00
  • 9fd60bcfed fix(webhooks): Use SONARR_INSTANCES/RADARR_INSTANCES config for notification routes gronod 2026-05-19 20:42:59 +01:00
  • af58e1bf2a debug(webhooks): Add console.error logging to Sonarr/Radarr notification routes gronod 2026-05-19 20:39:37 +01:00
  • 2d04402284 fix(webhooks): Show webhooks panel only to admin users gronod 2026-05-19 20:36:33 +01:00
  • 0310f10e5d fix(webhooks): Restore original vanilla JS app and add webhooks panel properly gronod 2026-05-19 20:33:23 +01:00
  • 5ab8cc96a3 Merge branch 'develop' v1.5.2 release/1.5.2 gronod 2026-05-19 20:27:26 +01:00
  • a7363fcb3a v1.5.2: Build and deploy React client with Webhooks Configuration panel gronod 2026-05-19 20:27:11 +01:00
  • d06e24dbb6 feat(webhooks): display webhook statistics (events received, polls skipped, last event) in status panel gronod 2026-05-19 19:18:29 +01:00
  • 6df94e5ad2 Merge branch 'develop' into main — release 1.5.1 gronod 2026-05-19 19:08:03 +01:00
  • 015e07ae7a Merge hotfix: webhook routing + version 1.5.1 gronod 2026-05-19 19:07:12 +01:00
  • eeab314a08 chore: bump version to 1.5.1 v1.5.1 release/1.5.0a gronod 2026-05-19 19:07:05 +01:00
  • 603f444c33 fix(webhooks): mount webhook routes in index.js before verifyCsrf gronod 2026-05-19 19:06:31 +01:00
  • 740b03ac85 Merge branch 'develop' into main — release 1.5.0a v1.5.0a gronod 2026-05-19 18:52:02 +01:00
  • 917939a9fc fix(ui): wire status panel close button via addEventListener gronod 2026-05-19 18:51:50 +01:00
  • 575688dab7 Merge branch 'develop' into main — release 1.5.0 gronod 2026-05-19 18:42:34 +01:00
  • 3747dab36f Merge branch 'develop-webhook-receiver' into develop gronod 2026-05-19 18:33:07 +01:00
  • 76f0aad453 chore: bump version to 1.5.0 gronod 2026-05-19 18:33:03 +01:00