Ignore RenderingCancelledException in render page function of BitPdfReader (#9850)#9908
Conversation
WalkthroughThis change introduces additional error handling in the Changes
Sequence Diagram(s)sequenceDiagram
participant Caller
participant PdfReader
Caller->>PdfReader: call renderPage()
alt Rendering succeeds
PdfReader-->>Caller: return rendered page
else Error occurs
PdfReader->>PdfReader: catch exception
alt Exception is RenderingCancelledException
PdfReader-->>Caller: handle cancellation quietly
else Other exception
PdfReader-->>Caller: rethrow exception
end
end
Poem
✨ Finishing Touches
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (2)
src/BlazorUI/Bit.BlazorUI.Extras/Components/PdfReader/BitPdfReader.ts (2)
101-104: LGTM! Consider adding documentation.The error handling implementation correctly ignores RenderingCancelledException while preserving other error cases. Consider adding a comment explaining why this exception is safely ignorable.
try { const page = await config.pdfDoc.getPage(pageNumber); // ... rendering logic ... } catch (err: any) { + // Ignore RenderingCancelledException as it occurs when rendering is intentionally cancelled + // and doesn't indicate an error condition if (err.name !== 'RenderingCancelledException') { throw err; } }
101-104: Consider adding debug logging.For better debugging and monitoring, consider adding debug logging when RenderingCancelledException occurs.
} catch (err: any) { + if (err.name === 'RenderingCancelledException') { + console.debug(`PDF rendering cancelled for page ${pageNumber}`); + return; + } - if (err.name !== 'RenderingCancelledException') { - throw err; - } + throw err; }
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
src/BlazorUI/Bit.BlazorUI.Extras/Components/PdfReader/BitPdfReader.ts(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: build and test
closes #9850
Summary by CodeRabbit