)]}'
{
  "commit": "4b2d81f4c73dd007414121019c490ade3e461287",
  "tree": "1341cc02b292d22d06d9ec1133ab5b4f29800488",
  "parents": [
    "0c6b87dd46ffe9d84cdeb1f4ccc054ceef009bdb"
  ],
  "author": {
    "name": "martinduke",
    "email": "martinduke@google.com",
    "time": "Wed Aug 12 13:25:30 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed Aug 12 13:26:24 2026 -0700"
  },
  "message": "Move PUBLISH_NAMESPACE to a bidi stream.\n\nRemove the argument to PN\u0027s cancel_callback because it\u0027s a RESET_STREAM error code instead of the full Request Error registry.\n\nChange the std::optional\u0026 MessageParameters argument in IncomingPublishNamespaceCallback to MessageParameters* to avoid a copy.\n\nCalling MoqtSession::PublishNamespaceUpdate(), Done(), or Cancel() is now a QUICHE_BUG because the application provides callbacks to be notified when a PN closes.\n\nChanges the application API, slightly, and therefore touches many files.\n\nPart of draft-18 update.\n\nPiperOrigin-RevId: 963627080\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "64dfb018e4db6452053f8a5e8a0cb7765e8a55cd",
      "old_mode": 33188,
      "old_path": "build/source_list.bzl",
      "new_id": "d810ecdee9ba4e74504f605a8830ff09aba9227f",
      "new_mode": 33188,
      "new_path": "build/source_list.bzl"
    },
    {
      "type": "modify",
      "old_id": "bd07125cf05aa3fa84f40341755c9991c617eb10",
      "old_mode": 33188,
      "old_path": "build/source_list.gni",
      "new_id": "b4ac9052bf1c7d077cbb016b6a5837c94aa0eeb5",
      "new_mode": 33188,
      "new_path": "build/source_list.gni"
    },
    {
      "type": "modify",
      "old_id": "1212ca476d672dff84506fdfb73d3c795c4fb4d9",
      "old_mode": 33188,
      "old_path": "build/source_list.json",
      "new_id": "f27cc1053112261a41d8d139ac7f9c5cc42e5a5b",
      "new_mode": 33188,
      "new_path": "build/source_list.json"
    },
    {
      "type": "modify",
      "old_id": "81bd37afc328c077e11dc8f9dbef81bc967c62df",
      "old_mode": 33188,
      "old_path": "quiche/quic/moqt/moqt_framer.cc",
      "new_id": "fa3930a2491a9b1298be72bd06d9a44a10d615f4",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/moqt_framer.cc"
    },
    {
      "type": "modify",
      "old_id": "e4499863813fb4183a4912538ec9e649f4c0311d",
      "old_mode": 33188,
      "old_path": "quiche/quic/moqt/moqt_framer.h",
      "new_id": "c3beed34da58229100b939857db8cce0eefb3f44",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/moqt_framer.h"
    },
    {
      "type": "modify",
      "old_id": "3a6992ae8352f93acfa490e3327cf76247d5aa3c",
      "old_mode": 33188,
      "old_path": "quiche/quic/moqt/moqt_framer_test.cc",
      "new_id": "90463dca92f6fe0bc13bdfc4694618b718dd9a4e",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/moqt_framer_test.cc"
    },
    {
      "type": "modify",
      "old_id": "4cfa3b768348c00dcf860fc87d2470fde1d3f8df",
      "old_mode": 33188,
      "old_path": "quiche/quic/moqt/moqt_integration_test.cc",
      "new_id": "934b90249e76696e6c905513aa3f5e2253099e92",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/moqt_integration_test.cc"
    },
    {
      "type": "modify",
      "old_id": "d0182638fb479b230ba3065c8ab810b7708e4862",
      "old_mode": 33188,
      "old_path": "quiche/quic/moqt/moqt_messages.cc",
      "new_id": "c331e4f4d577839d1c2eef5a2f8dad18a7f96f63",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/moqt_messages.cc"
    },
    {
      "type": "modify",
      "old_id": "98fa82e2f171a9ffc5a6c606805b4580de34e301",
      "old_mode": 33188,
      "old_path": "quiche/quic/moqt/moqt_messages.h",
      "new_id": "f79dc04cc4ac07ce93f8b02d72c8bc37497d4d5f",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/moqt_messages.h"
    },
    {
      "type": "modify",
      "old_id": "c7aa9802f1f71248d538157502ad213f241be233",
      "old_mode": 33188,
      "old_path": "quiche/quic/moqt/moqt_parser.cc",
      "new_id": "ab6babe0c9e8342a744b7ca1a23c3e9d99326f0d",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/moqt_parser.cc"
    },
    {
      "type": "modify",
      "old_id": "d28e203abeabb9e1106f952924985aba07a6c4aa",
      "old_mode": 33188,
      "old_path": "quiche/quic/moqt/moqt_parser.h",
      "new_id": "0a2e46ee640bd99e1e599e17e5144f7a519e7d51",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/moqt_parser.h"
    },
    {
      "type": "modify",
      "old_id": "3407da41675895862bf427d608cd9e4be9eb22cf",
      "old_mode": 33188,
      "old_path": "quiche/quic/moqt/moqt_parser_test.cc",
      "new_id": "c393367723b745ed1551a87b0d642cf69c88a896",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/moqt_parser_test.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "522fd0c2ebafb7137c6a7902ab04f40f50e84e8a",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/moqt_publish_namespace_stream.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1ad38d657af60476d75fc3f10334b4636ef0ba18",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/moqt_publish_namespace_stream.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f244f802922b3a630c2258f20ee00a3bc8f7bd74",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/moqt_publish_namespace_stream_test.cc"
    },
    {
      "type": "modify",
      "old_id": "4b7c3a6ede70a96d7bf98d6fd4b1f992157ca230",
      "old_mode": 33188,
      "old_path": "quiche/quic/moqt/moqt_session.cc",
      "new_id": "36a7056053537bac976be45a6b32e8062a2a082f",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/moqt_session.cc"
    },
    {
      "type": "modify",
      "old_id": "7f88f09ba4553329a04672e505b8f973cbf80119",
      "old_mode": 33188,
      "old_path": "quiche/quic/moqt/moqt_session.h",
      "new_id": "7e4904f8beb9465e602cd5e93d0cb9c6937e79c3",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/moqt_session.h"
    },
    {
      "type": "modify",
      "old_id": "224ffac8a39c11d5dc4f5c8b6214420474bd5e70",
      "old_mode": 33188,
      "old_path": "quiche/quic/moqt/moqt_session_callbacks.h",
      "new_id": "c8b8356df0021aeb258260625aa4399ccf9c2973",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/moqt_session_callbacks.h"
    },
    {
      "type": "modify",
      "old_id": "1af02d8f3d82e4267aff435fcaac11d8afe3ac9a",
      "old_mode": 33188,
      "old_path": "quiche/quic/moqt/moqt_session_interface.h",
      "new_id": "c2f41f532c0b9e34c6aff34e9c90675af0621983",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/moqt_session_interface.h"
    },
    {
      "type": "modify",
      "old_id": "436fc6815809e331aef668cb84e89b8335000541",
      "old_mode": 33188,
      "old_path": "quiche/quic/moqt/moqt_session_test.cc",
      "new_id": "bd8119945ef7a048f8b977e3e8fe3cb675a291b7",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/moqt_session_test.cc"
    },
    {
      "type": "modify",
      "old_id": "e6e719d10b8161d68f903dcbcba7cdf8e70baa86",
      "old_mode": 33188,
      "old_path": "quiche/quic/moqt/test_tools/mock_moqt_session.h",
      "new_id": "de07a2517bfb628f3624ae9a8a8d311fd880d8b5",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/test_tools/mock_moqt_session.h"
    },
    {
      "type": "modify",
      "old_id": "f9c30529c5270eb060ba8eaea86bff4dd36c8f62",
      "old_mode": 33188,
      "old_path": "quiche/quic/moqt/test_tools/moqt_framer_utils.cc",
      "new_id": "aa456155005fb67e11e98ca8d4cbbda84c709716",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/test_tools/moqt_framer_utils.cc"
    },
    {
      "type": "modify",
      "old_id": "abea3ce6dc288a2f06fcd248b4e4343d62a9ad4a",
      "old_mode": 33188,
      "old_path": "quiche/quic/moqt/test_tools/moqt_framer_utils.h",
      "new_id": "c0d9ee333797aa0e3094ddc39d8459b73f0a430d",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/test_tools/moqt_framer_utils.h"
    },
    {
      "type": "modify",
      "old_id": "69d82692db2219ce8d95b46a1cd2f78e30784bb1",
      "old_mode": 33188,
      "old_path": "quiche/quic/moqt/test_tools/moqt_mock_visitor.h",
      "new_id": "92a9e4cb5a54c041b1f04f673bf4c5f2a518efe0",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/test_tools/moqt_mock_visitor.h"
    },
    {
      "type": "modify",
      "old_id": "76b5c67d4258bb2f2155cfd91caf12bb1e8400f0",
      "old_mode": 33188,
      "old_path": "quiche/quic/moqt/test_tools/moqt_test_message.h",
      "new_id": "732a817eddbcf828e2e0a79d2f50cd2d951621bc",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/test_tools/moqt_test_message.h"
    },
    {
      "type": "modify",
      "old_id": "86b2750f4d3e6b37539989d0b671b556ba25e3d9",
      "old_mode": 33188,
      "old_path": "quiche/quic/moqt/tools/chat_client.cc",
      "new_id": "969f1a603a195ab1aa37ccb4ea6ec0ba35e0750f",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/tools/chat_client.cc"
    },
    {
      "type": "modify",
      "old_id": "b41f898281f7a5ec9e418283343e76c91ec334ab",
      "old_mode": 33188,
      "old_path": "quiche/quic/moqt/tools/chat_client.h",
      "new_id": "00f866bfb391a79662fce4c8fcba069dd1f60bfd",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/tools/chat_client.h"
    },
    {
      "type": "modify",
      "old_id": "8ad6337dcc682e05b1902eeff678437c44b38adf",
      "old_mode": 33188,
      "old_path": "quiche/quic/moqt/tools/moqt_ingestion_server_bin.cc",
      "new_id": "753f2b50cbe51dabd1dc54e2c4e565e3d41e04a5",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/tools/moqt_ingestion_server_bin.cc"
    },
    {
      "type": "modify",
      "old_id": "48d2a80772741816ec9e8ece9b862b5308077e35",
      "old_mode": 33188,
      "old_path": "quiche/quic/moqt/tools/moqt_relay.cc",
      "new_id": "ebfa5d0f898aa87b0c09f97fa5831f16c1e3a311",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/tools/moqt_relay.cc"
    },
    {
      "type": "modify",
      "old_id": "2ea008e64f7fb45fdee9dc66bd29846af01935ab",
      "old_mode": 33188,
      "old_path": "quiche/quic/moqt/tools/moqt_relay_test.cc",
      "new_id": "0bc2584a374c9d2a7a0804480d92af893af25ef5",
      "new_mode": 33188,
      "new_path": "quiche/quic/moqt/tools/moqt_relay_test.cc"
    }
  ]
}
