hermes - ✅(Solved) Fix [Bug]: Nix ubuntu check failing on main again due to stale hermes-web npmDepsHash (recurrence of #12965) [2 pull requests, 1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
NousResearch/hermes-agent#15244Fetched 2026-04-25 06:23:29
View on GitHub
Comments
0
Participants
1
Timeline
7
Reactions
1
Author
Participants
Timeline (top)
cross-referenced ×4labeled ×3

Error Message

ERROR: npmDepsHash is out of date The package-lock.json in src is not the same as the in /nix/store/...-npm-deps.

Fix Action

Fixed

PR fix notes

PR #15190: test(gateway): make systemd refresh tests hermetic with user D-Bus preflight

Description (problem / solution / changelog)

Summary

Fixes a test regression introduced by user D-Bus preflight checks in systemd user-scope commands.

This keeps runtime behavior unchanged and makes the affected unit tests hermetic again by stubbing _preflight_user_systemd where tests are specifically validating command sequencing / refresh behavior.

Changes

  • Add monkeypatch.setattr(gateway_cli, "_preflight_user_systemd", lambda: None) in:
    • TestSystemdServiceRefresh::test_systemd_start_refreshes_outdated_unit
    • TestSystemdServiceRefresh::test_systemd_restart_refreshes_outdated_unit
    • TestGatewaySystemServiceRouting::test_systemd_restart_self_requests_graceful_restart_and_waits
    • TestGatewaySystemServiceRouting::test_systemd_restart_recovers_failed_planned_restart

Why

systemd_start() and systemd_restart() now call _preflight_user_systemd() before the mocked subprocess.run path. In non-systemd environments, those tests fail early with UserSystemdUnavailableError and never reach their intended assertions.

Validation

  • pytest -q -n 0 tests/hermes_cli/test_gateway_service.py::TestSystemdServiceRefresh::test_systemd_start_refreshes_outdated_unit tests/hermes_cli/test_gateway_service.py::TestSystemdServiceRefresh::test_systemd_restart_refreshes_outdated_unit tests/hermes_cli/test_gateway_service.py::TestGatewaySystemServiceRouting::test_systemd_restart_self_requests_graceful_restart_and_waits tests/hermes_cli/test_gateway_service.py::TestGatewaySystemServiceRouting::test_systemd_restart_recovers_failed_planned_restart
  • pytest -q -n 0 tests/hermes_cli/test_gateway_service.py

Closes #15187

Changed files

  • tests/hermes_cli/test_gateway_service.py (modified, +4/-0)

PR #15420: fix(nix): refresh tui + web npmDepsHash to unblock CI on every PR (#15244, #15272, #15314)

Description (problem / solution / changelog)

What does this PR do?

The `Nix Lockfile Check` on `main` has been failing across every open PR for several days because two pinned `fetchNpmDeps` hashes drifted out of sync with the actual `package-lock.json` contents in `ui-tui/` and `web/`.

The CI run prints the correct hash on each failure, so this is a one-character-precision drive-by — both new hashes are exactly what every recent `Nix Lockfile Check` run is reporting (e.g. run 24916813199 from a few minutes ago):

FileOld → New
`nix/tui.nix``RU4qSHgJPMyfRSEJDzkG4+MReDZDc6QbTD2wisa5QE0=` → `/lL0IXurF4WlyFYVVwDI0Btcx0uChHdmKQ8ZW3NQf5E=`
`nix/web.nix``TS/vrCHbdvXkPcAPxImKzAd2pdDCrKlgYZkXBMQ+TEg=` → `4Z8KQ69QhO83X6zff+5urWBv6MME686MhTTMdwSl65o=`

The drift was caused by recent dependency-touching commits in:

  • `ui-tui/`: PTY WebSocket bridge (`f49afd31`), package.json updates across the chat-unification series (`c61547c0`), `fix(tui): warn on bare null sections in config.yaml` (`bfa60234`)
  • `web/`: docs embedding (`0fdbfad2`), sidebar layout (`e5d2815b`), dashboard extension points (`f593c367`)

None of those PRs ran the `nix flake update` follow-up, so the cached hashes never got refreshed.

Related Issues

  • Closes #15244 (`nix ubuntu check failing on main again`)
  • Closes #15272 (`nix CI broken on main — npmDepsHash out of date`)
  • Closes #15314 (`hermes-tui npmDepsHash is out of date`)

Type of Change

  • 🐛 Bug fix (CI infrastructure)
  • No tests required — pure config update; the existing `Nix Lockfile Check` workflow IS the regression guard for this kind of drift

Test plan

  • Both new hashes are taken verbatim from `Nix Lockfile Check` failure output: the CI computes the correct hash from the actual `package-lock.json` and prints "To correct the hash mismatch for npm-deps, use ..."
  • No production code touched — only the two pinned hashes
  • Once merged: every open PR's `Nix Lockfile Check` lane goes from FAILURE to SUCCESS on its next CI run

Why a separate PR (vs piggybacking on another fix)

This fix unblocks ~30 open PRs at once, including all of mine. Keeping it isolated makes the merge low-risk (1 line per file), explicit in git history, and easy to cherry-pick onto release branches if needed.

Out of scope

  • Automating the hash refresh on every `package-lock.json` change (would need a CI job to compute and commit the hash). `#13136` proposed this with `automatic lockfile fixing to keep main building with nix` but was reverted in `688c9f5b`. Restoring that automation is a bigger conversation; this PR is a narrow unblock for today.

Changed files

  • nix/tui.nix (modified, +1/-1)
  • nix/web.nix (modified, +1/-1)

Code Example

ERROR: npmDepsHash is out of date
The package-lock.json in src is not the same as the in /nix/store/...-npm-deps.
RAW_BUFFERClick to expand / collapse

Bug Description

Nix / nix (ubuntu-latest) is currently red on main due to a stale npmDepsHash for hermes-web.

This appears to be the same failure class as #12965, but recurring on current main.

Steps to Reproduce

  1. Checkout main at commit 62c14d5513469e27474fc9535fcdd4afa016646f.
  2. Run the Nix flake check path used by CI (Nix workflow, ubuntu).

Expected Behavior

nix (ubuntu-latest) should pass on main.

Actual Behavior

CI fails in Check flake with:

ERROR: npmDepsHash is out of date
The package-lock.json in src is not the same as the in /nix/store/...-npm-deps.

Environment

  • CI: GitHub Actions, ubuntu-latest
  • Workflow: Nix

Evidence

Notes

I attempted to reopen #12965 directly, but reporter permissions do not allow ReopenIssue from my account, so filing this recurrence as a fresh bug report.

Proposed Fix

Regenerate npmDepsHash for hermes-web and update the pinned hash in Nix files, then add/keep a guard to catch lockfile/hash drift early in CI.

extent analysis

TL;DR

Regenerate the npmDepsHash for hermes-web and update the pinned hash in Nix files to resolve the CI failure.

Guidance

  • Verify that the package-lock.json in src is up-to-date and reflects the current dependencies.
  • Regenerate the npmDepsHash for hermes-web using the updated package-lock.json.
  • Update the pinned hash in Nix files to match the newly generated npmDepsHash.
  • Consider adding a guard in CI to catch lockfile/hash drift early and prevent similar failures.

Example

No code snippet is provided as the issue does not require a specific code change, but rather a process to update the npmDepsHash and pinned hash.

Notes

This fix assumes that the issue is indeed caused by a stale npmDepsHash and that regenerating and updating the hash will resolve the CI failure. If the issue persists, further investigation may be required.

Recommendation

Apply the proposed fix to regenerate the npmDepsHash and update the pinned hash, as it directly addresses the error message and is a targeted solution to the problem.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

hermes - ✅(Solved) Fix [Bug]: Nix ubuntu check failing on main again due to stale hermes-web npmDepsHash (recurrence of #12965) [2 pull requests, 1 participants]