)]}'
{
  "commit": "334a402f1dc96f9151b9ece7d09f44df5beb3080",
  "tree": "9d1651d92664cea38ea552bb91f77b3cb461de02",
  "parents": [
    "6238ef2ad7fa1a4baf7ea816f1f70d24c1a1171e"
  ],
  "author": {
    "name": "Josh Conner",
    "email": "joshconner@pigweed.infra.roller.google.com",
    "time": "Tue Oct 13 08:27:52 2026 -0700"
  },
  "committer": {
    "name": "CQ Bot Account",
    "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Oct 13 08:27:52 2026 -0700"
  },
  "message": "roll: third_party/pigweed pw_bluetooth_sapphire: Set L2CAP opened centrally\n\nDynamicChannel::opened_ was set manually by each channel type before\ninvoking the open callback, so any path that delivered an open channel\nwithout calling set_opened() (as the BR/EDR inconsistent-mode Basic\nfallback did before 2aabcf247) caused remote disconnects to skip\nclose_cb_ and leak the channel.\n\nMark the channel opened in DynamicChannelRegistry at the single point\nwhere an open channel is handed to the caller, and make set_opened()\nprivate so channel implementations can no longer get out of sync.\n\nOriginal-Bug: b/525194018\nTest: bazelisk test --config\u003dgoogletest \\\n        //pw_bluetooth_sapphire/host/l2cap:l2cap_test \\\n        //pw_bluetooth_sapphire/host/gap:gap_test \\\n        //pw_bluetooth_sapphire/host/sdp:sdp_test \\\n        //pw_bluetooth_sapphire/host/testing:all\n\nOriginal-Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/500893\nOriginal-Revision: 06cf2cf0cb4d5cf40f1aa46bdb254744f8c3f1ce\n\nRolled-Repo: https://pigweed.googlesource.com/pigweed/pigweed\nRolled-Commits: 4a96b36dad6baf..06cf2cf0cb4d5c\nRoll-Count: 1\nRoller-URL: https://cr-buildbucket.appspot.com/build/8668045552392821185\nGitWatcher: ignore\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: I685bbbbfcc09b5f6bf223ef0789ed25d41318011\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/examples/+/501394\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4a96b36dad6bafce2d3daa58c0e278d67a5061fe",
      "old_mode": 57344,
      "old_path": "third_party/pigweed",
      "new_id": "06cf2cf0cb4d5cf40f1aa46bdb254744f8c3f1ce",
      "new_mode": 57344,
      "new_path": "third_party/pigweed"
    }
  ]
}
