{
  "prNumber": 44395,
  "prTitle": "release: 13.39.2",
  "generatedAt": "2026-07-13T21:09:55.627Z",
  "modelUsed": "gpt-5",
  "summary": {
    "totalFilesChanged": 18,
    "totalCommitsInRelease": 7,
    "releaseRiskScore": "24/100",
    "highRiskScenarios": 1,
    "mediumRiskScenarios": 2
  },
  "testScenarios": {
    "cherryPickScenarios": [
      {
        "area": "Firefox notification and popup lifecycle (Connect, Sign, Approve)",
        "riskLevel": "high",
        "testSteps": [
          "1. In Firefox, open a dapp (e.g., https://metamask.github.io/test-dapp) and click Connect; approve the connection in the MetaMask popup window.",
          "2. Trigger a Personal Sign request; reject it and confirm the popup fully closes without leaving a blank or unresponsive window.",
          "3. Trigger a Signature (eth_signTypedData_v4) and a Transaction approval sequentially; approve both.",
          "4. Repeat steps 1–3 quickly two more times; observe that each popup opens, renders, and closes cleanly without ghost/zombie windows persisting.",
          "5. Check the extension background page console for errors referencing DocumentPictureInPicture or Snow/endowment hooks."
        ],
        "whyThisMatters": "Cherry-pick 44401 fixes a Firefox detached-window memory leak by altering the Snow hook; popup lifecycles (connect, sign, approve) are directly impacted and could regress into stuck or phantom windows, broken close behavior, or runtime errors."
      },
      {
        "area": "Transaction confirmation with detached opener (Firefox)",
        "riskLevel": "medium",
        "testSteps": [
          "1. From a dapp in Firefox, initiate an ETH transfer to trigger the MetaMask transaction confirmation window.",
          "2. While the confirmation window is open, close the originating dapp tab (detaching the confirmation from its opener).",
          "3. Approve the transaction; verify the confirmation window closes and the transaction appears in Activity with the correct status.",
          "4. Repeat with a new transaction but Reject; ensure no blank or unresponsive window remains and no error banners appear."
        ],
        "whyThisMatters": "Cherry-pick 44401 fixes a Firefox detached-window memory leak; flows where the opener is closed are most susceptible to lifecycle bugs, so we must ensure confirmations still complete and windows close correctly."
      },
      {
        "area": "Cross-browser regression check for popups (Chromium-based)",
        "riskLevel": "medium",
        "testSteps": [
          "1. In Chrome or Edge, perform Connect, Personal Sign, and a Transaction approval from a test dapp, ensuring each popup opens and closes normally.",
          "2. Rapidly trigger two back-to-back signature requests; reject one and approve the other; confirm correct state updates and no overlapping or orphaned popups.",
          "3. Check extension/background console for any errors mentioning DocumentPictureInPicture or Snow/endowment hooks."
        ],
        "whyThisMatters": "Cherry-pick 44401 fixes a Firefox-specific issue but changes shared Snow hook behavior; we must verify it introduces no regressions in Chromium-based browsers for popup creation/teardown."
      }
    ],
    "initialScenarios": []
  }
}