From e04eb90d531c5def83e2f30adebe534d5b0d3778 Mon Sep 17 00:00:00 2001 From: John O'Keefe Date: Sat, 4 Apr 2026 14:22:34 -0400 Subject: [PATCH] fix: Rename duplicate extractFB2Metadata in fb2-parser Fix infinite recursion bug where exported function called itself. Renamed to getFB2Metadata to avoid duplicate declaration. --- web/src/reader/parsers/fb2-parser.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/web/src/reader/parsers/fb2-parser.ts b/web/src/reader/parsers/fb2-parser.ts index ecfe25f..7b5bf5b 100644 --- a/web/src/reader/parsers/fb2-parser.ts +++ b/web/src/reader/parsers/fb2-parser.ts @@ -222,14 +222,19 @@ function generatePageBreaks(totalCharacters: number): number[] { // Metadata Quick Extract // ============================================================ -export async function extractFB2Metadata( +export async function getFB2Metadata( fb2Blob: Blob, ): Promise> { let xmlContent: string; - if (fb2Blob.type === "application/zip") { + if ( + fb2Blob.type === "application/zip" || + fb2Blob.type === "application/x-zip-compressed" + ) { const zip = await JSZip.loadAsync(fb2Blob); const files = Object.keys(zip.files); + + // Find the first .fb2 file in the zip const fb2File = files.find((f) => f.endsWith(".fb2")); if (!fb2File) return {};