Skip to content

Merge develop into v0.4.x, resolving conflicts#467

Merged
RetricSu merged 6 commits into
v0.4.xfrom
resolve/develop-into-v0.4.x
Jul 24, 2026
Merged

Merge develop into v0.4.x, resolving conflicts#467
RetricSu merged 6 commits into
v0.4.xfrom
resolve/develop-into-v0.4.x

Conversation

@humble-little-bear

Copy link
Copy Markdown
Collaborator

Why

A PR from develop to v0.4.x (compare) could not merge cleanly — 18 files in conflict. This PR lands the conflict resolution on the v0.4.x side without touching develop, so developv0.4.x merges cleanly afterwards.

Root cause

v0.4.x (at d82b3a9) is content-identical to the v0.4.9 tag, which is in turn identical to develop@1a362aa. Both branches received the same 0.4.9 changes via different commit paths (release-branch merge vs. #457/#458 on develop), so git saw duplicate changes to the same lines as conflicts. Develop's only real delta since then is #463 (status: Terminal RPC + TCP streaming), #465 (security dep bumps), and #466 (rename --allow-mainnet-replay-risk--allow-external-key-on-mainnet-fork with a deprecated-alias shim + leftover 0.4.9 review fixes).

Resolution

Every conflict was resolved toward develop's newer state — v0.4.x had no unique content to preserve (verified: git diff v0.4.9 v0.4.x is empty). The merged tree is byte-identical to origin/develop (verified: git diff origin/develop is empty after the merge).

Verification

  • pnpm typecheck
  • pnpm build
  • pnpm lint ✅ (0 errors, 4 pre-existing warnings)
  • pnpm test ✅ 27/27 suites, 208 passed / 7 skipped
  • Post-merge, developv0.4.x has no remaining diff/conflicts

🤖 Generated with Claude Code

RetricSu and others added 6 commits July 21, 2026 10:56
* fix canary devrel reliability issues

* fix fork copy isolation on windows

* remove implicit fork source discovery

* address PR review feedback

* address follow-up review feedback

* fix daemon test on Windows runners

* complete failed daemon cleanup

* harden daemon startup recovery
…463) (#464)

* fix(status): enable Terminal RPC module and TCP streaming for devnet

ckb-tui panels were always empty on devnet because the bundled devnet
ckb.toml did not meet ckb-tui's two data requirements:

- the Terminal RPC module (provides get_overview system metrics), which
  upstream CKB now enables by default, was missing from rpc.modules, so
  the overview dashboards showed N/A
- rpc.tcp_listen_address was commented out and the status command never
  passed -t, so the mempool (new/rejected transactions) and logs
  dashboards had no subscription stream to read from

Enable both in the devnet config template and have the status command
read tcp_listen_address from the running node's ckb.toml and pass it to
ckb-tui via -t (wildcard binds are dialed as localhost). Testnet and
mainnet keep HTTP-only behavior since their proxied public RPCs expose
no TCP stream.



* chore: add patch changeset for status devnet fix

* fix(devnet): bind RPC to loopback instead of 0.0.0.0

Address CodeRabbit review on PR #463: with the Terminal module enabled,
binding the unauthenticated JSON-RPC to 0.0.0.0 exposes host system
metrics (and the rest of the RPC surface) to any host on the network.
Bind to 127.0.0.1 by default; all offckb-internal consumers (proxy,
ckb-tui, miner, forks) already talk to 127.0.0.1:8114. Users who need
remote access can edit rpc.listen_address via the config editor.

* fix(devnet): align embedded reference template with devnet ckb.toml

Add Terminal to rpc.modules and enable tcp_listen_address in the config
editor's embedded template so configurations based on it also provide the
metrics stream that offckb status needs.



---------

Co-authored-by: claude-bear <noreply@anthropic.com>
…-parser for security advisories (#465)

- tar ^7.5.3 -> ^7.5.19 (locked 7.5.21): fixes GHSA-23hp-3jrh-7fpw (critical),
  GHSA-8x88-c5mf-7j5w (high), GHSA-w8wr-v893-vjvp / GHSA-gvwx-54wh-qm9j (moderate)
- brace-expansion -> 1.1.16 / 5.0.7 via overrides: fixes GHSA-3jxr-9vmj-r5cp (high)
- js-yaml 4.x -> 4.3.0 via override: fixes GHSA-52cp-r559-cp3m (high)
- hono -> 4.12.27 via override: fixes GHSA-xgm2-5f3f-mvvc, GHSA-hvrm-45r6-mjfj,
  GHSA-w62v-xxxg-mg59 (moderate, dev-only)
- fast-uri -> 3.1.4 via override: fixes GHSA-v2hh-gcrm-f6hx, GHSA-4c8g-83qw-93j6
  (high, dev-only)
- body-parser 2.x -> 2.3.0 via override: fixes GHSA-v422-hmwv-36x6 (low, dev-only)

Not fixed: elliptic GHSA-848j-6mx2-7j84 (no patched release published) and
@hono/node-server GHSA-frvp-7c67-39w9 (fix requires breaking 1.x -> 2.x bump that
violates @modelcontextprotocol/sdk's ^1.19.9 range; dev-only, Windows-only).

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…w fixes (#466)

* fix: rename mainnet-fork override flag and apply leftover 0.4.9 review fixes

- Rename --allow-mainnet-replay-risk to --allow-external-key-on-mainnet-fork (#460)
- Enforce the Mainnet-fork replay guard in transfer-all, udt issue/destroy,
  and deploy, threading the fork boundary into input selection (#462)
- Validate --tx-hash before it is used in debug cache paths
- Only read the fork boundary after the spawned process binds the RPC port
- Reject symlinked entries when copying fork source chain data
- Accept extended xUDT type args (owner hash + flags/extension)
- Per-kind UDT scan budgets, deep-cloned settings fallbacks, accurate
  config-set errors, preserved devnet-config error, execFile process lookup,
  aligned ckb-tui download timeouts, EXDEV-safe install, README TOC entry

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: address PR #466 review comments

- Keep --allow-mainnet-replay-risk as a hidden deprecated alias folded into
  --allow-external-key-on-mainnet-fork (with a deprecation warning) so 0.4.9
  scripts keep working under a patch release
- Treat lsof probe failures with stderr output as indeterminate (null)
  instead of "not listening"; only an empty-stderr exit is a genuine
  no-match, so permission errors fall back to the weaker genesis signal
- Reject a symlinked data root before enumerating source chain data
- Stage cross-device ckb-tui installs inside binDir and publish with an
  atomic rename, so concurrent installs never see a truncated binary

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: bound the lsof port probe with a timeout

A hung lsof would block execFileSync (and with it daemon startup)
indefinitely, and its empty-stderr timeout error would be misread as a
genuine no-match. Cap the probe at 5s and classify ETIMEDOUT as
indeterminate (null) so the genesis fallback proceeds.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* test: make lsof probe tests platform-independent

isProcessListeningOnPort short-circuits to null on win32, so the lsof
outcome-mapping tests failed on the Windows CI runner (mock never
called). Force a unix platform for the lsof-probing cases, cover the
win32 short-circuit explicitly, and pin the probe timeout to exactly
5000 ms per review feedback.

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
v0.4.x content was already identical to the v0.4.9 tag (= develop@1a362aa),
having received the same changes via the release branch. Conflicts were
duplicate changes arriving by different commit paths. Resolved toward
develop's newer state everywhere (#463 Terminal RPC/status, #465 security
dep bumps, #466 mainnet-fork flag rename + deprecated alias shim).

The resulting tree is identical to origin/develop (verified: git diff
origin/develop is empty), so develop now merges cleanly into v0.4.x.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jul 24, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

🗂️ Base branches to auto review (5)
  • master
  • dev
  • releases/.*
  • develop
  • next-major

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 754cff32-b597-4d41-9387-cf42134fbf7f

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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

@RetricSu
RetricSu merged commit d5a961c into v0.4.x Jul 24, 2026
2 checks passed
@RetricSu
RetricSu deleted the resolve/develop-into-v0.4.x branch July 24, 2026 06:42
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.

2 participants