6a198f8a12
* fix(install): fail when Node dependencies cannot install (#85297) The POSIX installer converted root and TUI npm failures into warnings, then printed a dependency-success message and reached the installation-complete banner with a zero exit status. This left consumers with no usable node_modules while reporting success. Treat both required npm installs as fatal: log an error, restore tracked lockfile churn, return status 1, and propagate the failure from the monolithic and node-deps stage callers. Successful installs, Termux and missing-Node skips, missing-manifest skips, and optional Playwright/Browser Use/Computer Use best-effort behavior remain unchanged. The fix is limited to the POSIX installer; the PowerShell installer is outside this issue's scope. Focused and adjacent installer tests passed (32), with bash syntax, py_compile, and diff checks clean. The broader installer family had 90 passes, one unrelated pre-existing failure, and two skips; the full suite was environment-limited by missing dependencies. CodeRabbit, iterative deep security/compatibility reviews, and final confidence security/compatibility reviews were clean against the final diff. Fixes #85297 * fix(install): require npm alongside node in check_node (#77003) A stray `node` symlink without a sibling `npm` (leftover from a node version manager) made check_node report "Node.js found"; every later npm install then failed and the desktop build died with an opaque "Node.js / npm unavailable". Node now only counts as found when npm resolves on the same PATH, with an explicit "stray node symlink?" branch that falls through to the Hermes-managed Node (which bundles npm). The overlapping success-log honesty half of the original PR is subsumed by the previous commit, which makes a failed npm install fatal rather than conditionally-logged; the behavioral tests there cover it, so this commit keeps only the check_node PATH-gate assertions. Fixes #77003. Co-authored-by: criptogus <criptogus@users.noreply.github.com> --------- Co-authored-by: Eugeniusz Gilewski <egilewski@egilewski.com> Co-authored-by: CriptoGus <128640021+criptogus@users.noreply.github.com> Co-authored-by: criptogus <criptogus@users.noreply.github.com>