feat: add error handling to search functions

This commit is contained in:
2026-06-16 14:00:41 +02:00
committed by Milas Holsting
parent 2a8294c405
commit 2ec1cdec38
3 changed files with 8 additions and 4 deletions

View File

@@ -118,12 +118,13 @@ export const fetchSearchItems = (query: string): void => {
responseCache.set(query, response);
renderItems(visibleItems);
})
.catch(() => {
.catch((error) => {
if (controller.signal.aborted) {
return;
}
setActiveRequestController(undefined);
console.error("search request failed:", error);
renderSearchErrorState(query);
});
};
@@ -168,8 +169,9 @@ export const fetchNextSearchPage = (): void => {
setSearchPagination(response.nextPage, response.hasNextPage);
appendItems(visibleItems);
})
.catch(() => {
.catch((error) => {
window.showToast?.({ message: "Failed to load more search results." });
console.error("failed to load more search results:", error);
})
.finally(() => {
setFetchingNextPage(false);

View File

@@ -140,8 +140,9 @@ export const removeContinueWatchingItem = (item: CommandPaletteItem): void => {
removeContinueWatchingCard(animeID);
renderItems(getResultItems().filter((candidate) => candidate.id !== item.id));
})
.catch(() => {
.catch((error) => {
window.showToast?.({ message: "Failed to remove from Continue Watching." });
console.error("failed to remove from continue watching:", error);
});
};

View File

@@ -177,7 +177,8 @@ export const isSafeImageUrl = (rawUrl?: string): boolean => {
try {
const parsed = new URL(rawUrl, window.location.origin);
return parsed.protocol === "https:" || parsed.protocol === "http:";
} catch {
} catch (error) {
console.error("Failed to validate URL:", error);
return false;
}
};