Skip to content

fix(npm): restore web's @nous-research/ui 0.18.2 pin and lockfile integrity - #75908

Closed
ocfox wants to merge 1 commit into
NousResearch:mainfrom
ocfox:fix/nix-messaging-build
Closed

fix(npm): restore web's @nous-research/ui 0.18.2 pin and lockfile integrity#75908
ocfox wants to merge 1 commit into
NousResearch:mainfrom
ocfox:fix/nix-messaging-build

Conversation

@ocfox

@ocfox ocfox commented Aug 1, 2026

Copy link
Copy Markdown

Problem

nix build .#messaging fails with ENOTCACHED on @nous-research/ui. The web/node_modules/@nous-research/ui entry in package-lock.json lost its resolved and integrity in 390a1771b, and importNpmLock prefetches from those hashes, so npm reaches for the network inside the sandbox. Every npm-dependent output is affected; it surfaces in hermes-tui only because the whole workspace installs in one pass.

515e88a80 separately set web/package.json to 0.16.0 while the lockfile still installs 0.18.2 under web/, so npm ls --depth=0 reports ELSPROBLEMS.

Fix

Restore the two lockfile fields, and put web's pin back to 0.18.2 — the version it has resolved to since a51a7b9b9. 0.16.0 ships none of the hooks/use-* and ui/components/* modules web imports (117 TS2307s).

Verified with nix build .#messaging, npm ls --depth=0 and npm --prefix web run typecheck on NixOS x86_64-linux.

The lockfile entry for web/node_modules/@nous-research/ui lost its
`resolved` and `integrity` in 390a177.  importNpmLock prefetches
packages from those hashes, so without them npm reaches for the network
inside the build sandbox and every npm-dependent flake output fails with
ENOTCACHED.  It surfaces in hermes-tui, which is a red herring: one
lockfile, one install pass for the whole workspace.

515e88a then set web/package.json to 0.16.0, contradicting the
lockfile (npm ls: invalid @nous-research/ui@0.18.2) and pointing web at
a version it can't build against — 0.16.0 ships no hooks/use-toast and
no ui/components/card, among others, for 117 TS2307s.  web has been on
0.18.2 since a51a7b9, so restore the pin.  Nothing new enters the
lockfile; 0.18.2 only swaps @radix-ui/react-checkbox for radix-ui,
already at the root.
@ocfox
ocfox requested a review from a team August 1, 2026 05:46
@teknium1

teknium1 commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Thanks for the targeted lockfile repair. Static review confirms that current main still declares @nous-research/ui as 0.16.0 in web/package.json:19, while package-lock.json:18773 resolves the web-local package as 0.18.2 without resolved or integrity fields. nix/lib.nix:172-176 makes that omission material because the shared offline importNpmLock dependency derivation consumes lockfile integrity hashes.

The PR aligns both Web declarations at 0.18.2 and uses the exact resolved URL and integrity published by the npm registry for that version. A scan of the current lockfile found no other non-link node_modules entry missing both fields, so the patch covers the identified omission without unrelated lock churn. Current main is only one documentation commit past the PR base, so the two-file patch should salvage cleanly.

No changes requested. This is an automated hermes-sweeper review.

@teknium1 teknium1 added sweeper:risk-compatibility Sweeper risk: may break existing users, config, migrations, defaults, or upgrades sweeper:blast-moderate Sweeper blast radius: moderate — a subsystem or single platform labels Aug 1, 2026
@thattemperature

Copy link
Copy Markdown

This fixes the nix build failure for me. Thanks very much.

@alt-glitch alt-glitch added type/bug Something isn't working P2 Medium — degraded but workaround exists comp/dashboard Web dashboard / control panel UI (dashboard/, landing) area/nix Nix flake, NixOS module, container packaging labels Aug 1, 2026
@ocfox

ocfox commented Aug 3, 2026

Copy link
Copy Markdown
Author

already fixed

@ocfox ocfox closed this Aug 3, 2026
@ocfox
ocfox deleted the fix/nix-messaging-build branch August 3, 2026 04:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/nix Nix flake, NixOS module, container packaging comp/dashboard Web dashboard / control panel UI (dashboard/, landing) P2 Medium — degraded but workaround exists sweeper:blast-moderate Sweeper blast radius: moderate — a subsystem or single platform sweeper:risk-compatibility Sweeper risk: may break existing users, config, migrations, defaults, or upgrades type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants