Repository navigation
chore(deps): update all dependencies - #883
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: needs maintainer review before merge. What this changesRefresh development tools, archive libraries, and pinned GitHub Actions while adapting the native ZIP reader to preserve existing archive metadata checks. Review scores
ProductKind: Maintenance · Worth it: Yes Merge readiness✅ Ready for maintainer review This PR remains useful and is maintainer-owned; current main does not contain its updates. No actionable patch defect or unresolved security concern was found. Priority: P3 Before mergeNone. FindingsNone. Tests
Agent review detailsHow this fits togetherfs-safe validates untrusted archive paths and metadata before reading members or publishing files inside a guarded filesystem root. The native ZIP decoder supplies metadata that must agree with shared admission checks. flowchart TD
A[Archive bytes] --> B[Physical metadata admission]
A --> C[ZIP decoder and compatibility adapter]
B --> D{Metadata agrees}
C --> D
D -->|No| E[Reject archive]
D -->|Yes| F[Bounded member reads]
D -->|Yes| G[Guarded file publication]
Technical reviewBest possible solution: Keep the refresh and narrow ZIP compatibility adapter together under the existing admission and publication owners. Do we have a high-confidence way to reproduce the issue? Not applicable: this PR refreshes dependencies rather than reporting broken released behavior; upstream source verifies the ZIP API differences requiring adaptation. Is this the best way to solve the issue? Yes: adapting the existing shared ZIP decoder preserves its established metadata contract without introducing a competing implementation or public option. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against 50fd5171eecc. Provenance checked
TestingProof path: in-process harness. SecurityNone. EvidenceWhat I checked:
Likely related people:
Review metrics
LabelsLabel changes: No label changes. Label justifications:
Rating scale6/6 🦀 challenger crab · 5/6 🦞 diamond lobster · 4/6 🐚 platinum hermit · 3/6 🦐 gold shrimp · 2/6 🦪 silver shellfish · 1/6 🧂 unranked krab. Overall follows the weaker of proof and patch quality; ✨ marks media proof (a screenshot, video, or linked artifact) that directly shows the changed behavior. WorkflowClawSweeper edits this one comment on every review. Comment HistoryReviewed October 9, 2026, 6:06 PM ET / 22:06 UTC (Revision 3). |
|
Merged as Validated Exact-head CI, coverage, CodeQL, mutation, benchmarks, Windows hash proof, and ancestor scopes all passed. Both Linux GNU architectures built and loaded successfully at the glibc 2.28 floor. The PR body contains the complete dependency inventory, provenance checks, and ZIP compatibility details. No bumps were deferred; no release, tag, or publication was performed. Supersedes #882. |
Refresh npm, Cargo, and GitHub Actions dependencies from 0.25.0 (
50fd5171). ZIP 9 requires an adapter that keeps the existing raw mode/kind admission contract and handles its fallible name API. No dependency bump is deferred.Complete dependency inventory
Versions without a change were checked against the current official registry/release tags on 2026-10-09. Exact npm pins and caret ranges retain their style.
native/package.jsonhas no independent dependencies. Cargo requirements and generated lockfiles are updated together.@emnapi/runtime2.0.0-alpha.62.0.0-alpha.6@napi-rs/cli3.10.83.10.8@types/node^26.6.4^26.6.5@vitest/coverage-v85.0.35.0.3fast-check^4.10.2^4.10.2istanbul-lib-coverage3.2.23.2.2istanbul-lib-report3.0.13.0.1istanbul-reports3.2.03.2.0sigstore5.0.05.0.0tar7.5.227.5.22typescript^7.0.2^7.0.2vite8.3.38.3.4vitest^5.0.3^5.0.3jszip^3.10.2^3.10.2pnpm12.10.112.10.1bzip20.6.10.6.1flate21.1.101.1.10napi3.14.23.14.2napi-derive3.6.123.6.12sha20.11.00.11.0unicode-normalization0.1.250.1.25zip8.6.09.0.0zstd0.14.00.14.1napi-build2.6.02.6.0tar0.4.460.4.46libc0.2.1900.2.190rustix1.1.51.1.5windows-sys0.61.20.61.2libbz2-rs-sys0.2.50.2.5zstd-sys2.1.02.1.1+zstd.1.5.7zstd-safe8.0.08.1.022.23.322.23.324.21.024.21.0actions/checkoutv7.0.1v7.0.1actions/upload-artifactv7.0.2v7.0.2actions/download-artifactv8.0.2v8.0.2mlugg/setup-zigv2.2.1v2.2.1pnpm/action-setupv6.1.0v6.1.0actions/setup-nodev7.0.0v7.1.0actions/create-github-app-tokenv3.2.0v3.2.0actions/configure-pagesv6.0.0v6.0.0actions/upload-pages-artifactv5.0.0v5.0.0actions/deploy-pagesv5.0.1v5.0.1github/codeql-actionv4.38.2v4.38.3useblacksmith/begin-testboxv2v2useblacksmith/run-testboxpost-v2: idle timeout and hydration failure reportingpost-v2: idle timeout and hydration failure reportingrhysd/actionlintv1.7.12v1.7.12actions/github-scriptv9.0.0v9.0.0oven-sh/setup-bunv2.2.0v2.2.0actions/cachev6.1.0v6.1.0Compatibility and supply-chain review
name()to propagate errors and retain the decoded name only after the existing manifest-byte check. ZIP 9 sanitizesunix_mode()and interprets DOS creators differently; preserve raw high-word mode/type attributes so TypeScript admission still compares exactly, including special bits, non-UNIX symlinks, directories, and unsupported link-like types. Publication policy still owns permission stripping and confinement.gyscos; inspected upstream commits and packaged VCS references. Bundled zstd C remains 1.5.7, and enabled Cargo features are unchanged. ZIP 9 uses the same release maintainer as 8.6.0, is not yanked, and retains Rust 1.88 MSRV. No new dependency has a registry deprecation/yank or known audit finding.@types/noderetains thetypespublisher; Vite retains its maintainers, GitHub Actions publishing and provenance metadata. Both are younger than the 48-hour delay: narrowly allow only the reviewed exact versions inminimumReleaseAgeExclude, keeping the global policy. No install lifecycle hook was added.@emnapi/runtimeremains at the newest 2.0 prerelease,2.0.0-alpha.6; stable latest is still 1.11.3. No downgrade. The N-API CLI/build tooling is already latest. Node 22/24 exact pins and pnpm 12.10.1 are current; floating Node 26 remains within the existing matrix and engine policy.gh api, peeling annotated tags.actions/setup-node@v7.1.0=949feb2413d6458794dcd2491c4babbbce0c15c1;github/codeql-action@v4.38.3=24c54180a607b1449ed407dd24f251e4e9147c8d. Reviewed both releases. Includes the shared composite action missed by chore(deps): bump actions/setup-node from 7.0.0 to 7.1.0 in the actions group #882.run-testbox@3f60ff9ceb2c10c3feefa87dc0c6490cffae059d, two fixes beyond v2; reverting to the tag would lose idle-timeout/hydration diagnostics.begin-testboxalready matches v2.Audits and validation
pnpm audit: 0 vulnerabilities.cargo audit --deny warnings: 0 vulnerabilities, 0 warnings, current RustSec database (2026-10-09).pnpm buildwith actual wasm32 compilation and import/memory validation,pnpm native:build,cargo test --workspace --locked(50 archive-core + 145 native tests),cargo clippy --workspace --locked -- -D warnings,pnpm pack:check,git diff --check.pnpm check: lint, boundary lint, build, WASM allocator prerequisites, and docs passed; full suite: 17,462 passed, 791 skipped, 7 macOS event-watch failures. All seven reproduce on untouched50fd5171with original dependencies: six in the baseline watch suite, the coalescing timeout in a separate targeted baseline run. No archive failure remains; packaging also passes separately. Initial local Homebrew Rust lacked the WASM target; selecting installed rustup stable fixed the build without substituting published WASM. One focused run had transient SIGKILL workers during local build/test activity; a serial retry passed all 223 tests.2289dc8f6b8b9d1a806562d684757fea99c3fd95: 46 checks passed, 6 expected skips, no failed or pending checks. CI includes all configured Node 22/24/26 OS lanes, native Linux GNU/musl and macOS/Windows lanes, package smoke, Clippy/audit, and both GNU glibc 2.28 build/load checks. Coverage, CodeQL, mutation proof, benchmarks, Windows hash proof, and ancestor scopes all passed. No proof/CI rerun or admin bypass was needed; CodeQL ran on the ready-for-review event after its expected draft skip. The cancelled ClawSweeper dispatch was replaced by its completed ready-for-review dispatch.Supersedes #882. No release, tag, or publication.