Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
158 commits
Select commit Hold shift + click to select a range
f29cafd
fix(requests): guard lifecycle transitions and make reconcile fair
Quick104 Sep 26, 2026
e05f2fb
feat(requests): complete requests from the library without a router
Quick104 Sep 26, 2026
46a17dd
fix(web): give request pages the app shell and one status badge
Quick104 Sep 26, 2026
cf2ecfa
feat(requests): follow a title someone else requested
Quick104 Sep 26, 2026
8b0e930
feat(api): give requests one user-facing state and keep decline reasons
Quick104 Sep 26, 2026
2ab85f2
feat(requests): capture routing facts when a request is created
Quick104 Sep 26, 2026
1efbc82
feat(requests): route requests to servers with ordered rules
Quick104 Sep 26, 2026
1d7d695
feat(api): manage request routing rules
Quick104 Sep 26, 2026
949ef36
feat(admin): manage requests, servers and routing in Settings
Quick104 Sep 26, 2026
c5098cf
feat(requests): request individual seasons of a series
Quick104 Sep 26, 2026
3cea65a
feat(web): show titles outside the library on the shared detail layout
Quick104 Sep 26, 2026
cdf22ea
feat(web): pick the seasons of a series to request
Quick104 Sep 26, 2026
f2036ed
chore(web): raise the launch bundle budget for season requests
Quick104 Sep 27, 2026
7aa6847
feat(admin): rework the request queue
Quick104 Sep 26, 2026
336cf12
refactor(web): show request titles on the library's media card
Quick104 Sep 26, 2026
b0cf234
feat(admin): manage request access on accounts and access groups
Quick104 Sep 26, 2026
2c48fde
feat(web): make the Requests page read like the rest of the app
Quick104 Sep 26, 2026
c53c0e1
chore(web): raise the launch bundle budget for the request queue and …
Quick104 Sep 27, 2026
fd48c7c
feat(requests): route on exclusions and content rating, and explain e…
Quick104 Sep 26, 2026
72c3895
feat(admin): make request routing a plain-language list with presets
Quick104 Sep 26, 2026
ebefa00
feat(admin): open a queued request in a dialog instead of a side sheet
Quick104 Sep 26, 2026
919aa09
feat(requests): add Standard routing that needs no rules
Quick104 Sep 26, 2026
876af1f
feat(requests): classify anime and ratings beyond TMDB's US data
Quick104 Sep 27, 2026
2732be9
fix(admin): line settings controls up on one edge
Quick104 Sep 27, 2026
47f38ef
fix(admin): make the Requests settings link buttons visible on their …
Quick104 Sep 27, 2026
5b25155
feat(admin): lay out routing destinations as stacked panels
Quick104 Sep 27, 2026
6e0a07f
fix(requests): use the library season carousel on request pages
Quick104 Sep 27, 2026
07f2761
fix(requests): send anime series under Standard routing as Sonarr anime
Quick104 Sep 27, 2026
be50d03
perf(web): keep request administration out of the launch bundle
Quick104 Sep 27, 2026
6f13165
fix(web): refresh request search and reconnect state after request ch…
Quick104 Sep 27, 2026
6fda09a
fix(admin): let Standard delete a server only Everything else points at
Quick104 Sep 27, 2026
5c12516
fix(requests): keep an upcoming season open when an episode arrives e…
Quick104 Sep 27, 2026
5055e79
fix(requests): show a season request's progress on the title detail
Quick104 Sep 27, 2026
f4c6f75
perf(requests): read season counts once per reconcile batch
Quick104 Sep 27, 2026
3af44a0
fix(requests): keep the quota refund when an admin closes a failed re…
Quick104 Sep 27, 2026
caed22c
fix(requests): keep library season requests from a later download server
Quick104 Sep 27, 2026
8b7fc65
fix(requests): key title follows by account as well as profile
Quick104 Sep 27, 2026
eada079
fix(requests): clear a title's followers before stamping it notified
Quick104 Sep 27, 2026
cd5ed0b
fix(requests): keep Standard's 4K server when a save turns Advanced on
Quick104 Sep 27, 2026
1bded5d
fix(requests): flag unusable route servers in preview and validation
Quick104 Sep 27, 2026
8c934bf
feat(api): report request routing in the admin request capabilities
Quick104 Sep 27, 2026
6bdcc3f
fix(requests): only let the current claim defer a failed submission
Quick104 Sep 27, 2026
a2d0720
Merge branch 'feat/request-revamp-1-lifecycle' into feat/request-reva…
Quick104 Sep 27, 2026
1f7faae
Merge branch 'feat/request-revamp-2-routing' into feat/request-revamp…
Quick104 Sep 27, 2026
46dfebd
Merge branch 'feat/request-revamp-3-seasons' into feat/request-revamp…
Quick104 Sep 27, 2026
60fee05
Merge branch 'feat/request-revamp-4-request-pages' into feat/request-…
Quick104 Sep 27, 2026
463b189
Merge branch 'feat/request-revamp-5-queue-access' into feat/request-r…
Quick104 Sep 27, 2026
3c0d07a
docs(api): say the routing capability covers the routing mode
Quick104 Sep 27, 2026
2112350
Merge branch 'feat/request-revamp-6-standard-routing' into feat/reque…
Quick104 Sep 27, 2026
6211ea8
docs(requests): say plainly when failed targets are kept
Quick104 Sep 27, 2026
9a514b1
Merge branch 'feat/request-revamp-1-lifecycle' into feat/request-reva…
Quick104 Sep 27, 2026
1973d88
Merge branch 'feat/request-revamp-2-routing' into feat/request-revamp…
Quick104 Sep 27, 2026
b246a21
Merge branch 'feat/request-revamp-3-seasons' into feat/request-revamp…
Quick104 Sep 27, 2026
ed007c4
Merge branch 'feat/request-revamp-4-request-pages' into feat/request-…
Quick104 Sep 27, 2026
00a3a48
Merge branch 'feat/request-revamp-5-queue-access' into feat/request-r…
Quick104 Sep 27, 2026
4ae7923
Merge branch 'feat/request-revamp-6-standard-routing' into feat/reque…
Quick104 Sep 27, 2026
9bc448b
fix(requests): only let the current claim fail a submission
Quick104 Sep 27, 2026
2f6b38c
fix(requests): hold the open request while a follow is inserted
Quick104 Sep 27, 2026
083431f
Merge branch 'feat/request-revamp-1-lifecycle' into feat/request-reva…
Quick104 Sep 27, 2026
4b98289
Merge branch 'feat/request-revamp-2-routing' into feat/request-revamp…
Quick104 Sep 27, 2026
d934dff
Merge branch 'feat/request-revamp-3-seasons' into feat/request-revamp…
Quick104 Sep 27, 2026
5414e92
Merge branch 'feat/request-revamp-4-request-pages' into feat/request-…
Quick104 Sep 27, 2026
7ec19a8
Merge branch 'feat/request-revamp-5-queue-access' into feat/request-r…
Quick104 Sep 27, 2026
a84245c
Merge branch 'feat/request-revamp-6-standard-routing' into feat/reque…
Quick104 Sep 27, 2026
6bf1740
test(animeids): parse verbatim entries from the published anime list
Quick104 Sep 27, 2026
2f3116f
fix(requests): keep Chinese and Korean productions out of list-only a…
Quick104 Sep 27, 2026
5729544
fix(web): refresh the request queue when an admin's cancel is refused
Quick104 Sep 27, 2026
de766be
docs(requests): say that no failed request counts against the quota
Quick104 Sep 27, 2026
8a73487
fix(web): scope access-group request limits to the admin's profile
Quick104 Sep 27, 2026
adf1acb
fix(web): keep the Request to add page in the search URL
Quick104 Sep 27, 2026
fc8df7f
fix(requests): route older series requests under Standard while TMDB …
Quick104 Sep 27, 2026
e7cd0f1
fix(web): name route destinations with their Send to label, and open …
Quick104 Sep 27, 2026
217ace5
fix(requests): record a submission's targets only while its claim holds
Quick104 Sep 27, 2026
4101388
test(web): give the group-limit save test a complete request body
Quick104 Sep 27, 2026
d56aaa9
fix(requests): keep requests with the plugin that owned them before r…
Quick104 Sep 27, 2026
1528e80
fix(requests): keep checking targets a plugin returned without a conn…
Quick104 Sep 27, 2026
bf78058
fix(web): hide request routing when the server does not offer it
Quick104 Sep 27, 2026
646c29d
Merge branch 'feat/request-revamp-1-lifecycle' into feat/request-reva…
Quick104 Sep 27, 2026
b5082c2
Merge branch 'feat/request-revamp-2-routing' into feat/request-revamp…
Quick104 Sep 27, 2026
d38b4e8
Merge branch 'feat/request-revamp-3-seasons' into feat/request-revamp…
Quick104 Sep 27, 2026
b906435
Merge branch 'feat/request-revamp-4-request-pages' into feat/request-…
Quick104 Sep 27, 2026
2e726ff
Merge branch 'feat/request-revamp-5-queue-access' into feat/request-r…
Quick104 Sep 27, 2026
770dbf1
Merge branch 'feat/request-revamp-6-standard-routing' into feat/reque…
Quick104 Sep 27, 2026
2f7c7d2
fix(web): keep the Request to add pager when page one has nothing to …
Quick104 Sep 27, 2026
6836d37
fix(requests): match connectionless statuses to the routed server
Quick104 Sep 27, 2026
f2f43b3
fix(requests): return season progress from create, approve, and retry
Quick104 Sep 27, 2026
94d67f8
fix(requests): remove a media type's seeded routes together
Quick104 Sep 27, 2026
e03923c
fix(web): allow a request limit of 0
Quick104 Sep 27, 2026
db2ed26
fix(requests): clear a closed request's follows in the closing transa…
Quick104 Sep 27, 2026
b72eb7c
fix(requests): refuse a server save that would hand Seerr's requests …
Quick104 Sep 27, 2026
1825b2d
fix(requests): count a withdrawal made during submission backoff agai…
Quick104 Sep 27, 2026
7c9cced
fix(web): keep the open request sheet in step with the refreshed queue
Quick104 Sep 27, 2026
5594e0c
Merge branch 'feat/request-revamp-1-lifecycle' into feat/request-reva…
Quick104 Sep 27, 2026
5967fc5
Merge branch 'feat/request-revamp-2-routing' into feat/request-revamp…
Quick104 Sep 27, 2026
f8ba6a6
Merge branch 'feat/request-revamp-3-seasons' into feat/request-revamp…
Quick104 Sep 27, 2026
7b0654a
Merge branch 'feat/request-revamp-4-request-pages' into feat/request-…
Quick104 Sep 27, 2026
fc50b07
Merge branch 'feat/request-revamp-5-queue-access' into feat/request-r…
Quick104 Sep 27, 2026
67b2a9c
Merge branch 'feat/request-revamp-6-standard-routing' into feat/reque…
Quick104 Sep 27, 2026
0a218b7
fix(requests): make Standard unavailable when Seerr shares a media ty…
Quick104 Sep 27, 2026
0fd14d6
fix(requests): drop routed targets returned for the other quality
Quick104 Sep 27, 2026
c2e3bb6
fix(requests): read the routing mode before the routing rules
Quick104 Sep 27, 2026
e5f45e7
test(requests): name the split-service test's Radarr so goconst stays…
Quick104 Sep 27, 2026
b07d0c5
Merge branch 'feat/request-revamp-2-routing' into feat/request-revamp…
Quick104 Sep 27, 2026
7e9c435
Merge branch 'feat/request-revamp-3-seasons' into feat/request-revamp…
Quick104 Sep 27, 2026
2aedffb
Merge branch 'feat/request-revamp-4-request-pages' into feat/request-…
Quick104 Sep 27, 2026
0f1d32d
Merge branch 'feat/request-revamp-5-queue-access' into feat/request-r…
Quick104 Sep 27, 2026
4afc413
Merge branch 'feat/request-revamp-6-standard-routing' into feat/reque…
Quick104 Sep 27, 2026
9bb6538
Merge pull request #1559 from Silo-Server/feat/request-revamp-1-lifec…
Quick104 Sep 27, 2026
d3f08d9
Merge pull request #1560 from Silo-Server/feat/request-revamp-2-routing
Quick104 Sep 27, 2026
f24d26e
Merge pull request #1561 from Silo-Server/feat/request-revamp-3-seasons
Quick104 Sep 27, 2026
bff6d15
Merge pull request #1562 from Silo-Server/feat/request-revamp-4-reque…
Quick104 Sep 27, 2026
42e7844
Merge pull request #1563 from Silo-Server/feat/request-revamp-5-queue…
Quick104 Sep 27, 2026
93f5f39
Merge pull request #1564 from Silo-Server/feat/request-revamp-6-stand…
Quick104 Sep 27, 2026
0177be5
Merge pull request #1565 from Silo-Server/feat/request-revamp-7-polish
Quick104 Sep 27, 2026
5462244
fix(requests): say why a request server can't be reached
Quick104 Sep 27, 2026
0d5c285
fix(requests): keep the v1 options failure and drop stale probes
Quick104 Sep 27, 2026
556b273
fix(web): keep probe defaults when detection sets the server type
Quick104 Sep 28, 2026
45ad937
fix(requests): normalize saved URLs on v2 only and drop stale Tests
Quick104 Sep 28, 2026
03f9241
fix(requests): keep v1 probes as given and settle Test and 4K naming
Quick104 Sep 28, 2026
a741c2d
fix(requests): hide only host-classified probe errors from v1
Quick104 Sep 28, 2026
3141414
docs(requests): describe v2 integration URL and probe errors
Quick104 Sep 28, 2026
97ba8f0
Merge pull request #1609 from Silo-Server/fix/request-server-editor-e…
Quick104 Sep 28, 2026
a70a3e8
feat(requests): send requested seasons to season-capable routers
Quick104 Sep 28, 2026
1cd263c
feat(web): load more request browse titles as the viewer scrolls
Quick104 Sep 28, 2026
c97e315
fix(requests): make the routing editor's HD and 4K choices clearer
Quick104 Sep 28, 2026
3580f1a
fix(web): show a spinner on the running request queue action
Quick104 Sep 27, 2026
03e0270
test(web): cover the request queue's running-action spinner
Quick104 Sep 28, 2026
e109f5f
fix(web): keep loading request browse pages past an empty page
Quick104 Sep 28, 2026
a0203f0
fix(requests): leave the 4K switch free under Standard routing
Quick104 Sep 28, 2026
59cce1e
fix(requests): clear routes that changed tier under Standard, exempt …
Quick104 Sep 28, 2026
006f377
Merge pull request #1619 from Silo-Server/feat/request-browse-infinit…
Quick104 Sep 28, 2026
2edde08
Merge remote-tracking branch 'origin/feat/request-revamp' into fix/re…
Quick104 Sep 28, 2026
f0d6fb5
fix(requests): recheck a 4K switch change under the routing-mode lock
Quick104 Sep 28, 2026
866a544
fix(requests): recheck route servers' tiers inside the route save
Quick104 Sep 28, 2026
60f0741
Merge pull request #1620 from Silo-Server/fix/request-routing-editor-…
Quick104 Sep 28, 2026
3bfc740
Merge remote-tracking branch 'origin/feat/request-revamp' into fix/re…
Quick104 Sep 28, 2026
6ccee2f
Merge remote-tracking branch 'origin/feat/request-revamp' into feat/r…
Quick104 Sep 28, 2026
5d7a70f
Merge pull request #1622 from Silo-Server/fix/request-queue-action-sp…
Quick104 Sep 28, 2026
c68938f
Merge remote-tracking branch 'origin/feat/request-revamp' into feat/r…
Quick104 Sep 28, 2026
c8ae6f4
fix(requests): read routing facts and library seasons before sending …
Quick104 Sep 28, 2026
806e3f3
Merge pull request #1623 from Silo-Server/feat/request-router-seasons
Quick104 Sep 28, 2026
1cfa948
Merge origin/main into feat/request-revamp
Quick104 Sep 28, 2026
e4e2a9e
refactor(requests): name the route tier fields once
Quick104 Sep 28, 2026
82b5e0d
fix(notifications): deliver request.fulfilled once per account and pr…
Quick104 Sep 28, 2026
e1637be
fix(requests): state that requested season numbers start at 1
Quick104 Sep 28, 2026
89ca7c2
fix(requests): refuse a season below 1 on the seasons field
Quick104 Sep 28, 2026
d7377af
Merge pull request #1644 from Silo-Server/fix/request-revamp-review
Quick104 Sep 28, 2026
900ecfe
feat(requests): show download progress while a request downloads (#1649)
Quick104 Sep 29, 2026
c7fddde
fix(requests): scope follower notifications per request and recheck s…
Quick104 Sep 29, 2026
e38a0ed
fix(requests): rotate a download whose plugin features cannot be read
Quick104 Sep 29, 2026
2a2ba20
fix(web): find the viewer's request to cancel beyond the first page
Quick104 Sep 29, 2026
107bbe8
Merge remote-tracking branch 'origin/main' into feat/request-revamp
Quick104 Sep 29, 2026
3f6c54a
fix(requests): complete from the library only with nothing on its way
Quick104 Sep 29, 2026
d4c92e3
perf(web): load quick search's request suggestions lazily
Quick104 Sep 29, 2026
bb1a16e
Merge remote-tracking branch 'origin/main' into fix/request-revamp-re…
Quick104 Sep 29, 2026
a846694
perf(web): lower the launch bundle budget to the lazy search suggestions
Quick104 Sep 29, 2026
3c645b4
fix(requests): announce a fulfilled request once, after it is stamped
Quick104 Sep 29, 2026
ac6f140
fix(web): select request suggestions only once they are on screen
Quick104 Sep 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 10 additions & 4 deletions cmd/silo/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ import (
"github.com/Silo-Server/silo-server/internal/access"
"github.com/Silo-Server/silo-server/internal/activitylog"
"github.com/Silo-Server/silo-server/internal/adminjob"
"github.com/Silo-Server/silo-server/internal/animeids"
"github.com/Silo-Server/silo-server/internal/api"
"github.com/Silo-Server/silo-server/internal/api/handlers"
"github.com/Silo-Server/silo-server/internal/apiv2"
Expand Down Expand Up @@ -78,13 +79,13 @@ import (
"github.com/Silo-Server/silo-server/internal/markers"
"github.com/Silo-Server/silo-server/internal/mdblist"
"github.com/Silo-Server/silo-server/internal/metadata"
"github.com/Silo-Server/silo-server/internal/metadata/tmdb"
"github.com/Silo-Server/silo-server/internal/netaccess"

// Built-in metadata providers self-register into the metadata package's
// builtin registry on import; buildProviders resolves their seeded chain
// entries in-process (no gRPC).
_ "github.com/Silo-Server/silo-server/internal/metadata/nfo"
"github.com/Silo-Server/silo-server/internal/metadata/tmdb"
"github.com/Silo-Server/silo-server/internal/models"
"github.com/Silo-Server/silo-server/internal/nodeconfig"
"github.com/Silo-Server/silo-server/internal/nodemetrics"
Expand Down Expand Up @@ -2936,14 +2937,17 @@ func main() {
if trendingRefresher != nil {
taskMgr.Register(tasks.NewRefreshTrendingDiscoverTask(trendingRefresher))
}
taskMgr.Register(tasks.NewRefreshAnimeIDsTask(animeids.NewRefresher(deps.DB)))
if userCollectionScheduler != nil {
taskMgr.Register(tasks.NewSyncUserCollectionsTask(userCollectionScheduler))
}
if watchProviderService != nil {
taskMgr.Register(tasks.NewSyncWatchProvidersTask(watchProviderService))
}
// The TMDB client lets a submission started here pick up a TVDB ID
// added on TMDB after the request was created.
// The reconcile pass routes requests, which reads TMDB for requests
// whose routing facts were never captured. The TMDB client also lets a
// submission started here pick up a TVDB ID added on TMDB after the
// request was created.
requestReconcileSvc := mediarequests.NewService(
mediarequests.NewRepository(deps.DB, deps.SecretCipher),
tmdb.NewClient(cfg.TMDBAPIKey, 40),
Expand All @@ -2952,6 +2956,7 @@ func main() {
catalog.NewProviderIDRepository(deps.DB),
),
)
requestReconcileSvc.SetAnimeIndex(animeids.NewStore(deps.DB))
requestReconcileSvc.SetRequesterIdentityResolver(plugins.RequesterIdentityFromLookup(plugins.NewPgUserIdentityLookup(deps.DB)))
if metadataService != nil {
requestReconcileSvc.SetTVDBIDResolver(metadataService)
Expand All @@ -2973,7 +2978,8 @@ func main() {
if notificationSystem != nil {
requestReconcileSvc.SetFulfillmentNotifier(notifications.NewRequestFulfillmentNotifier(notificationSystem))
}
taskMgr.Register(tasks.NewReconcileRequestsTask(requestReconcileSvc, 100))
taskMgr.Register(tasks.NewReconcileRequestsTask(requestReconcileSvc, 100, deps.DB))
taskMgr.Register(tasks.NewRefreshRequestDownloadsTask(requestReconcileSvc, 200, deps.DB))
if deps.FolderRepo != nil && deps.LibraryScanQueue != nil && pluginService != nil && pluginInstallationStore != nil {
autoscanRepo := autoscan.NewRepository(deps.DB, deps.SecretCipher)
if err := autoscanRepo.MarkInterruptedEvents(appCtx); err != nil {
Expand Down
27 changes: 27 additions & 0 deletions contracts/api/v2/fixtures/admin_requests_ok.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@
"year": 1995,
"status": "approved",
"outcome": "active",
"state": "approved",
"seasons": [],
"season_progress": [],
"requested_by_user_id": "1",
"requested_by_profile_id": "p-owner",
"integration_kind": "radarr",
Expand All @@ -17,9 +20,15 @@
{
"id": "42",
"request_id": "r-3",
"integration_id": "integration-1",
"integration_kind": "radarr",
"instance_name": "Radarr",
"quality": "1080p",
"is_anime": false,
"external_id": "7",
"external_status": "queued",
"status": "queued",
"route_name": "Movies",
"created_at": "2026-01-02T03:04:05.678Z",
"updated_at": "2026-01-02T03:04:05.678Z"
}
Expand All @@ -37,6 +46,9 @@
"year": 1995,
"status": "approved",
"outcome": "active",
"state": "approved",
"seasons": [],
"season_progress": [],
"requested_by_user_id": "1",
"requested_by_profile_id": "p-owner",
"integration_kind": "radarr",
Expand All @@ -45,9 +57,15 @@
{
"id": "42",
"request_id": "r-2",
"integration_id": "integration-1",
"integration_kind": "radarr",
"instance_name": "Radarr",
"quality": "1080p",
"is_anime": false,
"external_id": "7",
"external_status": "queued",
"status": "queued",
"route_name": "Movies",
"created_at": "2026-01-02T03:04:05.678Z",
"updated_at": "2026-01-02T03:04:05.678Z"
}
Expand All @@ -65,6 +83,9 @@
"year": 1995,
"status": "approved",
"outcome": "active",
"state": "approved",
"seasons": [],
"season_progress": [],
"requested_by_user_id": "1",
"requested_by_profile_id": "p-owner",
"integration_kind": "radarr",
Expand All @@ -73,9 +94,15 @@
{
"id": "42",
"request_id": "r-1",
"integration_id": "integration-1",
"integration_kind": "radarr",
"instance_name": "Radarr",
"quality": "1080p",
"is_anime": false,
"external_id": "7",
"external_status": "queued",
"status": "queued",
"route_name": "Movies",
"created_at": "2026-01-02T03:04:05.678Z",
"updated_at": "2026-01-02T03:04:05.678Z"
}
Expand Down
4 changes: 3 additions & 1 deletion contracts/api/v2/fixtures/cancel_request_ok.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,11 @@
"year": 1995,
"status": "approved",
"outcome": "active",
"state": "approved",
"seasons": [],
"season_progress": [],
"requested_by_user_id": "1",
"requested_by_profile_id": "p-owner",
"integration_kind": "radarr",
"is_anime": false,
"targets": [
{
Expand Down
4 changes: 3 additions & 1 deletion contracts/api/v2/fixtures/create_request_ok.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,11 @@
"year": 1995,
"status": "pending",
"outcome": "active",
"state": "pending",
"seasons": [],
"season_progress": [],
"requested_by_user_id": "1",
"requested_by_profile_id": "p-owner",
"integration_kind": "radarr",
"is_anime": false,
"targets": [],
"created_at": "2026-01-02T03:04:05.678Z",
Expand Down
2 changes: 1 addition & 1 deletion contracts/api/v2/fixtures/get_system_info_ok.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"server_version": "unavailable",
"api_major": 2,
"contract_digest": "f27299fa6edb481d4c12ea8fe074683216d15bc9015c5a832e22e770be16843e",
"contract_digest": "d02d5545b862fa3ca0009fd21acf0b068bf290ba56e5864310cac20503971744",
"links": {
"openapi": "/api/v2/openapi.json",
"capabilities": "/api/v2/capabilities",
Expand Down
34 changes: 28 additions & 6 deletions contracts/api/v2/fixtures/list_my_requests_ok.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,11 @@
"year": 1995,
"status": "pending",
"outcome": "active",
"state": "pending",
"seasons": [],
"season_progress": [],
"requested_by_user_id": "1",
"requested_by_profile_id": "p-owner",
"integration_kind": "radarr",
"is_anime": false,
"targets": [
{
Expand All @@ -35,26 +37,46 @@
"tmdb_id": 949,
"title": "Heat",
"year": 1995,
"status": "approved",
"status": "downloading",
"outcome": "active",
"state": "processing",
"seasons": [],
"season_progress": [],
"requested_by_user_id": "1",
"requested_by_profile_id": "p-owner",
"integration_kind": "radarr",
"is_anime": false,
"targets": [
{
"id": "42",
"request_id": "r-1",
"quality": "1080p",
"is_anime": false,
"status": "queued",
"status": "downloading",
"created_at": "2026-01-02T03:04:05.678Z",
"updated_at": "2026-01-02T03:04:05.678Z"
"updated_at": "2026-01-02T03:04:05.678Z",
"download": {
"phase": "downloading",
"percent": 43,
"bytes_total": 4294967296,
"bytes_left": 2448131358,
"estimated_completion_at": "2026-01-02T03:16:05.678Z",
"downloads": 1,
"updated_at": "2026-01-02T03:04:05.678Z"
}
}
],
"created_at": "2026-01-02T03:04:05.678Z",
"updated_at": "2026-01-02T03:04:05.678Z",
"approved_at": "2026-01-02T03:04:05.678Z"
"approved_at": "2026-01-02T03:04:05.678Z",
"download": {
"phase": "downloading",
"percent": 43,
"bytes_total": 4294967296,
"bytes_left": 2448131358,
"estimated_completion_at": "2026-01-02T03:16:05.678Z",
"downloads": 1,
"updated_at": "2026-01-02T03:04:05.678Z"
}
}
],
"page": {
Expand Down
8 changes: 6 additions & 2 deletions contracts/api/v2/fixtures/request_status_ok.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
{
"revision": "9f99fe02e4707e64e2d61ce7d8682b809713f2cad154b46064cc7c16e0b26d61",
"revision": "dc6458db8af9354952b69baa1805dcb12a4cee23a40517a0dea2c3f02e441bb2",
"state": "available",
"allowed": true,
"requests_enabled": true,
"rating_restrictions_enforced": true
"rating_restrictions_enforced": true,
"follow_supported": true,
"season_requests_supported": true,
"missing_seasons_requestable": false,
"download_progress_supported": true
}
Loading
Loading