)]}'
{
  "commit": "9f4017709ceeb45d7259309cefef5d4350954238",
  "tree": "4c6235fbc5cf6e691113d14ce04e1261243bc616",
  "parents": [
    "3eb36725ab9f12097b3cdf3c3aed72472c72a252"
  ],
  "author": {
    "name": "Dariusz Luksza",
    "email": "dariusz.luksza@gmail.com",
    "time": "Thu Oct 05 18:30:47 2023 +0100"
  },
  "committer": {
    "name": "Dariusz Luksza",
    "email": "dariusz.luksza@gmail.com",
    "time": "Wed Oct 11 09:28:47 2023 +0100"
  },
  "message": "Report authentication progress to the user\n\nThe GitHub OAuth API can get really slow, taking tens of seconds to\nrespond. Which is fine when users do see that there\u0027s something going\non in the backgournd.\n\nUnfortunately current implementation of scope selection and sing-in\nprocess gives no feedback about onging OAuth request. For some users\nthis may feel like something is broken or Gerrit site is slow.\n\nTo improve user experience we add progress \"indicators\" in both cases.\n\nIn the scope selection, the \"Login \u003e\" button will be disabled after\nclicking and its text will also change to \u0027Waiting for GitHub...\u0027.\n\nIn case of the \u0027Sign-in\u0027 link in Gerrit UI, we use the new \u0027auth-link\u0027\nextension point to replace that link with custom component. The\n\u0027gr-github-oauth-progress\u0027 will wait 550ms and then show a loading\nspinner (blocking the whole site) saying \u0027Waiting for GitHub...\u0027.\n\nIn both cases users are now informated that the authentication is taking\nplace and they should wait for it to finish.\n\nBug: Issue 302826306\nChange-Id: Ic4a8dc24d9133ac59dfe65858ac7ec8510cf4f09\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "80d62575a1415291ad6bea66efd5f176a9c0689a",
      "old_mode": 33188,
      "old_path": "github-plugin/.gitignore",
      "new_id": "1080f671a5d39177e0c7627e67e968d0f3f940b4",
      "new_mode": 33188,
      "new_path": "github-plugin/.gitignore"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "209cc44830350381b5b9748f9bc11a62fbf9c6f4",
      "new_mode": 33188,
      "new_path": "github-plugin/package.json"
    },
    {
      "type": "modify",
      "old_id": "b77cd4e64a92403e89f81ad9507791352c166192",
      "old_mode": 33188,
      "old_path": "github-plugin/pom.xml",
      "new_id": "86ad0ce7a46213073994466693e1fe41a7f10831",
      "new_mode": 33188,
      "new_path": "github-plugin/pom.xml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "03d92bed75c98a79d61dafbcae1012bef0d8a6fa",
      "new_mode": 33188,
      "new_path": "github-plugin/rollup.config.mjs"
    },
    {
      "type": "modify",
      "old_id": "f75030d5d45db3a429ac4e2f3c4b39ace5b3aac1",
      "old_mode": 33188,
      "old_path": "github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GuiceHttpModule.java",
      "new_id": "661b0bf927d92321871f49d6712999e76785e812",
      "new_mode": 33188,
      "new_path": "github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GuiceHttpModule.java"
    },
    {
      "type": "modify",
      "old_id": "113b5b5b861a9eaca203039fc7ae35297f30298f",
      "old_mode": 33188,
      "old_path": "github-plugin/src/main/resources/static/scope.html",
      "new_id": "af8613943abcfb11c00d9539a756239755ee5c17",
      "new_mode": 33188,
      "new_path": "github-plugin/src/main/resources/static/scope.html"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3b53d47bcf3d7adf53e412894b4b7f3830215184",
      "new_mode": 33188,
      "new_path": "github-plugin/src/main/ts/gr-github-oauth-progress.ts"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2a465cabb3645b566bb197acdb9df47ad236a976",
      "new_mode": 33188,
      "new_path": "github-plugin/src/main/ts/main.ts"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a19ebbf37c3c7fb59ebf3cbb89dfbc4dc64959fb",
      "new_mode": 33188,
      "new_path": "github-plugin/tsconfig-plugins-base.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f08de5ac624a6bef1338703f2eb251d9a8772208",
      "new_mode": 33188,
      "new_path": "github-plugin/tsconfig.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "51435d5b6d7e1ad3a888704fea2e26122119f3b0",
      "new_mode": 33188,
      "new_path": "github-plugin/yarn.lock"
    }
  ]
}
