Skip to content

[human] libuv修正入りのNodeの公開を確認し、Windowsサンドボックスでの動作確認と利用者向けのNode更新案内を決める #734

Closed

Description

@yusei531642

やってほしいこと

  • libuv 1.53.0 以上を含む Node の公開版が出たかを確認してください(出るまでは待機です)。
  • 出たら、その Node を使って、Windows の packaged アプリ(AppContainer のサンドボックス)で npm test、fork、パイプ付きの子プロセスが終わることを実機で確認してください。
  • あわせて、利用者向けに「Node を更新してください」と案内するかどうか、案内の中身を決めてください。

元Issue

#549(Windows サンドボックス内で npm test や fork など子プロセスを起動するコマンドが終わらない)

1. 完了した範囲と未完了の範囲

完了

未完了

  • 修正入りの libuv を含む、Node の公開版の確認(待機中)。
  • その版での、Windows packaged AppContainer の実機確認。
  • 利用者向けの Node 更新案内の判断。
  • 同梱 Node を、修正入りの版に上げること(公開後)。

2. 移管理由(AI だけでは完了できない理由)

  • 公開待ちは外部条件で、AI の作業では進みません。時間が経っただけで PASS や close にはできません。
  • 実機での確認は、Windows の packaged アプリと、利用者の PATH に入れた Node が必要です。
  • 利用者へ Node の更新を案内する内容は、製品の方針の判断です。

3. 現在の Node 各系列の libuv の版(Issue の記載、2026-09-29 の確認)

Node の版 同梱の libuv 修正(#5181)を含むか
22.23.3(2026-09-23 公開。同梱中の版) 1.51.0 含まない
24.21.0 1.52.1 含まない
26.10.0(2026-09-22 公開) 1.52.1 含まない
参考: Node 22.14 1.49.2 含まない

各タグの deps/uv/src/win/pipe.c の uv__unique_pipe_name は、従来の \\?\pipe\uv\... を生成し、#5181 の AppContainer の判定と LOCAL の分岐がありません。libuv 1.53.0 は 2026-09-24 に公開されたため、これらの Node の公開より後です。

4. 確認に使うビルド・コミット

  • main の f0c63d1 以降のコミットから作った Windows の packaged アプリを使ってください。
  • 利用者の PATH に、libuv 1.53.0 以上を含む公開版の Node を入れた状態で確認します。サンドボックス内の npm test などは、同梱の node.exe ではなく、利用者の PATH にある Node で動きます(同梱の node.exe は、サンドボックスの外で動く Windows Job のラッパーと Team MCP 用)。
  • 実施時に、Node の版、libuv の版(Node の process.versions.uv で確認)、アプリの SHA、Windows の版を記録します。

5. 手順と受入条件

公開の確認:

  • Node の公開版(22 系、24 系、26 系など)のリリースノートか、各タグの deps/uv で、libuv が 1.53.0 以上になっていることを確認する。
  • 確認した版の番号と、確認日を、本 Issue に記録する。

実機の確認(公開後):

案内と同梱版の判断:

  • 利用者向けに、「サンドボックスで子プロセスを使うコマンドを動かすには、libuv 1.53.0 以上を含む Node に更新する」という案内を出すか決める(案内の置き場所は、設定の画面、ドキュメント、拒否理由のメッセージなどから選ぶ)。
  • 同梱の Node を、修正入りの版へ上げる(PR chore(build): 同梱とCIのNodeを22.23.3へ上げる #636 と同じ手順。版、node.exe の SHA-256、署名の発行元と thumbprint を公式の配布物と照合する)。

6. 影響する Issue・機能と引き継ぐ依存

7. 親の推奨・選択による影響

  • 推奨: 公開版を確認するまで、何もせずに待機してください。製品側の実行期限(watchdog)案は、2026-09-24 の合意により採っていません。
  • 同梱版を上げるだけでは解消しません。サンドボックス内のコマンドは、利用者の PATH にある Node で動くため、利用者側の Node の更新と、その案内も必要です。
  • 案内を出さない場合: 古い Node を使う利用者は、これまでどおり npm test などが返らない状態が続きます(fix: diagnose unsupported Node child pipes inside Windows sandbox #686 の診断で、パイプが原因の場合は早期に理由つきで拒否されます)。
  • 案内を出す場合: 最低限の版(libuv 1.53.0 以上を含む Node の版)が公開された後に、版を明記して案内してください。公開前に案内を出すと、存在しない版を示すことになります。

事実確認できなかった点

  • 2026-09-29 以降に、libuv 1.53.0 以上を含む Node が公開されたか(Issue の記載は 09-29 時点)。
  • Node 24 系と 22 系の、今後の取り込み予定の版。
  • 修正入りの Node が、AppContainer で実際に子プロセスを作れるか(実機は未確認)。

🤖 Generated with Claude Code

Activity

  1. added
    human人間の判断・実機確認が必要
    on Oct 3, 2026
  2. YOSSII812001 commented on Oct 5, 2026

    @YOSSII812001
    Contributor

    公開版確認(2026-10-05)

    Node公式配布indexを再確認しました。22/24/26系の最新公開版は次のとおりで、libuv 1.53.0以上を含む候補はまだありません。

    Node 公開日 libuv
    22.23.3 2026-09-23 1.51.0
    24.21.0 2026-09-07 1.52.1
    26.10.0 2026-09-21 1.52.1

    OPEN維持(外部依存)。修正を含む公式Nodeが公開され、候補のversion・hash・署名・libuvを確認できた時点で、承認済みの更新計画とWindows AppContainerの実コマンド検証へ進みます。候補がない状態ではbundle更新やnpm/fork/pipe試験は行いません。

    #733 のNUL DACL調査は完了しましたが、本件のpipe障害とは別原因です。Grok受入 #730 の合否にも本件の未公開条件を混ぜません。

  3. yusei531642 commented on Oct 6, 2026

    @yusei531642
    CollaboratorAuthor

    判断(2026-10-06、オーナーから委任)

    オーナーから「製品にとってよいなら修正してよい」と判断を任されたので、次のように決めました。

    1. 製品側の対応(PR #744)
    node --test の事前拒否が Node のバージョンを見ていなかったため、修正入りの Node が出ても拒否し続ける問題がありました。そこで、現在公開されている版(22.23.3、24.21.0、26.10.0 以下)は従来どおり拒否し、それより新しい版はサンドボックス内のガード(#686)に判断を任せるようにしました。ガードは実際の libuv を見るので、修正入りの Node が公開されれば、製品は追加の作業なしで子プロセスのパイプを使えるようになります。

    2. 利用者向けの Node 更新案内

    • 今は案内しません。更新先にできる版がまだ存在しないためです(上流の deps: update libuv to 1.53.0 nodejs/node#66282 は、10/06 時点で OPEN のまま CI が失敗しています)
    • 修正入りの版が公開されたら、その版の番号を release notes に書いて「Windows サンドボックスで npm test などを使うなら、この版以上に更新してください」と案内します。同時に、同梱の Node も修正入りの版に上げます

    3. 実機での確認
    修正入りの Node が公開されたら、この開発機(Windows)で packaged アプリを使い、npm test、fork、パイプ付きの子プロセスを確認します。人の操作は不要なので、human ラベルを外します。

    状態: OPEN のまま、上流の公開待ち。

    🤖 Generated with Claude Code

  4. removed
    human人間の判断・実機確認が必要
    on Oct 6, 2026
  5. YOSSII812001 commented on Oct 6, 2026

    @YOSSII812001
    Contributor

    対応状況(2026-10-06)

    関連 PR #744 を最新 head d2a0698b9979432e8e9d76e3b2542b888b1aa04c の必須CI成功、sprintreviewer LGTM、未解決review thread 0件、mergeability確認後にマージしました。merge commit cb174bab0628b271abb5d600695702b0ac73cab1 が main に含まれることを確認済みです。これは将来のNodeに対する事前拒否の解消であり、本Issueの実機受入完了ではありません。

    本日の公式 https://nodejs.org/dist/index.json 全件では libuv >=1.53.0 を含む公開Nodeは0件です。Node 22.23.3はlibuv 1.51.0、24.21.0/26.10.0は1.52.1です。libuv 1.53.0は公開済みですが、Node取り込みPR nodejs/node#66282 はOPENで、実機受入に使える公式Nodeはまだありません。

    • PR反映・最新head CI/レビュー確認: PASS
    • 修正入り公式Nodeの公開、packaged AppContainerのnpm test/fork/pipe再検証、同梱Node更新: SKIP(公式公開待ち)
    • NUL ACLや既存sandbox境界の緩和: 行っていません

    受入条件が未達のためOPENを維持します。公式Node公開後に、その実行ファイルとlibuv版を固定して既存のpackaged AppContainer受入から再開します。署名可能であることをこの公開待ちの解消や実機PASSに置き換えません。

  6. added 2 commits that reference this issue on Oct 14, 2026
  7. yusei531642 commented on Oct 14, 2026

    @yusei531642
    CollaboratorAuthor

    クローズ根拠(オーナー判断:監視を自動化して close)— 2026-10-14

    • 現状: 2026-10-14 時点で、libuv 1.53.0 以上を含む公式 Node は公開されていません。nodejs.org の dist index.json を見ると、最新は v26.11.1(libuv 1.52.1)です。上流の deps: update libuv to 1.53.0 nodejs/node#66282(deps: update libuv to 1.53.0)も OPEN のままです。外部の条件なので、こちらから早めることはできません。
    • 製品側の対応は完了しています: PR fix(sandbox): libuv修正入りのNodeが出たら node --test の事前拒否を自動で外す (#734) #744(merge cb174ba)で、既知の古い Node を事前に拒否し、それより新しい版は fix: diagnose unsupported Node child pipes inside Windows sandbox #686 のサンドボックス内ガードに任せる形にしました。
    • 監視の自動化: PR ci: #734 libuv 修正入り Node の公開を毎日監視し追跡 Issue を自動で起こす #767(merge 1bce129)で workflow Node libuv watch を追加しました。
      • 毎日 00:17 UTC に dist index.json を読みます。手動実行(workflow_dispatch)もできます。
      • libuv 1.53.0 以上の公式版が見つかったら、[human] の追跡 Issue(labels: windows, human)を1件だけ自動で起こします。重複は本文の監視マーカーで防ぎます。
      • 権限は job 単位の contents: read と issues: write だけです。判定は fail closed にしており、テストも付けています。
      • main で手動実行して動作を確かめました(run 38560084804 は success。現時点で該当する版はないため、Issue は起こしていません)。
    • 公開後に行うこと(自動で起こされる Issue に、本 Issue の手順2〜4として記載されます)
      • Windows サンドボックスでの実機確認(npm test、fork + IPC、パイプ付きの execFileSync、cmd.exe を子とする起動、直接の node --test)
      • NODE_LAST_RELEASE_WITH_OLD_LIBUV の確定
      • 同梱 Node の扱いの判断
      • 利用者向けの Node 更新案内
    • オーナーの判断(2026-10-14、チャットでの回答): 「監視を自動化して close」

    🤖 Generated with Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    windowsWindows 固有の問題

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions