)]}'
{
  "commit": "f4cb73412317e1ec397f37ec8e218396dad18186",
  "tree": "49d582ffa02bca53cd4ba1a1fb4d2a694c42a018",
  "parents": [
    "76d17340a4269a4a02e947aa398a0cb095b280a1"
  ],
  "author": {
    "name": "martinduke",
    "email": "martinduke@google.com",
    "time": "Tue Apr 14 06:28:24 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Tue Apr 14 06:29:14 2026 -0700"
  },
  "message": "Limit Joining FETCH to largest_object at time of SUBSCRIBE.\n\nCurrently, MoqtOutgoingQueue (our only TrackPublisher implementation that supports FETCH) uses the current largest object for Joining Fetch, instead of the LargestObject at the time of SUBSCRIBE.\n\nThis change moves the responsibility to the session, which knows what the original LargestObject is.\n\nMoqtPublisher::RelativeFetch() and AbsouluteFetch() are now only called if the SUBSCRIBE is pending. Otherwise, the session calls for StandaloneFetch. For MoqtOutgoingQueue, the SUBSCRIBE is never pending so this is always an error.\n\nThis is a prerequisite to implementing the Joining FETCH aspects of REWIND.\n\nPiperOrigin-RevId: 899551017\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "00cbc1c7daee25e673ddd871a2660af76028a59c",
      "old_mode": 33188,
      "old_path": "quiche/quic/moqt/moqt_outgoing_queue.cc",
      "new_id": "b528528f28d84f9f1907008b322e0cbc79717ad5",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/moqt_outgoing_queue.cc"
    },
    {
      "type": "modify",
      "old_id": "d1dca0f810200d66a85d1fc1e6ec9c9009f74c9d",
      "old_mode": 33188,
      "old_path": "quiche/quic/moqt/moqt_outgoing_queue.h",
      "new_id": "2cc930952261e5a2796398bb782fb8d9a8a95c8f",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/moqt_outgoing_queue.h"
    },
    {
      "type": "modify",
      "old_id": "dd79dcbfcd3f19ecaae11cf678386a5e5702ce2a",
      "old_mode": 33188,
      "old_path": "quiche/quic/moqt/moqt_outgoing_queue_test.cc",
      "new_id": "60df5832310965a0d0838fcef46d006bd39fe280",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/moqt_outgoing_queue_test.cc"
    },
    {
      "type": "modify",
      "old_id": "25d75ea7e8227a002a6ee95f784ce3f9c52a57e1",
      "old_mode": 33188,
      "old_path": "quiche/quic/moqt/moqt_publisher.h",
      "new_id": "2d136558aac378d445955f436f054ca883bf8df5",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/moqt_publisher.h"
    },
    {
      "type": "modify",
      "old_id": "c69ac4de06203246a7c338daaf69fb7c18e10a9f",
      "old_mode": 33188,
      "old_path": "quiche/quic/moqt/moqt_session.cc",
      "new_id": "69020ba02990e2089021f80ec908508f6d1f11e2",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/moqt_session.cc"
    },
    {
      "type": "modify",
      "old_id": "8bb9060d8ab77ec116af5cdd138a084ac3644336",
      "old_mode": 33188,
      "old_path": "quiche/quic/moqt/moqt_session.h",
      "new_id": "70a00a7a793d2bacc9b4ebe524ca42aec6d482c6",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/moqt_session.h"
    },
    {
      "type": "modify",
      "old_id": "22c7d4b92a85d8461498299fb72c17a3ae29b754",
      "old_mode": 33188,
      "old_path": "quiche/quic/moqt/moqt_session_test.cc",
      "new_id": "48d3260f07efaf7551984984dbcda2f5ccace8d9",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/moqt_session_test.cc"
    }
  ]
}
