fix(servarr): add timeout to Radarr/Sonarr API requests to prevent infinite loading (#2375)
* fix(servarr): add timeout to Radarr/Sonarr API requests to prevent infinite loading Adds a 5-second timeout to all Radarr/Sonarr API requests and displays a warning banner when services are unreachable. This prevents the Recent Requests section and request list pages from hanging indefinitely when a configured service has connection issues. fix #2374 * fix(requests): only show service error banner to users with advanced permissions
This commit is contained in:
@@ -275,6 +275,24 @@ requestRoutes.get<Record<string, unknown>, RequestResultsResponse>(
|
||||
page: Math.ceil(skip / pageSize) + 1,
|
||||
},
|
||||
results: mappedRequests,
|
||||
serviceErrors: {
|
||||
radarr: radarrServers
|
||||
.filter((s) => !s.profiles)
|
||||
.map((s) => ({
|
||||
id: s.id,
|
||||
name:
|
||||
settings.radarr.find((r) => r.id === s.id)?.name ||
|
||||
`Radarr ${s.id}`,
|
||||
})),
|
||||
sonarr: sonarrServers
|
||||
.filter((s) => !s.profiles)
|
||||
.map((s) => ({
|
||||
id: s.id,
|
||||
name:
|
||||
settings.sonarr.find((r) => r.id === s.id)?.name ||
|
||||
`Sonarr ${s.id}`,
|
||||
})),
|
||||
},
|
||||
});
|
||||
} catch (e) {
|
||||
next({ status: 500, message: e.message });
|
||||
|
||||
Reference in New Issue
Block a user