)]}'
{
  "commit": "703d90daea92de66a9dc1bcc63637b335a7f8909",
  "tree": "0665e198bc098d66ad8074b31d74a4d5f3a314d9",
  "parents": [
    "4517211df6739e2a631056080cec6ec9b10cb9c1"
  ],
  "author": {
    "name": "Jacek Centkowski",
    "email": "geminica.programs@gmail.com",
    "time": "Sat Nov 09 08:48:08 2024 +0100"
  },
  "committer": {
    "name": "Jacek Centkowski",
    "email": "geminica.programs@gmail.com",
    "time": "Mon Nov 18 18:30:10 2024 +0100"
  },
  "message": "Introduce OwnersApiCache\n\nWhen Gerrit UI loads files owners status it treats each file as\nan independent UI component therefore as a result plugin\u0027s REST API\nendpoint is called for each one of them. The `Owned Files` tab adds an\nextra call on the top of that. The same applies for getting the\ncurrently logged in user account details.\n\nReduce it to a single call per REST API endpoint by OwnersApiCache\nintroduction (the idea is again transplanted from `code-owners` plugin).\n\nIt is a safe bet as in the event of change modification (for instance\nwhen one votes) Gerrit doesn\u0027t modify the existing change object. It\ncreates new change object instead and existing\n`OwnersService.getOwnersService` function (that is used to obtain the\nservice) ensures that new service instance gets created (together with\nnew instance of `OwnersApiCache`).\n\nCaching abilities are also verified with unit tests.\n\nBug: Issue 377723880\nChange-Id: I4b7312b644a0d2a608e4f19e23eda4d5a87f0b51\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7a295da2376fd1a82c84a64afa0e657e4b8e73dd",
      "old_mode": 33188,
      "old_path": "owners/web/owners-service.ts",
      "new_id": "2e804586a38a47eb4ab6db40f8bde5a4a86d403a",
      "new_mode": 33188,
      "new_path": "owners/web/owners-service.ts"
    },
    {
      "type": "modify",
      "old_id": "1c01c075a06c5abe69814b4bf5cf43a6c781580a",
      "old_mode": 33188,
      "old_path": "owners/web/owners-service_test.ts",
      "new_id": "f98fddd8a33af4792b716a27bb4dd108416bab3b",
      "new_mode": 33188,
      "new_path": "owners/web/owners-service_test.ts"
    }
  ]
}
