Skip to content

fix(desktop): the staged runtime was still shipping axios 0.27.2 - #376

Merged
VickyXAI merged 1 commit into
mainfrom
fix/desktop-runtime-axios
Sep 10, 2026
Merged

fix(desktop): the staged runtime was still shipping axios 0.27.2#376
VickyXAI merged 1 commit into
mainfrom
fix/desktop-runtime-axios

Conversation

@VickyXAI

@VickyXAI VickyXAI commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

Summary

The repo's 35 open Dependabot alerts aren't where anyone has been looking. 26 of them are against apps/desktop/runtime/pnpm-lock.yaml, not the root lockfile — which is why root-side override work never moved the number.

v0.12.238 pinned axios forward at the root ("axios": "$axios"), and that worked: the root tree carries exactly one copy, at 1.19.0. But the Desktop staged runtime is a separate pnpm install with its own overrides block, so no root pin reaches it. @polymarket/builder-relayer-client@0.0.10 has been pulling axios: 0.27.2 into it ever since — into the tree electron-builder packages and ships as the app.

Same dependency, same fix, second install nobody applied it to.

The change

Mirror the pin into runtime/pnpm-workspace.yaml and relock. The relock is surgical — 14 lines:

  • axios@0.27.2 gone, along with its follow-redirects / form-data transitives
  • everything resolves onto axios@1.20.0, which the tree already carried
  • the single @blockrun/clawrouter pin is untouched, so runtime-version.test.ts still passes (2/2)
$ grep -oE "axios@[0-9][^:( ]*" apps/desktop/runtime/pnpm-lock.yaml | sort -u
axios@1.20.0        # (the other match is gaxios@7.3.1)

What this does not cover

The remaining 9 root alerts are 8 development-scope (fast-uri, vitest, hono — openclaw and test transitives) plus elliptic <= 6.6.1, which resolves to 6.6.1 with no patched version published. Nothing actionable there.

Worth deciding separately whether the runtime workspace should carry the rest of the root security pins as a matter of policy, rather than one dependency at a time — the structural problem is that two lockfiles ship and only one has ever been hardened.

🤖 Generated with Claude Code

https://claude.ai/code/session_015mUab3xrLHNpYqVHJLgJHL

Summary by CodeRabbit

  • Security
    • Added a security pin for Axios in the desktop runtime environment to help ensure a consistent protected dependency version.

v0.12.238 pinned axios forward at the root with `"axios": "$axios"`,
which is why the root tree carries exactly one copy at 1.19.0. The
Desktop staged runtime is a SEPARATE pnpm install with its own overrides
block, so none of the root pins reach it, and
`@polymarket/builder-relayer-client@0.0.10` has been dragging axios
0.27.2 into it ever since — into the tree electron-builder packages and
ships as the app.

That is 26 of the repo's 35 open Dependabot alerts, all against
apps/desktop/runtime/pnpm-lock.yaml rather than the root lockfile, which
is why root-side override work never moved the number.

Mirrors the root pin into runtime/pnpm-workspace.yaml and relocks. The
relock is surgical — 14 lines: axios 0.27.2 and its follow-redirects /
form-data transitives drop out, everything resolves onto the 1.20.0 the
tree already carried, and the single @blockrun/clawrouter pin is
untouched (runtime-version.test.ts passes).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015mUab3xrLHNpYqVHJLgJHL
@coderabbitai

coderabbitai Bot commented Sep 10, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: f3a25f51-e481-4b64-bb9e-66f5562d0888

📥 Commits

Reviewing files that changed from the base of the PR and between 04d5c01 and a9c7a90.

⛔ Files ignored due to path filters (1)
  • apps/desktop/runtime/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (1)
  • apps/desktop/runtime/pnpm-workspace.yaml

Included review availability: Your plan provides up to 8 included reviews per hour; 6 remain after this review.


📝 Walkthrough

Walkthrough

The runtime pnpm workspace now pins axios to ^1.19.0. Comments document that the runtime uses a separate pnpm install.

Changes

Runtime security pin

Layer / File(s) Summary
Add runtime axios override
apps/desktop/runtime/pnpm-workspace.yaml
Adds an axios: ^1.19.0 override and documents why the root override does not apply to the runtime install.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Suggested reviewers: killerqueen-z

Merge Risk: ⚪ Minimal · up to a9c7a

The staged desktop runtime now pins axios to the maintained resolution, removing the older runtime dependency path without introducing an identified merge-readiness risk.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the Desktop staged runtime and the outdated axios 0.27.2 dependency. It accurately summarizes the primary change.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/desktop-runtime-axios

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@VickyXAI
VickyXAI merged commit be50725 into main Sep 10, 2026
5 checks passed
@VickyXAI
VickyXAI deleted the fix/desktop-runtime-axios branch September 10, 2026 04:52
VickyXAI added a commit that referenced this pull request Sep 10, 2026
…380)

Audited all 13 root overrides against what the lockfile actually
resolves, after finding that the Desktop runtime had never had any of
them (#376). Three results.

`hono` was pinned `^4.13.0` and resolving to 4.13.1, which is inside the
advisory range for both the `toSSG()` write and the query-parser issue
(fixed in 4.13.5). Pinned `^4.13.5`; it resolves to 4.13.7. Three lines
of lockfile.

`basic-ftp` and `jayson > uuid` pin nothing — none of `basic-ftp`,
`jayson` or `uuid` is in the tree at all. They are leftovers from
dependencies that have since gone, and an override that matches nothing
is worse than no override: it reads as protection. Removed, with no
change to any resolution.

The other nine are doing their job: axios 1.19.0, undici 8.10.0, ws
8.21.3, postcss 8.5.26, esbuild 0.28.1, brace-expansion 5.0.9, fast-uri
3.1.5, tar 7.5.22, ip-address 10.4.0 — one copy each.

NOT bumped: vitest `^4.1.3` (resolves 4.1.10) against the @vitest/mocker
path-traversal advisory, fixed in 4.1.11. Every route to it —
`vitest@^4.1.11`, `vitest@4.1.11` exact — crashes Arborist in
`#loadPeerSet` with "Cannot read properties of null (reading
'edgesOut')", the same failure as #373, and retrying does not clear it;
unmodified main resolves fine. vitest declares exact-version peers on a
dozen optional `@vitest/*` packages, which is the likely trigger. It is
development scope and not shipped, so it is not worth a hand-edited
lockfile on a package that publishes real-money code. Left for when npm
or vitest moves.

Verified by clean `npm ci` from this lockfile in a scratch tree:
hono 4.13.7, tsc clean, 1088 tests pass.


Claude-Session: https://claude.ai/code/session_015mUab3xrLHNpYqVHJLgJHL

Co-authored-by: 1bcMax <viewitter@gmail.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant