Repository navigation
fix(split): retry page writes regardless of path words in errors - #82
Merged
Merged
Conversation
Write retries reused the PDF keyword check, so an output path containing 'password' or 'encrypted' made a transient EBUSY fail at once. withRetry now takes an optional isRetryable (default: the PDF check); page writes retry on any error. Also cover the 'page has no image' branch. Follow-up to #79.
AI Code Review SummaryPR: #82 (fix(split): retry page writes regardless of path words in errors) Overall AssessmentNo blocking issue was detected in the reviewed diff; keep focused regression testing before merge. Major Findings by SeverityNo major issues identified from the reviewed diff. Actionable Suggestions
Potential Risks
Test Suggestions
File-Level Coverage Notes
Inline Downgraded Items (processed but not inline)
Coverage Status
Uncovered list:
No-patch covered list:
Runtime/Budget
Reasons:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #79 review.
withRetrytakes an optionalisRetryable(default: the existing PDF keyword check, so read/render paths are unchanged). Page writes pass() => true, because the error message embeds the output path, and a userData path containingpassword/encryptedmade a transient EBUSY fail without retrying.error.codewhitelist: transient Windows EPERM/EACCES (antivirus locks) could be missed, and this keeps the change minimal. ENOENT retry behaviour is already pinned by an existing test.Tests: split vitest suites 116/116 pass; the 3 new regression tests fail with the fix reverted;
npm run typecheckandnpm run buildpass.Note (not changed here): the read path has the same keyword issue. An EBUSY on a file named e.g.
password-list.pdfis reported as a protected PDF. Worth a separate fix.