diff --git a/gradle/changelog/empty_release_feed_url.yaml b/gradle/changelog/empty_release_feed_url.yaml new file mode 100644 index 0000000000..551f9f31c8 --- /dev/null +++ b/gradle/changelog/empty_release_feed_url.yaml @@ -0,0 +1,2 @@ +- type: fixed + description: Fix administration page error for empty release feed url ([#1667](https://github.com/scm-manager/scm-manager/pull/1667)) diff --git a/scm-ui/ui-api/src/admin.ts b/scm-ui/ui-api/src/admin.ts index 4a8cbbb7f0..872798cb60 100644 --- a/scm-ui/ui-api/src/admin.ts +++ b/scm-ui/ui-api/src/admin.ts @@ -22,14 +22,21 @@ * SOFTWARE. */ -import { ApiResult, useRequiredIndexLink } from "./base"; +import { ApiResult, useIndexLink } from "./base"; import { UpdateInfo } from "@scm-manager/ui-types"; import { useQuery } from "react-query"; import { apiClient } from "@scm-manager/ui-components"; export const useUpdateInfo = (): ApiResult => { - const indexLink = useRequiredIndexLink("updateInfo"); - return useQuery("updateInfo", () => - apiClient.get(indexLink).then(response => (response.status === 204 ? null : response.json())) + const indexLink = useIndexLink("updateInfo"); + return useQuery( + "updateInfo", + () => { + if (!indexLink) { + throw new Error("could not find index data"); + } + return apiClient.get(indexLink).then((response) => (response.status === 204 ? null : response.json())); + }, + { enabled: !!indexLink } ); };