)]}'
{
  "commit": "3d2a353c06d4254b6c744a28be6a1f6324c16e11",
  "tree": "c22a055bdc2c8271ec59ea883d8af2c18a663bac",
  "parents": [
    "a83513107fbf58bf491e703ccf185206033882ee"
  ],
  "author": {
    "name": "Prudhvi Akhil Alahari",
    "email": "prudhvi.alahari@linaro.org",
    "time": "Thu Aug 24 12:09:39 2023 +0530"
  },
  "committer": {
    "name": "Prudhvi Akhil Alahari",
    "email": "prudhvi.alahari@linaro.org",
    "time": "Thu Aug 31 20:55:48 2023 +0530"
  },
  "message": "Fix message banner to not appear immediately after dismissal\n\nThe redisplay format \"Aug 29, 2023, 12:00:00 AM\" is not\nsupported by the document.cookie expires field [1], where it was\nignoring AM and PM. The expires field expects a GMT format such as\n\"Wed, 14 Jun 2017 07:00:00 GMT\". Even though we fix this issue by\nmaking the REST API send the right format, we have another issue\nwith timezones.\n\nLet\u0027s say client is in IST timezone and current GMT time is\n\"27 Aug 2023 23:30:00\" and equivalent IST is \"28 Aug 2023 05:00:00\".\nSo the redisplay from the REST API is \"28 Aug 2023 00:00:00\", which\ntranslates to \"28 Aug 2023 05:30:00\" in IST. Which means the user will\nsee the message banner in next 30mins after its dismissal. Ideally the\nbanner must be redisplayed next day of the client, i.e.\n\"29 Aug 2023 00:00:00\".\n\nIt is not the best approach to determine the redisplay time for banner\non server side, as the API has no clue about the client\u0027s next day.\nRather calculate the next day for redisplay on client itself, which\nsets the correct time for redisplay.\n\n[1] https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie#write_a_new_cookie\n\nChange-Id: Ic24b758a6f0d807c0fa6a2ed3f9bda125fa31c60\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "eb938c5120d14b903388b24bd6d82bf69163a77b",
      "old_mode": 33188,
      "old_path": "gr-messageoftheday/gr-messageoftheday-banner.js",
      "new_id": "9d7c83993d0cb200286256e7d46025dfef904aa3",
      "new_mode": 33188,
      "new_path": "gr-messageoftheday/gr-messageoftheday-banner.js"
    },
    {
      "type": "modify",
      "old_id": "95bfe2b1b56517e4e945a001b093ebf318cd64bc",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/messageoftheday/GetMessage.java",
      "new_id": "b90d4a791e52764f3d433955bd340746b1ac232f",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/messageoftheday/GetMessage.java"
    },
    {
      "type": "modify",
      "old_id": "eed52ce463797c9bffd16c705c83f50247ee65e9",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/messageoftheday/MessageOfTheDayInfo.java",
      "new_id": "e17127c2fedb09a6f0da3a6fa4d56baa080d0b6f",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/messageoftheday/MessageOfTheDayInfo.java"
    },
    {
      "type": "modify",
      "old_id": "f27bc86a4bc549a1f07515d49f814ca0bcfe30da",
      "old_mode": 33188,
      "old_path": "src/main/resources/Documentation/about.md",
      "new_id": "26cc63d25d0cf36143a10c1cf24f1919c419f234",
      "new_mode": 33188,
      "new_path": "src/main/resources/Documentation/about.md"
    },
    {
      "type": "modify",
      "old_id": "86d923c163f0817ad30794890c04a7c3a355ab37",
      "old_mode": 33188,
      "old_path": "src/main/resources/Documentation/rest-api-config.md",
      "new_id": "84ed0419c6a2d9368c8f127d220ec51d9a76c141",
      "new_mode": 33188,
      "new_path": "src/main/resources/Documentation/rest-api-config.md"
    }
  ]
}
