gronod
9c7dcf55b0
merge branch 'develop' into 'main' - Release v1.7.11
Build and Push Docker Image / build (push) Successful in 56s
Create Release / release (push) Successful in 48s
CI / Swagger Validation & Coverage (push) Successful in 3m3s
CI / Security audit (push) Successful in 2m31s
CI / Tests & coverage (push) Successful in 3m24s
v1.7.11
2026-05-24 10:49:01 +01:00
gronod
afc940aba7
chore: bump version to 1.7.11 and update CHANGELOG
Build and Push Docker Image / build (push) Successful in 2m2s
Docs Check / Markdown lint (push) Successful in 1m10s
Docs Check / Mermaid diagram parse check (push) Successful in 1m39s
CI / Security audit (push) Successful in 3m46s
Licence Check / Licence compatibility and copyright header verification (push) Successful in 1m31s
CI / Swagger Validation & Coverage (push) Successful in 4m24s
CI / Tests & coverage (push) Successful in 4m39s
2026-05-24 10:48:52 +01:00
gronod
5488969387
fix: resolve blocklist & search failures on Sonarr season packs and multi-episode releases
Build and Push Docker Image / build (push) Successful in 1m31s
Licence Check / Licence compatibility and copyright header verification (push) Successful in 2m42s
CI / Security audit (push) Successful in 3m26s
CI / Swagger Validation & Coverage (push) Successful in 3m43s
CI / Tests & coverage (push) Successful in 4m19s
2026-05-24 10:42:54 +01:00
gronod
ec9b1c6d94
merge branch 'develop' into 'main' - Release v1.7.10
Create Release / release (push) Successful in 38s
Build and Push Docker Image / build (push) Successful in 1m29s
CI / Security audit (push) Successful in 2m12s
CI / Tests & coverage (push) Successful in 2m48s
CI / Swagger Validation & Coverage (push) Successful in 2m37s
v1.7.10
2026-05-24 10:23:30 +01:00
gronod
3f8970ea99
chore: bump version to 1.7.10 and update CHANGELOG
CI / Security audit (push) Has been cancelled
CI / Tests & coverage (push) Has been cancelled
CI / Swagger Validation & Coverage (push) Has been cancelled
Docs Check / Markdown lint (push) Successful in 50s
Build and Push Docker Image / build (push) Successful in 2m21s
Licence Check / Licence compatibility and copyright header verification (push) Successful in 1m48s
Docs Check / Mermaid diagram parse check (push) Successful in 2m46s
2026-05-24 10:23:22 +01:00
gronod
9491948ec9
fix: resolve Ombi webhook race condition and add Ombi webhook status metrics to status panel
CI / Security audit (push) Successful in 1m45s
Build and Push Docker Image / build (push) Successful in 1m43s
Licence Check / Licence compatibility and copyright header verification (push) Has been cancelled
CI / Tests & coverage (push) Has been cancelled
CI / Swagger Validation & Coverage (push) Has been cancelled
2026-05-24 10:22:47 +01:00
gronod
d4ee3b8ef7
merge branch 'develop' into 'main' - Release v1.7.9
Create Release / release (push) Successful in 19s
Build and Push Docker Image / build (push) Successful in 1m51s
CI / Security audit (push) Successful in 2m12s
CI / Swagger Validation & Coverage (push) Successful in 2m41s
CI / Tests & coverage (push) Successful in 3m20s
v1.7.9
2026-05-23 20:58:20 +01:00
gronod
64c872423f
chore: bump version to 1.7.9 and update CHANGELOG
Build and Push Docker Image / build (push) Successful in 2m12s
Docs Check / Markdown lint (push) Successful in 2m34s
Licence Check / Licence compatibility and copyright header verification (push) Successful in 3m14s
CI / Security audit (push) Successful in 3m29s
Docs Check / Mermaid diagram parse check (push) Successful in 3m47s
CI / Swagger Validation & Coverage (push) Successful in 4m12s
CI / Tests & coverage (push) Successful in 4m57s
2026-05-23 20:58:09 +01:00
gronod
86c67bcf29
fix: support PascalCase properties in Ombi webhooks ( #42 )
2026-05-23 20:57:55 +01:00
gronod
9548eb41f5
merge branch 'develop' into 'main' - Release v1.7.8
Create Release / release (push) Successful in 30s
CI / Security audit (push) Successful in 2m9s
Build and Push Docker Image / build (push) Successful in 2m18s
CI / Swagger Validation & Coverage (push) Successful in 2m36s
CI / Tests & coverage (push) Successful in 3m15s
v1.7.8
2026-05-23 20:52:46 +01:00
gronod
d1db3118f0
chore: bump version to 1.7.8 and update CHANGELOG
Build and Push Docker Image / build (push) Successful in 2m9s
CI / Security audit (push) Successful in 2m32s
Docs Check / Markdown lint (push) Successful in 2m34s
Licence Check / Licence compatibility and copyright header verification (push) Successful in 3m4s
CI / Swagger Validation & Coverage (push) Successful in 3m55s
Docs Check / Mermaid diagram parse check (push) Successful in 4m18s
CI / Tests & coverage (push) Successful in 4m34s
2026-05-23 20:52:27 +01:00
gronod
f8aa90011e
merge branch 'develop' into 'main' - Release v1.7.7
Create Release / release (push) Successful in 22s
Build and Push Docker Image / build (push) Successful in 2m3s
CI / Security audit (push) Successful in 1m56s
CI / Tests & coverage (push) Successful in 2m28s
CI / Swagger Validation & Coverage (push) Successful in 2m21s
v1.7.7
2026-05-23 20:38:14 +01:00
gronod
82b3824658
chore: bump version to 1.7.7 and update CHANGELOG
Build and Push Docker Image / build (push) Successful in 2m17s
Docs Check / Markdown lint (push) Successful in 2m27s
Licence Check / Licence compatibility and copyright header verification (push) Successful in 2m44s
CI / Security audit (push) Successful in 3m10s
Docs Check / Mermaid diagram parse check (push) Successful in 3m54s
CI / Tests & coverage (push) Successful in 4m6s
CI / Swagger Validation & Coverage (push) Successful in 4m23s
2026-05-23 20:38:05 +01:00
gronod
49e3261b59
ci: use RELEASE_TOKEN for Gitea Container Registry authentication
CI / Security audit (push) Successful in 2m21s
CI / Swagger Validation & Coverage (push) Successful in 2m36s
CI / Tests & coverage (push) Successful in 3m0s
Build and Push Docker Image / build (push) Successful in 2m30s
2026-05-23 19:43:28 +01:00
gronod
2934becf32
ci: publish Docker container image to Gitea Package Registry in parallel
CI / Security audit (push) Successful in 1m58s
CI / Swagger Validation & Coverage (push) Successful in 2m25s
CI / Tests & coverage (push) Successful in 3m0s
Build and Push Docker Image / build (push) Failing after 1m38s
2026-05-23 19:01:38 +01:00
gronod
6ff660b8af
merge branch 'develop' into 'main' - Release v1.7.6
Create Release / release (push) Successful in 23s
Build and Push Docker Image / build (push) Successful in 1m35s
CI / Tests & coverage (push) Successful in 2m46s
CI / Security audit (push) Successful in 1m41s
CI / Swagger Validation & Coverage (push) Successful in 2m22s
v1.7.6
2026-05-23 18:55:18 +01:00
gronod
6ac0a8421e
fix: resolve rate-limiting and Ombi requests caching bugs ( fixes #42 , fixes #43 )
Build and Push Docker Image / build (push) Successful in 1m34s
Docs Check / Markdown lint (push) Successful in 2m14s
CI / Security audit (push) Successful in 2m30s
Licence Check / Licence compatibility and copyright header verification (push) Successful in 2m40s
CI / Swagger Validation & Coverage (push) Successful in 3m22s
Docs Check / Mermaid diagram parse check (push) Successful in 3m43s
CI / Tests & coverage (push) Successful in 3m59s
2026-05-23 18:55:03 +01:00
gronod
a021ceba47
merge branch 'develop' into 'main' - Release v1.7.5
Build and Push Docker Image / build (push) Successful in 43s
Create Release / release (push) Successful in 54s
CI / Security audit (push) Successful in 1m48s
CI / Tests & coverage (push) Successful in 2m41s
CI / Swagger Validation & Coverage (push) Successful in 2m30s
v1.7.5
2026-05-23 10:13:54 +01:00
gronod
f8c7e35f31
chore: bump version to 1.7.5 and update CHANGELOG
Docs Check / Markdown lint (push) Successful in 42s
Docs Check / Mermaid diagram parse check (push) Successful in 1m51s
Licence Check / Licence compatibility and copyright header verification (push) Successful in 1m3s
CI / Security audit (push) Successful in 4m17s
Build and Push Docker Image / build (push) Successful in 5m5s
CI / Swagger Validation & Coverage (push) Successful in 5m19s
CI / Tests & coverage (push) Successful in 6m27s
2026-05-23 10:13:25 +01:00
gronod
de71580756
fix(ombi): retrieve and include settings ID in webhook enable payload ( resolves #41 )
Build and Push Docker Image / build (push) Successful in 1m10s
Licence Check / Licence compatibility and copyright header verification (push) Successful in 4m35s
CI / Security audit (push) Successful in 5m8s
CI / Swagger Validation & Coverage (push) Successful in 6m50s
CI / Tests & coverage (push) Successful in 7m25s
2026-05-23 10:12:07 +01:00
gronod
2943afdbaf
merge branch 'develop' into 'main' - Release v1.7.4
Build and Push Docker Image / build (push) Successful in 46s
Create Release / release (push) Successful in 52s
CI / Swagger Validation & Coverage (push) Successful in 2m53s
CI / Security audit (push) Successful in 1m34s
CI / Tests & coverage (push) Successful in 3m21s
v1.7.4
2026-05-23 10:00:59 +01:00
gronod
1d571b066d
chore: bump version to 1.7.4 and update CHANGELOG
Docs Check / Markdown lint (push) Successful in 46s
Build and Push Docker Image / build (push) Successful in 1m44s
Docs Check / Mermaid diagram parse check (push) Successful in 1m42s
Licence Check / Licence compatibility and copyright header verification (push) Successful in 1m28s
CI / Security audit (push) Successful in 2m37s
CI / Swagger Validation & Coverage (push) Successful in 3m9s
CI / Tests & coverage (push) Successful in 3m46s
2026-05-23 10:00:18 +01:00
gronod
db809f2fb3
fix(ombi): register ombiRoutes in production server entry point ( resolves #40 )
Build and Push Docker Image / build (push) Successful in 1m6s
Licence Check / Licence compatibility and copyright header verification (push) Successful in 2m18s
CI / Security audit (push) Successful in 2m41s
CI / Swagger Validation & Coverage (push) Successful in 3m5s
CI / Tests & coverage (push) Successful in 3m36s
2026-05-23 09:58:42 +01:00
gronod
9d91d85514
merge branch 'develop' into 'main' - Release v1.7.3
Build and Push Docker Image / build (push) Successful in 57s
CI / Security audit (push) Successful in 1m50s
CI / Tests & coverage (push) Successful in 2m3s
CI / Swagger Validation & Coverage (push) Successful in 1m40s
Create Release / release (push) Successful in 15s
v1.7.3
2026-05-23 09:40:54 +01:00
gronod
f52a687a46
chore: bump version to 1.7.3 and update CHANGELOG
Docs Check / Markdown lint (push) Successful in 1m32s
Build and Push Docker Image / build (push) Successful in 1m57s
Licence Check / Licence compatibility and copyright header verification (push) Successful in 2m28s
CI / Swagger Validation & Coverage (push) Successful in 3m21s
CI / Security audit (push) Successful in 3m23s
Docs Check / Mermaid diagram parse check (push) Successful in 3m36s
CI / Tests & coverage (push) Successful in 4m7s
2026-05-23 09:39:58 +01:00
gronod
e3f90d54f4
fix(ui): add brand icons and type badges to download client filter dropdown ( resolves #39 )
Build and Push Docker Image / build (push) Successful in 50s
Licence Check / Licence compatibility and copyright header verification (push) Successful in 1m37s
CI / Security audit (push) Successful in 2m2s
CI / Tests & coverage (push) Successful in 2m26s
CI / Swagger Validation & Coverage (push) Successful in 2m32s
2026-05-23 09:36:41 +01:00
gronod
a006cb4a37
fix: resolve download client filter element ID mismatch and bind Select All/Deselect All ( closes #38 )
Build and Push Docker Image / build (push) Successful in 40s
Licence Check / Licence compatibility and copyright header verification (push) Successful in 1m34s
CI / Security audit (push) Successful in 1m52s
CI / Swagger Validation & Coverage (push) Successful in 2m19s
CI / Tests & coverage (push) Successful in 2m31s
2026-05-22 22:49:36 +01:00
gronod
4ddd3036d9
fix: add missing copyright header to ombiHelpers.js
Build and Push Docker Image / build (push) Successful in 48s
CI / Swagger Validation & Coverage (push) Successful in 1m54s
Licence Check / Licence compatibility and copyright header verification (push) Successful in 1m54s
CI / Security audit (push) Successful in 2m23s
CI / Tests & coverage (push) Successful in 2m35s
2026-05-22 22:45:23 +01:00
gronod
4cd9faaf25
docs: align swagger spec and README with Ombi features and blocklist eligibility ( closes #37 )
Build and Push Docker Image / build (push) Successful in 38s
Docs Check / Markdown lint (push) Successful in 1m18s
Licence Check / Licence compatibility and copyright header verification (push) Failing after 2m11s
CI / Security audit (push) Successful in 2m27s
Docs Check / Mermaid diagram parse check (push) Successful in 3m5s
CI / Swagger Validation & Coverage (push) Successful in 3m19s
CI / Tests & coverage (push) Successful in 3m34s
2026-05-22 22:42:44 +01:00
gronod
2e9fe8e049
fix: resolve multi-instance capability in proxy routes ( fixes #33 )
2026-05-22 22:31:47 +01:00
gronod
12c44a611e
fix: optimize polling parallelism and resolve redundant SABnzbd requests ( fixes #35 , fixes #36 )
2026-05-22 22:25:11 +01:00
gronod
614af9eb44
Fix #34 : Allow non-admins to use blocklist-search under qualifying conditions
...
Build and Push Docker Image / build (push) Successful in 46s
Licence Check / Licence compatibility and copyright header verification (push) Failing after 1m40s
CI / Security audit (push) Successful in 2m4s
CI / Swagger Validation & Coverage (push) Successful in 2m10s
CI / Tests & coverage (push) Successful in 2m23s
- Expose ARR ID fields (arrQueueId, arrType, arrInstanceUrl, arrContentId, arrContentType) to non-admins in DownloadMatcher.js for blocklist functionality
- Replace blanket admin check in dashboard.js with canBlocklist() validation and server-side API key lookup
- Update integration tests to reflect new permission model
- Non-admins can now blocklist downloads with import issues or stale low-availability torrents
2026-05-22 22:13:24 +01:00
Gandalf
b77c0d6ec0
Delete directory '.windsurf/skills/gitea-interaction'
Build and Push Docker Image / build (push) Successful in 34s
Docs Check / Markdown lint (push) Successful in 57s
CI / Security audit (push) Successful in 2m4s
CI / Swagger Validation & Coverage (push) Successful in 2m12s
Docs Check / Mermaid diagram parse check (push) Successful in 2m11s
CI / Tests & coverage (push) Successful in 2m35s
2026-05-22 19:25:01 +01:00
Gandalf
44c553709c
Delete directory '.agents/rules'
Build and Push Docker Image / build (push) Successful in 57s
CI / Tests & coverage (push) Successful in 2m11s
CI / Security audit (push) Successful in 2m0s
Docs Check / Markdown lint (push) Successful in 1m10s
CI / Swagger Validation & Coverage (push) Successful in 2m27s
Docs Check / Mermaid diagram parse check (push) Successful in 2m44s
2026-05-22 19:24:47 +01:00
Gandalf
8376aa0c0b
Update .gitignore
Build and Push Docker Image / build (push) Successful in 49s
CI / Security audit (push) Successful in 2m2s
CI / Swagger Validation & Coverage (push) Successful in 2m31s
CI / Tests & coverage (push) Successful in 3m5s
2026-05-22 19:24:11 +01:00
gronod
e8a149427a
feat: add Gitea CLI integration rules and interaction skill documentation
Build and Push Docker Image / build (push) Successful in 50s
Docs Check / Markdown lint (push) Successful in 1m22s
CI / Security audit (push) Successful in 2m11s
CI / Swagger Validation & Coverage (push) Successful in 2m53s
Docs Check / Mermaid diagram parse check (push) Successful in 3m3s
CI / Tests & coverage (push) Successful in 3m24s
2026-05-22 19:22:15 +01:00
gronod
548aca6bee
fix: remediate audited defects ( resolves #29 , #30 , #31 , #32 )
...
Build and Push Docker Image / build (push) Successful in 51s
Licence Check / Licence compatibility and copyright header verification (push) Failing after 1m48s
CI / Security audit (push) Successful in 2m27s
CI / Swagger Validation & Coverage (push) Successful in 2m27s
CI / Tests & coverage (push) Successful in 2m39s
- Fix permanent qBittorrent fallback degradation by resetting fallback flags during group-by polling (resolves #29 )
- Fix Ombi webhook key mismatch in status endpoint and test mocks (resolves #30 )
- Prevent timingSafeEqual TypeErrors on multi-byte CSRF token length mismatches (resolves #31 )
- Eliminate duplicate write stream on server.log by delegating to index.js console override (resolves #32 )
2026-05-22 16:01:20 +01:00
gronod
4aa3590017
test: remediate test suite, enable skipped frontend/SSE tests, and add comprehensive unit tests
...
Build and Push Docker Image / build (push) Successful in 53s
Docs Check / Markdown lint (push) Successful in 1m36s
Licence Check / Licence compatibility and copyright header verification (push) Failing after 2m31s
CI / Security audit (push) Successful in 2m55s
Docs Check / Mermaid diagram parse check (push) Successful in 3m24s
CI / Swagger Validation & Coverage (push) Successful in 3m30s
CI / Tests & coverage (push) Successful in 3m50s
- Deleted redundant unit test file tests/unit/dashboard.test.js
- Enabled skipped frontend DOM state and API tests in tests/frontend/state.test.js
- Fixed Supertest client socket abort exception in SSE stream integration tests using new graceful testClose parameter
- Consolidated duplicate helpers in server/routes/history.js and server/utils/arrRetrievers.js to unified services TagMatcher and DownloadAssembler
- Added comprehensive unit tests for loadSecrets.js, PollingSonarrRetriever.js, PollingRadarrRetriever.js, and ombiHelpers.js
- Achieved a 100% Vitest pass rate (834/834 tests) with robust code coverage
2026-05-22 13:33:21 +01:00
gronod
d3d085d614
feat: Add Ombi request filtering and search
...
Build and Push Docker Image / build (push) Successful in 1m29s
Docs Check / Markdown lint (push) Successful in 1m51s
Licence Check / Licence compatibility and copyright header verification (push) Failing after 2m3s
CI / Security audit (push) Successful in 2m54s
CI / Swagger Validation & Coverage (push) Successful in 3m6s
Docs Check / Mermaid diagram parse check (push) Successful in 3m13s
CI / Tests & coverage (push) Successful in 3m31s
- Add request filters UI (type, status, sort, search)
- Implement dual-layer filtering (server + client)
- Add ombiFilters utility for consistent filtering logic
- Persist filter preferences in localStorage
- Add SSE support for real-time Ombi request updates
- Add webhook endpoints for Ombi integration
- Update OpenAPI spec for new endpoints
- Add unit tests for filter logic and UI
- Add integration tests for Ombi routes
2026-05-22 12:31:31 +01:00
gronod
dbf45ec31d
fix: secure webhook config endpoint and validate config on Ombi enable/test
...
Build and Push Docker Image / build (push) Successful in 1m4s
Docs Check / Markdown lint (push) Successful in 1m49s
Licence Check / Licence compatibility and copyright header verification (push) Failing after 2m22s
CI / Security audit (push) Successful in 2m44s
CI / Swagger Validation & Coverage (push) Successful in 2m59s
Docs Check / Mermaid diagram parse check (push) Successful in 3m11s
CI / Tests & coverage (push) Successful in 3m27s
- Add requireAuth to GET /api/webhook/config to enforce authentication
- Add SOFARR_BASE_URL and SOFARR_WEBHOOK_SECRET validation to POST /api/ombi/webhook/enable and /test
- Return 400 with descriptive errors when webhook config is missing on Ombi routes
- Clean up test environment in webhook.test.js afterEach
- Add regression tests for all new validation logic
- Update CHANGELOG.md with security fixes
2026-05-22 09:50:30 +01:00
gronod
f1e0a77fad
fix: add common webhook config check for SOFARR_BASE_URL and SOFARR_WEBHOOK_SECRET
...
- Ombi webhook status now checks for required environment variables
- Added GET /api/webhook/config endpoint for common webhook config validation
- Updated client-side fetchWebhookStatus to use common config check
- Added integration tests for new endpoint and Ombi webhook status checks
2026-05-22 09:16:23 +01:00
gronod
9862c0555c
Handle Ombi API object-format requestedUser field
...
Build and Push Docker Image / build (push) Successful in 47s
Licence Check / Licence compatibility and copyright header verification (push) Failing after 1m24s
CI / Security audit (push) Successful in 1m47s
CI / Swagger Validation & Coverage (push) Successful in 2m11s
CI / Tests & coverage (push) Successful in 2m27s
The Ombi API returns requestedUser as an OmbiUser object instead of a string.
Add extractRequestedUser helper to extract username from various fields
(alias, userAlias, userName, normalizedUserName) with fallback to legacy string format.
Update client and server routes to use the helper for consistent username extraction.
2026-05-21 21:56:36 +01:00
gronod
26d9e429a9
test: comprehensive test coverage for Ombi webhook changes
...
Build and Push Docker Image / build (push) Successful in 46s
Licence Check / Licence compatibility and copyright header verification (push) Successful in 1m21s
CI / Security audit (push) Successful in 1m37s
CI / Tests & coverage (push) Successful in 2m13s
CI / Swagger Validation & Coverage (push) Successful in 1m59s
This commit addresses code review findings and completes the test coverage
plan for the new Ombi webhook functionality introduced in recent commits.
Changes:
- Removed obsolete tests for getOmbiLink and getOmbiSearchLink functions
(replaced by getOmbiDetailsLink in commit "Fix: Generate Ombi links directly
from TMDB ID")
- Simplified DownloadMatcher.addOmbiMatching tests to match new synchronous
implementation (no longer makes API calls, generates links from TMDB IDs)
- Added comprehensive integration tests for Ombi webhook endpoints:
* GET /api/ombi/webhook/status (6 tests)
* POST /api/ombi/webhook/enable (4 tests)
* POST /api/ombi/webhook/test (3 tests)
- Added frontend state object tests for Ombi fields (7 tests)
- Added skipped SSE endpoint tests with documentation (2 tests)
- Added skipped frontend API/UI tests with documentation (5 tests)
Code review fixes:
- Fixed variable shadowing in ombi.test.js (reused outer scope variable)
- Removed redundant network error test (duplicate of previous test)
- Updated outdated documentation comment for skipped tests
Test results: 764 passing, 15 skipped, 34 test files
Skipped tests are documented with clear justifications:
- SSE endpoint: requires EventSource or manual SSE handling
- Frontend API functions: require complex mocking, covered by integration tests
- Frontend UI functions: tightly coupled to DOM, better suited for E2E testing
- GET /api/ombi/requests: requires complex arrRetrieverRegistry mocking
Generated with [Devin](https://cli.devin.ai/docs )
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-05-21 21:27:51 +01:00
gronod
1dccda529a
feat: add Ombi requests tab and webhook panel integration
...
- Add Ombi requests tab UI with movie/TV request display
- Add showAll parameter support for Ombi requests (API and SSE)
- Add Ombi webhook panel with enable/test functionality
- Add Ombi webhook status endpoint with metrics
- Add Ombi webhook test endpoint
- Change GET /api/ombi/requests to use OmbiRetriever instead of cache
- Add Ombi webhook state and API functions to frontend
- Update SSE payload to include Ombi baseUrl and requests
2026-05-21 20:59:06 +01:00
Gandalf
a85747a4c5
Merge pull request 'feat(swagger): Add Swagger API reference, and fixes' ( #28 ) from develop into main
...
CI / Security audit (push) Successful in 2m9s
CI / Swagger Validation & Coverage (push) Successful in 2m43s
CI / Tests & coverage (push) Failing after 2m51s
Reviewed-on: #28
2026-05-21 20:14:35 +01:00
gronod
884fb5285f
Fix: Generate Ombi links directly from TMDB ID; show on downloads and history for all users
...
Build and Push Docker Image / build (push) Successful in 49s
Licence Check / Licence compatibility and copyright header verification (push) Successful in 2m3s
CI / Security audit (push) Successful in 2m27s
CI / Swagger Validation & Coverage (push) Successful in 2m47s
CI / Tests & coverage (push) Failing after 2m49s
CI / Security audit (pull_request) Successful in 1m53s
CI / Swagger Validation & Coverage (pull_request) Successful in 2m36s
CI / Tests & coverage (pull_request) Failing after 2m46s
- Replace Ombi API-based matching with simple TMDB ID link generation
- Movies link to {ombiBaseUrl}/details/movie/{tmdbId}
- TV shows link to {ombiBaseUrl}/details/tv/{tmdbId}
- Add ombiLink to all history items (Sonarr + Radarr) for all users
- Add ombiLink to torrent history matches that were previously missing it
- addOmbiMatching is now synchronous (no Ombi API calls)
2026-05-21 19:43:34 +01:00
gronod
e8037afbb8
fix: add arrType field to history items for admin icon display
...
Build and Push Docker Image / build (push) Successful in 1m7s
Licence Check / Licence compatibility and copyright header verification (push) Successful in 2m20s
CI / Security audit (push) Successful in 2m45s
CI / Tests & coverage (push) Successful in 3m18s
CI / Swagger Validation & Coverage (push) Successful in 3m29s
Add arrType field to Sonarr and Radarr history items for admin users to enable proper icon display in the recently downloaded section. This mirrors the existing behavior in active downloads where arrType is set by DownloadMatcher.
Generated with [Devin](https://cli.devin.ai/docs )
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-05-21 19:31:42 +01:00
gronod
4d860dc787
Fix: Add missing await before buildUserDownloads in SSE endpoint to resolve icon display issues
Build and Push Docker Image / build (push) Successful in 31s
Licence Check / Licence compatibility and copyright header verification (push) Successful in 1m19s
CI / Security audit (push) Successful in 1m34s
CI / Swagger Validation & Coverage (push) Successful in 1m40s
CI / Tests & coverage (push) Successful in 1m51s
2026-05-21 19:12:35 +01:00
gronod
ecaedbaf6a
fix: make buildUserDownloads async to resolve test failures
...
Build and Push Docker Image / build (push) Successful in 50s
Docs Check / Markdown lint (push) Successful in 1m11s
CI / Security audit (push) Successful in 2m1s
Licence Check / Licence compatibility and copyright header verification (push) Successful in 1m23s
CI / Tests & coverage (push) Successful in 2m30s
Docs Check / Mermaid diagram parse check (push) Successful in 2m9s
CI / Swagger Validation & Coverage (push) Successful in 4m2s
The buildUserDownloads function was calling async matcher functions
without awaiting them, causing Promise objects to be returned instead
of resolved arrays. This resulted in empty download lists and 17 failing
tests.
- Made buildUserDownloads async
- Added await to matchSabSlots, matchSabHistory, and matchTorrents calls
- Updated unit tests to await buildUserDownloads calls
All 759 tests now pass.
2026-05-21 18:58:11 +01:00
gronod
9621aec453
test: add comprehensive test suite for Ombi integration
...
- Add tests for Ombi configuration parsing (OMBI_INSTANCES JSON array, legacy fallback)
- Add tests for OmbiClient API methods (movie/TV requests, search by TMDB/IMDB/TVDB)
- Add tests for OmbiRetriever caching, queue, and search functionality
- Add tests for arrRetrieverRegistry initialization and retrieval methods
- Add tests for DownloadMatcher.addOmbiMatching integration
- Add tests for DownloadAssembler Ombi link generation utilities
- Export addOmbiMatching from DownloadMatcher module
2026-05-21 18:43:09 +01:00