Uh oh!
There was an error while loading. Please reload this page.
fix: pharn status reports unreadable paths instead of crashing or misclassifying them - #82
Conversation
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (17)
📝 WalkthroughWalkthroughThe change adds an ChangesUnreadable path comparison
Status reporting and documentation
Validation and delivery records
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant compareExpected
participant readDiskState
participant status
compareExpected->>readDiskState: classify expected project path
readDiskState-->>compareExpected: missing, unreadable, or file state
compareExpected-->>status: return InstallDiff
status->>status: render unreadable reasons
status-->>status: fail in strict mode when unreadable paths exist
Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
pharn statusno longer crashes or misreports unreadable expected paths.lib/diff.tsnow classifies paths through the samereadDiskStatehelperpharn updateuses, adding a fourth Unreadable drift partition for directories, symlinks (live or dangling), ENOTDIR parents, and unreadable files — instead of throwingEISDIR, folding symlinks into modified/ok, or reporting dangling links as missing.pharn status --stricttreats unreadable paths as drift. The DRIFT note renders a third subsection (after DIFFERS and MISSING, matching update'sSKIP_ORDER) listing each path with its reason; plainstatusstill exits 0.hash()fork and uses sharedsha256File; a test source-scan holds the claim.Test plan
npm run checkpasses (636 tests)diff.test.tscases cover directory, symlink (different/identical/dangling), ENOTDIR, sort determinism, and nonode:fs/node:cryptoindiff.tsstatus.test.tscases cover--stricton unreadable-only drift, plain-run rendering, subsection ordering, and omission when emptymissingarm is actually exerciseddocs/commands/status.mdandCHANGELOG.mdupdatedMade with Cursor
Summary by CodeRabbit
Bug Fixes
pharn statusnow identifies unreadable paths—including directories, symlinks, dangling links, and invalid paths—without stopping comparisons for other files.pharn update.Documentation
Tests