Repository navigation
chore(deps-dev): update native build and test tooling - #365
Conversation
|
🦞👀 Pull request received. I will update this pull request when review starts. ClawSweeper review completeClawSweeper finished reviewing this revision. The review result is being finalized. |
|
Codex review: blocked before merge. Reviewed September 16, 2026, 9:47 AM ET / 13:47 UTC (Revision 4). ClawSweeper reviewWhat this changesThe branch updates development dependencies and includes archive hardening, safer temporary filenames, two public path helpers, guest directory-race handling, and expanded validation. Merge readiness⛔ Blocked before merge - 4 items remain Keep open: the tooling updates remain absent from main and v0.12.0. This head also carries substantial work from still-open predecessor PRs, so its landing scope needs coordination. Priority: P2 Review scores
Verification
How this fits togetherfs-safe provides filesystem primitives for applications handling untrusted paths and archives. Its TypeScript and native implementations validate inputs before reading, creating, or publishing files; development tooling builds and tests those implementations. flowchart TD
A[Development tooling] --> B[Package and native builds]
B --> C[Filesystem safety library]
D[Application paths and archives] --> C
C --> E[Path and metadata admission]
E --> F[Guarded filesystem operations]
E --> G[Rejected ambiguous inputs]
Decision needed
Why: Both routes preserve useful work, but the current description only authorizes a tooling-sized review while the actual merge includes public APIs and deliberate archive rejection changes. Before merge
Agent review detailsSecurityNone. Review metrics
Merge-risk optionsMaintainer options:
Technical reviewBest possible solution: Land the focused predecessor changes with explicit compatibility acceptance, then retain a narrowly scoped tooling update against the resulting main. Do we have a high-confidence way to reproduce the issue? Not applicable to the dependency update; no introduced blocking defect was established. Runtime changes were inspected through source and regression coverage without executing tests. Is this the best way to solve the issue? The individual implementations have focused contracts and coverage, but the combined landing scope does not match this PR's description; predecessor-first landing is the clearest review path. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against 2374204cc8d0. LabelsLabel changes:
Label justifications:
EvidenceWhat I checked:
Likely related people:
Rank-up movesOptional improvements that raise the rating; they are not merge blockers.
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
HistoryReview history (3 earlier review cycles) |
853f487 to
a982250
Compare
Bind ZIP physical entry names and kinds to decoder metadata before callbacks or member selection, rejecting ambiguous interpretations consistently.
Stop zstd and bzip2 compressed-input refills after cancellation while retaining decoded-output and complete archive validation.
Sanitize fallback filenames and validate completed sibling callback components before producers run, retaining bounded names and Windows device-name rejection.
Add resolvePathPrefixSync for physical traversal through existing prefixes with a raw missing suffix, preserving dangling aliases and propagating ambiguous resolution failures.
Add bounded missing-suffix alias probes with fixed path, depth, creation, and observation budgets plus identity-checked conservative cleanup.
Tolerate concurrent guest parent-directory creation only after descriptor-relative no-follow directory admission; file and symlink competitors remain rejected. Thanks @vincentkoc. Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
Update development dependencies to @napi-rs/cli 3.9.1, fast-check 4.10.0, and Vite 8.3.0 with verified registry integrity.
a982250 to
16c547c
Compare
Update development tooling to @napi-rs/cli 3.9.1, fast-check 4.10.0, and Vite 8.3.0. Runtime dependencies and the package release version remain unchanged.
The frozen lockfile install succeeds and matches the official registry integrity records. The updated CLI builds the native addon, the package builds, and all 70 focused property/fuzz and documentation navigation tests pass. Independent review through P2 is clean. Full checks, coverage, and cross-platform package/native CI passed on the final PR head.
The Windows Node 24 job required one unchanged-source retry after a standalone ACL inspection returned an unverified result; the secure-read refusal check passed in both runs.