diff --git a/packages/api/src/utils/parser.ts b/packages/api/src/utils/parser.ts index aebc63430..c0fe90bc1 100644 --- a/packages/api/src/utils/parser.ts +++ b/packages/api/src/utils/parser.ts @@ -205,7 +205,8 @@ const applyHandlers = async ( export const parsePreparedContent = async ( url: string, preparedDocument: PreparedDocumentInput, - isNewsletter?: boolean + isNewsletter?: boolean, + allowRetry = true ): Promise => { const logRecord: ArticleParseLogRecord = { url: url, @@ -236,6 +237,13 @@ export const parsePreparedContent = async ( try { article = getReadabilityResult(url, document, dom, isNewsletter) + if (!article?.textContent && allowRetry) { + const newDocument = { + ...preparedDocument, + document: '' + preparedDocument.document + '', + } + return parsePreparedContent(url, newDocument, isNewsletter, false) + } // Format code blocks // TODO: we probably want to move this type of thing