)]}'
{
  "log": [
    {
      "commit": "994d1e2874a66eb9179aeb03b19009b10180a603",
      "tree": "77a9198ec3bb14152f0282e9936f60ceb54a347d",
      "parents": [
        "d7b2b36c94b442d5e3322bd1d677a9389ac16d7a"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Jul 23 01:52:15 2023 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Jul 23 01:52:15 2023 +0200"
      },
      "message": "Add InternalKillSwitchWatcher\n\nBug: twpowertools:162\nChange-Id: I693394622e3a1743ffaf80bf3824c0197fb1dd48\n"
    },
    {
      "commit": "d7b2b36c94b442d5e3322bd1d677a9389ac16d7a",
      "tree": "c4e0bedb32df86e3f6b59eedf2dbad5082a0b636",
      "parents": [
        "7b166a9ebeacb60715608b5f5cd5715bdc52505d"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Jul 23 01:50:42 2023 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Jul 23 01:50:42 2023 +0200"
      },
      "message": "Don\u0027t set default value for internal kill switches\n\nBug: twpowertools:162\nChange-Id: I2abef88edee996f4e8c76a717281604d2c67505a\n"
    },
    {
      "commit": "7b166a9ebeacb60715608b5f5cd5715bdc52505d",
      "tree": "7bb1b7145c9bbc081bea134c18bdeb51b9bb0eac",
      "parents": [
        "5f5b3e0367e79466e9faf570e4570d1a122293ae"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Jul 23 00:34:42 2023 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Jul 23 00:34:42 2023 +0200"
      },
      "message": "npm audit fix\n\nRan the following commands:\n\n```\n$ npm audit\n\\# npm audit report\n\nsemver  6.0.0 - 6.3.0 || 7.0.0 - 7.5.1\nSeverity: moderate\nsemver vulnerable to Regular Expression Denial of Service - https://github.com/advisories/GHSA-c2qf-rxjj-qqgw\nsemver vulnerable to Regular Expression Denial of Service - https://github.com/advisories/GHSA-c2qf-rxjj-qqgw\nfix available via `npm audit fix`\nnode_modules/@babel/core/node_modules/semver\nnode_modules/@babel/helper-compilation-targets/node_modules/semver\nnode_modules/istanbul-lib-instrument/node_modules/semver\nnode_modules/make-dir/node_modules/semver\nnode_modules/semver\n\ntough-cookie  \u003c4.1.3\nSeverity: moderate\ntough-cookie Prototype Pollution vulnerability - https://github.com/advisories/GHSA-72xf-g2v4-qvf3\nfix available via `npm audit fix`\nnode_modules/tough-cookie\n\nword-wrap  \u003c1.2.4\nSeverity: moderate\nword-wrap vulnerable to Regular Expression Denial of Service - https://github.com/advisories/GHSA-j8xg-fqg3-53r7\nfix available via `npm audit fix`\nnode_modules/word-wrap\n\n3 moderate severity vulnerabilities\n\nTo address all issues, run:\n  npm audit fix\n\n$ npm audit fix\n\nchanged 7 packages, and audited 634 packages in 2s\n\n59 packages are looking for funding\n  run `npm fund` for details\n\nfound 0 vulnerabilities\n```\n\nChange-Id: Ie9ea731bd83f1e8879e4ebc64f01017e1022e89f\n"
    },
    {
      "commit": "5f5b3e0367e79466e9faf570e4570d1a122293ae",
      "tree": "22fe51b2b4d92b608b826c3e31efa4892d302c21",
      "parents": [
        "eb1c44db636a5a250be38592f00a5b35bb69c080"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Jul 23 00:08:17 2023 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Jul 23 00:11:21 2023 +0200"
      },
      "message": "Prompt users to reload the CC when the extension updates\n\nWhen the extension updates, it stops working in the Community Console.\nThus, this change adds logic so when the extension detects it has been\nrecently installed or updated it injects a banner to the top of the CC\nwith a message which prompts the user to reload the page.\n\nFixed: twpowertools:82\nChange-Id: I0c901c72574c7c64d9ba94f56be96a12f7770049\n"
    },
    {
      "commit": "eb1c44db636a5a250be38592f00a5b35bb69c080",
      "tree": "9c48a61973bbf9a64ef7471e9d888e54daad28a7",
      "parents": [
        "217e5f0895de3e1d71b46f2a234b5dab6e98e876"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Jul 23 00:06:01 2023 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Jul 23 00:06:01 2023 +0200"
      },
      "message": "MW CS bridge server: detect when the extension is dead\n\nWhen the extension is dead (and thus the main world content script\nbridge server as well), the server doesn\u0027t try to handle the message,\nsince this will result in an error.\n\nChange-Id: I6ef0babc8cbb598f793ba633604b9c5e42eec31a\n"
    },
    {
      "commit": "217e5f0895de3e1d71b46f2a234b5dab6e98e876",
      "tree": "cce540b96a960513ff11678072b5603616ee303d",
      "parents": [
        "1716d2b832ee91fd1cee874e080d5d25b370cbfa"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Jul 22 20:55:50 2023 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Jul 22 20:53:31 2023 +0000"
      },
      "message": "Fix per-forum activity in TW basic\n\nFixed: twpowertools:169\nChange-Id: I77a25cb5a047cdf84b74de79ecba2ad3591ef33c\n"
    },
    {
      "commit": "1716d2b832ee91fd1cee874e080d5d25b370cbfa",
      "tree": "85d753df143d4a44c3c0e054afb94919a1019f91",
      "parents": [
        "22d560334abe471ee2062fbf6b50534aef2d5e85"
      ],
      "author": {
        "name": "Weblate bot",
        "email": "weblate-bot@avm99963.com",
        "time": "Sat Jul 22 10:46:48 2023 +0000"
      },
      "committer": {
        "name": "Weblate bot",
        "email": "weblate-bot@avm99963.com",
        "time": "Sat Jul 22 10:46:51 2023 +0000"
      },
      "message": "Weblate: Update Catalan (ca) localization\n\nCurrently translated at 100.0% (144 of 144 strings)\n\nChange-Id: Iad3b0251c5c6cae4b4ea5031083aa2ef0c321900\nCo-authored-by: Adrià \u003cme@avm99963.com\u003e\nTranslate-URL: https://i18n.avm99963.com/projects/tw-power-tools/extension-strings-json-format/ca/\nTranslation: TW Power Tools/Extension strings (JSON format)\n"
    },
    {
      "commit": "22d560334abe471ee2062fbf6b50534aef2d5e85",
      "tree": "ccabaf8241ce54cdafbed25332d1146189106f14",
      "parents": [
        "1a68ad0a11b4307c2e8af621a9e2e78a2bb571e4"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Jul 22 12:28:51 2023 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Jul 22 12:28:51 2023 +0200"
      },
      "message": "Per-forum stats: show community videos\n\nFixed: twpowertools:168\nChange-Id: Ib060d7c97b32ce6b9ee063dc8c5a46c541bf706c\n"
    },
    {
      "commit": "1a68ad0a11b4307c2e8af621a9e2e78a2bb571e4",
      "tree": "c4f60d53dc211bc8f669251ed66d2b1d93816a6d",
      "parents": [
        "0511335da9e4988fd055a43229394dceefd309e6"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Jul 22 11:18:45 2023 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Jul 22 11:27:26 2023 +0200"
      },
      "message": "Change link to Weblate in options page\n\nChange-Id: Ic4dc980bfa3ac4a6b857e109c582f6e4974b13ee\n"
    },
    {
      "commit": "0511335da9e4988fd055a43229394dceefd309e6",
      "tree": "89c20a405dce2eb7cced11eaecd9f548f0530416",
      "parents": [
        "6cabd8bf3c397c6492b2ea3dd4cc2e8e11733ea0"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Fri Jul 21 20:22:50 2023 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Fri Jul 21 20:32:18 2023 +0200"
      },
      "message": "Show an extension badge when a kill switch is active\n\nKill switches allow the extension maintainer to remotely disable some\nfeatures in case they start working in an undiserable manner (for\ninstance when Google updates the Community Console and the extension\nbreaks the CC completely).\n\nThis change makes it clear whether a kill switch is active by adding a\nbadge to the extension icon.\n\nChange-Id: I5fbbbc33aa78c613d91625ba0ea10deb2d478a83\n"
    },
    {
      "commit": "6cabd8bf3c397c6492b2ea3dd4cc2e8e11733ea0",
      "tree": "c9c648943ed4bdba89a54da7f2cfd7b7e681898a",
      "parents": [
        "c8f663004baa2af0e8d60ab08aff6f15a4ec8963"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Thu Jul 06 21:54:40 2023 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Thu Jul 06 21:54:40 2023 +0200"
      },
      "message": "Fix \"CC toolbar\" option name in docs\n\nIn commit CL:2881 we forgot to update the option name in the docs, so\nthis CL serves as a follow-up CL to update that as well.\n\nChange-Id: I66f69085ba0f7a2f28c4414c9d096bd61e213992\n"
    },
    {
      "commit": "c8f663004baa2af0e8d60ab08aff6f15a4ec8963",
      "tree": "be4f4942841c863e0d82eaba5230debd393da61a",
      "parents": [
        "78ff4067651aee27aa613ab9970e0fd47986f211"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Thu Jul 06 21:38:50 2023 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Thu Jul 06 21:50:00 2023 +0200"
      },
      "message": "Fix profile indicator in the updated thread post header\n\nThe Community Console was updated and the thread post header is now\ndifferent, so the profile indicator feature stopped working. This CL\nfixes this.\n\nFixed: twpowertools:167\nChange-Id: I5b691cfaddb9ebbafd6bf5e7c27753105f076405\n"
    },
    {
      "commit": "78ff4067651aee27aa613ab9970e0fd47986f211",
      "tree": "c7f91645093a329b61f05c2a8d64f29771fc8e0f",
      "parents": [
        "a7677c7a9cff1277775208c7b9dc8563e7198de9"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Thu Jul 06 20:03:29 2023 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Thu Jul 06 20:05:30 2023 +0200"
      },
      "message": "Fix lint errors in profileIndicator.js\n\nThis is in preparation for some changes which will be made to the file.\n\nChange-Id: Ie813019b81eb345045833fba8c20acb9067c75c8\n"
    },
    {
      "commit": "a7677c7a9cff1277775208c7b9dc8563e7198de9",
      "tree": "e3b6b2a00aa9c70e4d69ce69125615351126d776",
      "parents": [
        "38ed1330ea143012cab7a5ede1a8205edfeb2de6"
      ],
      "author": {
        "name": "Weblate bot",
        "email": "weblate-bot@avm99963.com",
        "time": "Sun Jul 02 01:18:30 2023 +0000"
      },
      "committer": {
        "name": "Weblate bot",
        "email": "weblate-bot@avm99963.com",
        "time": "Sun Jul 02 01:41:02 2023 +0000"
      },
      "message": "Translated using Weblate (Catalan)\n\nCurrently translated at 100.0% (143 of 143 strings)\n\nCo-authored-by: Adrià \u003cme@avm99963.com\u003e\nTranslate-URL: https://i18n.avm99963.com/projects/tw-power-tools/extension-strings-json-format/ca/\nTranslation: TW Power Tools/Extension strings (JSON format)\nChange-Id: If59ace69d2f2d913d1f75d614f6cfed19d93c56f\n"
    },
    {
      "commit": "38ed1330ea143012cab7a5ede1a8205edfeb2de6",
      "tree": "395825827822a7262c4af47985254f442f075a07",
      "parents": [
        "cd4857092afbe0e3ea57b6a95924eebb8d5ee56d"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Jul 02 02:55:58 2023 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Jul 02 02:55:58 2023 +0200"
      },
      "message": "Add badges to README.md\n\nAdds a build status badge and a localization status badge.\n\nChange-Id: I2aaf3868b25d13ad62cc16ebed95fb26a1549d93\n"
    },
    {
      "commit": "cd4857092afbe0e3ea57b6a95924eebb8d5ee56d",
      "tree": "2c463ba4163e259b0981853a509cd567359a2294",
      "parents": [
        "383b52bd9472a8916c5dfe992294c83173242420"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Jul 02 01:43:06 2023 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Jul 02 01:43:06 2023 +0200"
      },
      "message": "Fix Russian translation\n\nA placeable was missing because Pontoon doesn\u0027t support translating\nXLIFF strings with placeables and this broke the build. This CL fixes\nthe issue by readding the placeable to the translated string.\n\nChange-Id: Idd3832ac90b5cdf3c29501e2b44c7d6a3f722817\n"
    },
    {
      "commit": "383b52bd9472a8916c5dfe992294c83173242420",
      "tree": "8bfd258ceeab19f4c39f366e6cc890425c976460",
      "parents": [
        "eb2c7d1cd7d412260ec2a535334cb692a488f203"
      ],
      "author": {
        "name": "Yasya",
        "email": "yasyaelhakim@gmail.com",
        "time": "Sun Jul 02 01:34:57 2023 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Jul 02 01:37:32 2023 +0200"
      },
      "message": "Add missing Indonesian translation from Pontoon\n\nPontoon didn\u0027t sync this translation made by Yasya. I\u0027m commiting it on\nbehalf of them, since after the migration to Weblate all the data in the\nPontoon instance will be lost.\n\nBug: twpowertools:158\nChange-Id: I028885d2988db501b79d6a6c090547f64aaaf731\n"
    },
    {
      "commit": "eb2c7d1cd7d412260ec2a535334cb692a488f203",
      "tree": "308b82ae9f982dc800986613043a6046db449215",
      "parents": [
        "f7d9439c44a8b55c82447d1a0352f288c8664c05"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Jul 01 23:34:03 2023 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Jul 02 01:34:36 2023 +0200"
      },
      "message": "Change CWS listing description files to plain text\n\nWeblate doesn\u0027t support .lang files, so this CL changes these files to\nbe plain text files, since these are supported by Weblate.\n\nBug: twpowertools:158\nChange-Id: I68f6d1aa0951992fd6071856a92bef657f46411e\n"
    },
    {
      "commit": "f7d9439c44a8b55c82447d1a0352f288c8664c05",
      "tree": "c1b68fc8c9c574eb184b38da8b9a0608fa8a2a0a",
      "parents": [
        "f3348a94f91795805c5e56e06da6810aa1646bd1"
      ],
      "author": {
        "name": "Yaroslav",
        "email": "wolkxxxxxx@gmail.com",
        "time": "Wed Jun 28 19:20:50 2023 +0000"
      },
      "committer": {
        "name": "Pontoon",
        "email": "pontoon@noreply.avm99963.com",
        "time": "Wed Jun 28 19:20:50 2023 +0000"
      },
      "message": "Pontoon: Update Russian (ru) localization of TW Power Tools\n\nCo-authored-by: Yaroslav \u003cwolkxxxxxx@gmail.com\u003e\n"
    },
    {
      "commit": "f3348a94f91795805c5e56e06da6810aa1646bd1",
      "tree": "213047dfa313e86b93a5e9647689124b06156a5a",
      "parents": [
        "d00a44548eb324aa9dfa41f0fbee45ac40a18f0c"
      ],
      "author": {
        "name": "Yaroslav",
        "email": "wolkxxxxxx@gmail.com",
        "time": "Wed Jun 28 18:20:47 2023 +0000"
      },
      "committer": {
        "name": "Pontoon",
        "email": "pontoon@noreply.avm99963.com",
        "time": "Wed Jun 28 18:20:47 2023 +0000"
      },
      "message": "Pontoon: Update Russian (ru) localization of TW Power Tools\n\nCo-authored-by: Alexander \u003coshli.a.er@gmail.com\u003e\nCo-authored-by: Yaroslav \u003cwolkxxxxxx@gmail.com\u003e\n"
    },
    {
      "commit": "d00a44548eb324aa9dfa41f0fbee45ac40a18f0c",
      "tree": "98a14afcebcac9aea5831a5f854305177f3721bf",
      "parents": [
        "a5bff517859dbb55d2c428f43e11d7e7c1584716"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Jun 25 14:28:14 2023 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Jun 25 14:28:14 2023 +0200"
      },
      "message": "Rephrase fixedtoolbar setting\n\nThanks Xander for the suggestion!\n\nChange-Id: Icb2bd9fe3ef1bb73cc1948eda37a09d81c9c7449\n"
    },
    {
      "commit": "a5bff517859dbb55d2c428f43e11d7e7c1584716",
      "tree": "b66121d4778d453ed1eeda8146f53a2c9a085797",
      "parents": [
        "4ba9ca2c5e4b9c2bbfde674f99a60cecf41aa997"
      ],
      "author": {
        "name": "Alexander",
        "email": "oshli.a.er@gmail.com",
        "time": "Mon Jun 19 17:21:15 2023 +0000"
      },
      "committer": {
        "name": "Pontoon",
        "email": "pontoon@noreply.avm99963.com",
        "time": "Mon Jun 19 17:21:15 2023 +0000"
      },
      "message": "Pontoon: Update Russian (ru) localization of TW Power Tools\n\nCo-authored-by: Alexander \u003coshli.a.er@gmail.com\u003e\nCo-authored-by: Yaroslav \u003cwolkxxxxxx@gmail.com\u003e\n"
    },
    {
      "commit": "4ba9ca2c5e4b9c2bbfde674f99a60cecf41aa997",
      "tree": "93fab5308af92349cf751acf5b320b4b254a411f",
      "parents": [
        "7bc73a47e79a15b9a28b6e7e6495dbf39dcf6216"
      ],
      "author": {
        "name": "Yasya",
        "email": "yasyaelhakim@gmail.com",
        "time": "Mon Jun 19 17:21:08 2023 +0000"
      },
      "committer": {
        "name": "Pontoon",
        "email": "pontoon@noreply.avm99963.com",
        "time": "Mon Jun 19 17:21:08 2023 +0000"
      },
      "message": "Pontoon: Update Indonesian (id) localization of TW Power Tools\n\nCo-authored-by: Yasya \u003cyasyaelhakim@gmail.com\u003e\n"
    },
    {
      "commit": "7bc73a47e79a15b9a28b6e7e6495dbf39dcf6216",
      "tree": "e693ab18871ba3c2a22aa6c8cde64989133948d9",
      "parents": [
        "ac8c81b3afb6d3913b2e14d69d1cb4f857983e97"
      ],
      "author": {
        "name": "Medelinor",
        "email": "eloueryaghlymohamed@gmail.com",
        "time": "Mon Jun 19 17:21:00 2023 +0000"
      },
      "committer": {
        "name": "Pontoon",
        "email": "pontoon@noreply.avm99963.com",
        "time": "Mon Jun 19 17:21:00 2023 +0000"
      },
      "message": "Pontoon: Update French (fr) localization of TW Power Tools\n\nCo-authored-by: Medelinor \u003celoueryaghlymohamed@gmail.com\u003e\n"
    },
    {
      "commit": "ac8c81b3afb6d3913b2e14d69d1cb4f857983e97",
      "tree": "d0b82ef39327fd1e22a54dd0250eee5ee9cfb486",
      "parents": [
        "60fe45d9423f2fde3cb13011fb6df442cf9bb9b7"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Mon Jun 19 18:05:26 2023 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Mon Jun 19 18:05:26 2023 +0200"
      },
      "message": "Flatten threads: fix feature in Firefox\n\nThe feature didn\u0027t work in Firefox because we referenced chrome, which\ndoesn\u0027t exist in the main world in Firefox. This CL fixes this issue.\n\nChange-Id: I5cc3363205fb0e60d3b595394025ff123feb6c96\n"
    },
    {
      "commit": "60fe45d9423f2fde3cb13011fb6df442cf9bb9b7",
      "tree": "667fe866ad9b9cdea94dbd3b64dc37dda8dfc8bf",
      "parents": [
        "7c99ad1bbe6f92becd707ad4dfe35bdcb7866f82"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Apr 15 17:49:13 2023 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Apr 15 17:49:13 2023 +0200"
      },
      "message": "Fix typo in optionsPrototype.json5\n\nChange-Id: Ieb9a511dbfa73ef068b612c3aad7711bf33e4709\n"
    },
    {
      "commit": "7c99ad1bbe6f92becd707ad4dfe35bdcb7866f82",
      "tree": "cbbf5e22ee9d0bea3d51c7020f44b43838f709ce",
      "parents": [
        "4b6ce463b634f7fa29b526f750f5dc0f7a57f4d5"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Apr 15 17:27:09 2023 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Apr 15 17:27:09 2023 +0200"
      },
      "message": "Update killSwitch proto definitions\n\nThe protocol buffers definitions have been obtained from the TWPT server\nrepo.\n\nBug: twpowertools:162\nChange-Id: Ia5cc44be28e2bc6c1054484c04c197b9b6852318\n"
    },
    {
      "commit": "4b6ce463b634f7fa29b526f750f5dc0f7a57f4d5",
      "tree": "75465e82fab5df07508cb67b7e560036e422a02a",
      "parents": [
        "49a49426623c2c6873789746494fed7a700d352b"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Apr 15 02:06:09 2023 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Apr 15 00:20:50 2023 +0000"
      },
      "message": "Tempatively fix XHRProxy bug\n\nThe XHRProxy calls the optionsWatcher server as soon as it is loaded,\nbut the server isn\u0027t guaranteed to be loaded and thus the request can\nget lost, which breaks the XHRProxy and causes all XHR requests to fail.\n\nThis CL fixes this by ensuring the optionsWatcher server is loaded\nbefore injecting the XHRProxy to fix this issue.\n\nBug: twpowertools:161\n\nChange-Id: I12ec2d018c9fa7791053807cad19a547564e2ee2\n"
    },
    {
      "commit": "49a49426623c2c6873789746494fed7a700d352b",
      "tree": "8065b3508244eafed25fbc0b0f5a1da61b442b97",
      "parents": [
        "9d6aefc0e2d8a971e79e7601d8b580c73842f163"
      ],
      "author": {
        "name": "Medelinor",
        "email": "eloueryaghlymohamed@gmail.com",
        "time": "Fri Apr 14 01:22:52 2023 +0000"
      },
      "committer": {
        "name": "Pontoon",
        "email": "pontoon@noreply.avm99963.com",
        "time": "Fri Apr 14 01:22:52 2023 +0000"
      },
      "message": "Pontoon: Update Arabic (ar) localization of TW Power Tools\n\nCo-authored-by: Medelinor \u003celoueryaghlymohamed@gmail.com\u003e\n"
    },
    {
      "commit": "9d6aefc0e2d8a971e79e7601d8b580c73842f163",
      "tree": "967bbd33366fac269054779ee82171a0ec0acfc8",
      "parents": [
        "f8d74858e8f81c4abaf12211e0ffc0cbdb5e944b"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Thu Apr 13 00:37:32 2023 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Thu Apr 13 00:38:09 2023 +0200"
      },
      "message": "npm audit fix\n\nRan the following commands:\n\n```\n$ npm audit\n\\# npm audit report\n\nwebpack  5.0.0 - 5.75.0\nSeverity: high\nCross-realm object access in Webpack 5 - https://github.com/advisories/GHSA-hc6q-2mpp-qw7j\nfix available via `npm audit fix`\nnode_modules/webpack\n\n1 high severity vulnerability\n\nTo address all issues, run:\n  npm audit fix\n\n$ npm audit fix\nadded 1 package, removed 2 packages, changed 16 packages, and audited 618 packages in 7s\n\n59 packages are looking for funding\n  run `npm fund` for details\n\nfound 0 vulnerabilities\n```\n\nChange-Id: I652471fc8f2a7621e1ec87704bb76c624cf0673a\n"
    },
    {
      "commit": "f8d74858e8f81c4abaf12211e0ffc0cbdb5e944b",
      "tree": "6192bf0e8f0af74f8cb4d99cecbdbbf1bc0371e6",
      "parents": [
        "b0f0531609be237c6b7c79c2868ed574fd625dba"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Thu Apr 13 00:35:13 2023 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Thu Apr 13 00:35:13 2023 +0200"
      },
      "message": "Update minimum Firefox version to 102.0\n\nchrome.permissions.request is only available in Firefox for Android\nversion 102.0. This fixes some warnings given by the linter regarding\nANDROID_INCOMPATIBLE_API.\n\nChange-Id: I0e219789322a387ce28ed346affef611c67e9abe\n"
    },
    {
      "commit": "b0f0531609be237c6b7c79c2868ed574fd625dba",
      "tree": "d5a0929f1ba98b9b54ef1c8d9e21dd43f6490c69",
      "parents": [
        "5e81b0b0b9a12f4c32b7bac16d0073ea2020f614"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Thu Apr 13 00:08:12 2023 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Thu Apr 13 00:23:23 2023 +0200"
      },
      "message": "🎉 Launch \"flatten threads\" feature\n\nFixed: twpowertools:153\nChange-Id: I09eb246a4b6de130d5bed81cefe9109995aaf43b\n"
    },
    {
      "commit": "5e81b0b0b9a12f4c32b7bac16d0073ea2020f614",
      "tree": "f2c91535e70ea15bc2e6352d13a610e0741a1e6d",
      "parents": [
        "8a08d5a5ae588402a40f8e16b3cfa26ece6ca084"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Thu Apr 13 00:04:28 2023 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Thu Apr 13 00:04:28 2023 +0200"
      },
      "message": "Flatten threads: localize missing string\n\nThe label \"Nested view\" hadn\u0027t been localized, and was instead hardcoded\ninto the code. This CL adds localization for this string.\n\nBug: twpowertools:153\nChange-Id: I4dc50c0594548f8c77e694ca497f3f5b6c171240\n"
    },
    {
      "commit": "8a08d5a5ae588402a40f8e16b3cfa26ece6ca084",
      "tree": "bc3f173ca898f1baa0fc6c8d3c67119912247876",
      "parents": [
        "2144f4f3275930202ea0eedcee0279c68dfc439e"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Wed Apr 12 23:37:31 2023 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Wed Apr 12 23:37:31 2023 +0200"
      },
      "message": "Do not show thread toolbar when empty\n\nThe toolbar is now not shown when there isn\u0027t any switch inside.\n\nAlso, the spacing has been improved to match the original spacing when\nthe toolbar is not shown.\n\nBug: twpowertools:153\n\nChange-Id: I1263659ef6a1abc63d38b2f644fdf0a60fa032d8\n"
    },
    {
      "commit": "2144f4f3275930202ea0eedcee0279c68dfc439e",
      "tree": "ee2f1d1af92f1a9b63c070408709eaa43ad48128",
      "parents": [
        "522c30ac2701286a85033b071064b7684e7444d2"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Wed Apr 12 23:16:17 2023 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Wed Apr 12 23:37:01 2023 +0200"
      },
      "message": "Add extension badge to the thread toolbar\n\nThis clearly indicates that the extension is adding the toolbar with the\n\"Nested view\" toggle.\n\nBug: twpowertools:153\nChange-Id: I244223359c9fc39d63b9c3ab076ae92ac11a82ee\n"
    },
    {
      "commit": "522c30ac2701286a85033b071064b7684e7444d2",
      "tree": "2a180f4d4c651e0315c4e0d424a421400f4ca88b",
      "parents": [
        "599c09a6ae8bf964b11c0fcc6a563099f733002f"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Thu Mar 30 23:39:10 2023 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Thu Mar 30 23:39:10 2023 +0200"
      },
      "message": "Fix lit-locales Arabic translation\n\nChange-Id: I987273b530bcd69df218e552b1eec648ad479004\n"
    },
    {
      "commit": "599c09a6ae8bf964b11c0fcc6a563099f733002f",
      "tree": "3309cc60e841f640123ee77e032025c6d69428c7",
      "parents": [
        "69527a75f1433436a6d99aeb4a9f67cf15aa907e"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Mar 12 19:56:08 2023 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Thu Mar 23 19:38:35 2023 +0000"
      },
      "message": "Minor fix for flatten threads translations\n\nBug: twpowertools:157\nChange-Id: I91982b94995d2a104d93c62c08feec43f65f184c\n"
    },
    {
      "commit": "69527a75f1433436a6d99aeb4a9f67cf15aa907e",
      "tree": "f53beebc387f53d20469140ebb6cb1509c2d57b2",
      "parents": [
        "fd8bc05271e341fe4b11e1a51a2cbb65e4229c82"
      ],
      "author": {
        "name": "Medelinor",
        "email": "eloueryaghlymohamed@gmail.com",
        "time": "Wed Mar 15 01:23:58 2023 +0000"
      },
      "committer": {
        "name": "Pontoon",
        "email": "pontoon@noreply.avm99963.com",
        "time": "Wed Mar 15 01:23:58 2023 +0000"
      },
      "message": "Pontoon: Update Arabic (ar) localization of TW Power Tools\n\nCo-authored-by: Medelinor \u003celoueryaghlymohamed@gmail.com\u003e\n"
    },
    {
      "commit": "fd8bc05271e341fe4b11e1a51a2cbb65e4229c82",
      "tree": "ff2eb6d5e6bad9bc078eecd47c7bc87bc5fbde7c",
      "parents": [
        "73e10b5261b05554b54c2ad62cea9a7ef2c42734"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Mar 12 00:24:47 2023 +0000"
      },
      "committer": {
        "name": "Pontoon",
        "email": "pontoon@noreply.avm99963.com",
        "time": "Sun Mar 12 00:24:47 2023 +0000"
      },
      "message": "Pontoon: Update Spanish (es) localization of TW Power Tools\n\nCo-authored-by: Adrià Vilanova Martínez \u003cme@avm99963.com\u003e\n"
    },
    {
      "commit": "73e10b5261b05554b54c2ad62cea9a7ef2c42734",
      "tree": "43503529e3189a73891429ac04b3927d44b09e67",
      "parents": [
        "5bde12db2a596611bcdec0b602c4adcfb7789542"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Mar 12 00:24:40 2023 +0000"
      },
      "committer": {
        "name": "Pontoon",
        "email": "pontoon@noreply.avm99963.com",
        "time": "Sun Mar 12 00:24:40 2023 +0000"
      },
      "message": "Pontoon: Update Catalan (ca) localization of TW Power Tools\n\nCo-authored-by: Adrià Vilanova Martínez \u003cme@avm99963.com\u003e\n"
    },
    {
      "commit": "5bde12db2a596611bcdec0b602c4adcfb7789542",
      "tree": "d2401e24313e43b8d1d8531201adcad7102955aa",
      "parents": [
        "222771be6ab7cf0b0ee01190805512fe556e50eb"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Mar 12 00:57:55 2023 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Mar 12 01:00:22 2023 +0100"
      },
      "message": "Flatten thread: localize missing string\n\nBug: twpowertools:157\nChange-Id: Iee619a271bf5ef85531071cfdad17d766fe5e8ab\n"
    },
    {
      "commit": "222771be6ab7cf0b0ee01190805512fe556e50eb",
      "tree": "1567d3fc911553b8ea38551619f2ed3d6d501c25",
      "parents": [
        "7a0c64e1d952ba2a243aa15fa7707874113bacbf"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Mar 11 23:49:18 2023 +0000"
      },
      "committer": {
        "name": "Pontoon",
        "email": "pontoon@noreply.avm99963.com",
        "time": "Sat Mar 11 23:49:18 2023 +0000"
      },
      "message": "Pontoon: Update Spanish (es) localization of TW Power Tools\n\nCo-authored-by: Adrià Vilanova Martínez \u003cme@avm99963.com\u003e\n"
    },
    {
      "commit": "7a0c64e1d952ba2a243aa15fa7707874113bacbf",
      "tree": "aa44b43565f8053c0ce5237d0d1e70644172a091",
      "parents": [
        "67bc90eaf27549a546a009d9b43854d812d7a277"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Mar 11 23:49:12 2023 +0000"
      },
      "committer": {
        "name": "Pontoon",
        "email": "pontoon@noreply.avm99963.com",
        "time": "Sat Mar 11 23:49:12 2023 +0000"
      },
      "message": "Pontoon: Update Catalan (ca) localization of TW Power Tools\n\nCo-authored-by: Adrià Vilanova Martínez \u003cme@avm99963.com\u003e\n"
    },
    {
      "commit": "67bc90eaf27549a546a009d9b43854d812d7a277",
      "tree": "335b03338ca3b36657acde74daf658ccd338455e",
      "parents": [
        "a03d03a68c6fcd2d05884798c46a298fb455110a"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Mar 12 00:39:06 2023 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Mar 12 00:40:47 2023 +0100"
      },
      "message": "Tempative minor fix for Pontoon\n\nThis CL adds a reference for the lit localization files in the\ni18n-config.toml file to try to make those files sync with Pontoon.\n\nBug: twpowertools:157\nChange-Id: Ib4643a66bbda15137d269c6a17f46f71598f4205\n"
    },
    {
      "commit": "a03d03a68c6fcd2d05884798c46a298fb455110a",
      "tree": "0ce42f6082f88a81d258a4a72b69834218e22103",
      "parents": [
        "c14e44a5038a171903e5a3ec348d359fd058e312"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Mar 11 23:30:07 2023 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Mar 11 23:16:29 2023 +0000"
      },
      "message": "Add lit components localization\n\nLocalization is performed via the @lit/localize package, which has been\nintegrated into the repo. A I18nLitElement class which extends\nLitElement has been included, which automatically sets up the\nlocalization.\n\nThis CL also introduces localization to the flattenThreads feature.\n\nFixed: twpowertools:157\nChange-Id: If01540b9c8d70876a648aa002a1e0a5bede8f383\n"
    },
    {
      "commit": "c14e44a5038a171903e5a3ec348d359fd058e312",
      "tree": "fa3beb4504553469ea55835a651b5dabeea3e874",
      "parents": [
        "2548e44612f6dd7488162a250b9ef827ec52c6c6"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Thu Mar 09 19:28:03 2023 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Mar 11 23:01:14 2023 +0000"
      },
      "message": "Add i18n support to the main world\n\nThe main world didn\u0027t have access to the chrome.i18n API. This CL adds\nsupport to access the API from the main world by using a bridge between\nthe main world and a server running in a content script.\n\nBug: twpowertools:157\n\nChange-Id: I5b93f92156e9f658428214252c209570337c23a4\n"
    },
    {
      "commit": "2548e44612f6dd7488162a250b9ef827ec52c6c6",
      "tree": "6fbe559add019fd759a35c98d320008962e174a0",
      "parents": [
        "5dd7a6f90a52b7ec056e21ac21e4b6ee2cd2bc5e"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Mar 05 18:45:30 2023 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Mar 05 18:48:59 2023 +0100"
      },
      "message": "Create mainWorldContentScriptBridge\n\nThese classes are the base of a communication bridge between the main\nworld and content scripts, which has been extracted from the main world\noptions watcher.\n\nThis will be used by the main world i18n component.\n\nBug: twpowertools:157\nChange-Id: I08553b05648ad8453203ab08ecf01e824af15fea\n"
    },
    {
      "commit": "5dd7a6f90a52b7ec056e21ac21e4b6ee2cd2bc5e",
      "tree": "38449c5b87db79f00d8115932cffb0c557dcbc63",
      "parents": [
        "d5836731f7b0a2710f1c008d269d77ef3d2316c3"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Mar 04 18:32:27 2023 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Mar 04 20:13:35 2023 +0100"
      },
      "message": "Flatten threads: don\u0027t show reply button when appropriate\n\nThis CL also refactors the response interceptors to use the new\nThreadModel.\n\nFixed: twpowertools:160\nChange-Id: I859e0fa1b8f5f4057bd66af3d167e4b21c6d12ed\n"
    },
    {
      "commit": "d5836731f7b0a2710f1c008d269d77ef3d2316c3",
      "tree": "75c1736d4690a1205b4a4f2e98a78e5f2e3cce4e",
      "parents": [
        "fcaf5b62eef0ce7386bfebfa1e1d80eaaed75a2b"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Fri Mar 03 21:33:16 2023 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Fri Mar 03 21:35:01 2023 +0100"
      },
      "message": "Flatten threads: improve quote styles\n\nThe author component has been made smaller.\n\nBug: twpowertools:153, twpowertools:156\n\nChange-Id: I34649c4ec572c3f069b96d64a77c761446e9b267\n"
    },
    {
      "commit": "fcaf5b62eef0ce7386bfebfa1e1d80eaaed75a2b",
      "tree": "124c135b886f2b5c2e7995b52d10169566b1a25f",
      "parents": [
        "90257dddb78579bed8f1f8ec6b8063e0ce363297"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Fri Mar 03 21:31:40 2023 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Fri Mar 03 21:31:40 2023 +0100"
      },
      "message": "Fix ui_spacing styles for image heros in threads\n\nChange-Id: Ie366452e64455eb339a36682fb05e3408244ccb4\n"
    },
    {
      "commit": "90257dddb78579bed8f1f8ec6b8063e0ce363297",
      "tree": "e1be6088bee2e74d41a912b128e27c68ab971ad0",
      "parents": [
        "36042b8f92d0e1e3395cafd09aaa1a32e7a90714"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Tue Feb 14 22:08:56 2023 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Tue Feb 14 22:08:56 2023 +0100"
      },
      "message": "Flatten threads: make quote component less prominent\n\nThe height has been reduced and a gradient has been added to improve the\nclipping of the text when the quote is collapsed.\n\nBug: twpowertools:156\nChange-Id: Ic418158f20e25a51ee546616b480fa3fadd6403d\n"
    },
    {
      "commit": "36042b8f92d0e1e3395cafd09aaa1a32e7a90714",
      "tree": "05401a3d9481b9b441d0fbe6115747e371e8a9be",
      "parents": [
        "052bec69a9d828aabee34dfedd450d117b3dccfe"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Tue Feb 14 21:39:05 2023 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Tue Feb 14 21:39:05 2023 +0100"
      },
      "message": "npm audit fix\n\nUpgraded loader-utils to a version which fixes a vulnerability.\n\nChange-Id: Ib386d7a6982ce1ee01e6b8f7a80071a7015cfcd8\n"
    },
    {
      "commit": "052bec69a9d828aabee34dfedd450d117b3dccfe",
      "tree": "589cd46cf4ab26accc3b5257e77477dedc0cae10",
      "parents": [
        "4d599258d38020bfe1435139625256078428ddd3"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Feb 05 02:15:01 2023 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Feb 05 02:15:01 2023 +0100"
      },
      "message": "Change Pontoon\u0027s URL\n\nChange-Id: I0f124cd2e6ffd1c2f3a73155985842a7cedf8c3f\n"
    },
    {
      "commit": "4d599258d38020bfe1435139625256078428ddd3",
      "tree": "9456ba8fc5bc14251c68c559797bdab0f4212f35",
      "parents": [
        "3f26d4300ca51ac54dd41a916f4e792dae412d4d"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Feb 04 20:54:54 2023 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Feb 04 20:55:08 2023 +0100"
      },
      "message": "Flatten threads: remove the additional info element in the edit box\n\nThe flatten threads feature needs to inject an element with additional\ninformation about the message to the message payload, which is hidden\nvia an inline CSS style. However, when the Community Console renders the\nedit box, this style is removed and the additional information is\nvisible in the reply box.\n\nThis CL fixes this by removing this element from the reply box when\nfound.\n\nBug: twpowertools:156\nChange-Id: I9eb5a965926fef91374396304e12837d5ef5c798\n"
    },
    {
      "commit": "3f26d4300ca51ac54dd41a916f4e792dae412d4d",
      "tree": "8ef58a5e7df6de424bf65da049a3be55db76b558",
      "parents": [
        "8a17fa8875db8decda4658bceae381fe08023c46"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Feb 04 20:49:25 2023 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Feb 04 20:49:25 2023 +0100"
      },
      "message": "Flatten threads: change additional info element detection method\n\nThis is done in preparation for the next CL.\n\nBug: twpowertools:156\nChange-Id: I15a77355550463995b57046f8d6fc34da3a275d7\n"
    },
    {
      "commit": "8a17fa8875db8decda4658bceae381fe08023c46",
      "tree": "f0fe479bce7c5dae8d18d1a5a5d149b39450cf67",
      "parents": [
        "4fb615f2289ecadf3f6d9ccc4c22b864b827f1db"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Feb 04 19:19:27 2023 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Feb 04 19:32:27 2023 +0100"
      },
      "message": "Flatten thread: fix behavior after replying\n\nAfter replying to a thread, the new reply wasn\u0027t visible. This was due\nto the fact that when the Community Console loaded the thread again, it\nused the XHR property `responseText` to read the response instead of\n`response`, but until now only `response` returned the modified response\ninstead of the original one.\n\nThus, this CL adds logic to also return the modified response (in text\nform) when calling `responseText`.\n\nBug: twpowertools:156\nChange-Id: If30112ca2827749a5d6677bfb9dfc790dabd9281\n"
    },
    {
      "commit": "4fb615f2289ecadf3f6d9ccc4c22b864b827f1db",
      "tree": "1edc05fd4230596fc2f47e5f33dcd27aca850bab",
      "parents": [
        "08a760bd7f5dc682032566fea821e36f6cd99828"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Feb 04 18:55:16 2023 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Feb 04 19:28:52 2023 +0100"
      },
      "message": "Flatten threads: remove further info about parents\n\nThis CL removes information from the ViewThread and CreateMessage\nresponses which indicate that the nested messages have a parent message.\n\nThis is done because although this information is not used now to render\nthe replies, it might be used in the future by the Community Console\ncode and this might break the feature.\n\nBug: twpowertools:156\n\nChange-Id: Ie32ce2b112f15395c2f15d5d6b9b5cde4cc64768\n"
    },
    {
      "commit": "08a760bd7f5dc682032566fea821e36f6cd99828",
      "tree": "53daee4d7d199a17b0864febd428f2be39c5c076",
      "parents": [
        "c928a34b2671c8a3b9bc04396f13c1f67756a79d"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Fri Feb 03 18:47:30 2023 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Fri Feb 03 18:49:58 2023 +0100"
      },
      "message": "Fix batch lock feature\n\nThe id for the Tailwind modal pane changed, and this caused the batch\nlock feature to no longer work. This CL fixes the issue by changing the\nid to the new one.\n\nReported at\nhttps://groups.google.com/g/twpowertools-discuss/c/MHBh11eaxoM.\n\nChange-Id: I6c75d3aaef55ce0eadb4c2aeeca5e0e21c03c48d\n"
    },
    {
      "commit": "c928a34b2671c8a3b9bc04396f13c1f67756a79d",
      "tree": "5dc6a337fb544b75c71036eeff0dd5d8e7e559c8",
      "parents": [
        "4fff1a9ed5e506721f2f4fad354e455a084daa7e"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Jan 15 20:03:10 2023 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Jan 15 20:09:02 2023 +0100"
      },
      "message": "Minor fix in loadMoreThread.js response modifier\n\nBug: twpowertools:153\nChange-Id: I7dceffbd49b09e2a98afd4a3b90ec534b694c59e\n"
    },
    {
      "commit": "4fff1a9ed5e506721f2f4fad354e455a084daa7e",
      "tree": "04cfd2690c44fdae66f0038180f993d99412a93f",
      "parents": [
        "b47ec06848bf3e14de0e66bd21224b94fdfbada3"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Jan 15 18:18:05 2023 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Jan 15 20:08:43 2023 +0100"
      },
      "message": "Add Jest tests to the lint job\n\nChange-Id: If0d63bc11f264e6e7287afdd0940d0f3b4ac1cf7\n"
    },
    {
      "commit": "b47ec06848bf3e14de0e66bd21224b94fdfbada3",
      "tree": "5aa2694eeac1ab1589049ffa7a6cbc24906635ae",
      "parents": [
        "db38d7f281eb87247488cdd8ac423392c3536fbf"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Jan 15 17:43:26 2023 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Jan 15 18:19:22 2023 +0100"
      },
      "message": "Flatten threads: fix for application/json+protobuf responses\n\nWhen a new message is created in a thread, the thread itself is\nreloaded, but via an application/json+protobuf request (array-like data)\ninstead of a regular text/plain request (object-like data). Since the\ncode didn\u0027t work well for these types of requests, the thread didn\u0027t\nfully load.\n\nThis CL fixes this issue by correctly handling application/json+protobuf\nresponses in the response modifiers.\n\nAn issue with the read-only interceptors has also been fixed, and tests\nhave been added to ensure that the array-like to object-like and\nviceversa transformation functions work properly.\n\nBug: twpowertools:153\nChange-Id: If6cd5adc67d676bf36986f325e791124fa71da51\n"
    },
    {
      "commit": "db38d7f281eb87247488cdd8ac423392c3536fbf",
      "tree": "f7d43c17de3bb35e37331acf7ccb782e9864ec07",
      "parents": [
        "115e3d82e35d01bf931468fb6b0e1531f5bddaf5"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Tue Jan 10 22:40:58 2023 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Tue Jan 10 22:40:58 2023 +0100"
      },
      "message": "Flatten threads: minor improvements\n\n- Scroll the reply box to the bottom, so the cursor is visible before\n  composing the reply.\n- Always show the \"more\" button in quotes when the user can\u0027t hover the\n  quote box.\n\nBug: twpowertools:153\nChange-Id: I26a03f3d3aaf8a278a7a641978dfd19274e4d356\n"
    },
    {
      "commit": "115e3d82e35d01bf931468fb6b0e1531f5bddaf5",
      "tree": "cb37a93494f2e3d8695f8f56c666fc140f9cf6b0",
      "parents": [
        "412b75888ff8361c80832d4fcd7b44001af39b67"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Tue Jan 10 21:50:06 2023 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Tue Jan 10 22:02:26 2023 +0100"
      },
      "message": "Flatten threads: add UI components to messages\n\n- A quote is added to messages to show which was the previous message in\n  the reply chain.\n- A \"reply\" button is added to messages to allow users to compose a\n  comment which is added at the end of the reply chain.\n- A bug is fixed in calculating the parent reply ID in the extra info\n  object. Now parent reply means the first message in a reply chain,\n  while previous reply means the previous message in the reply chain.\n\nBug: twpowertools:153\nChange-Id: I699507ade52e80287dd634e61f835d53af6a904d\n"
    },
    {
      "commit": "412b75888ff8361c80832d4fcd7b44001af39b67",
      "tree": "d6414d1d35609a9c0a3e5746543e27d66fdf4bc7",
      "parents": [
        "9062928be1cd2fc55021a0dc1101f03f40f9724f"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Fri Dec 30 01:35:30 2022 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Tue Jan 10 20:49:56 2023 +0000"
      },
      "message": "Inject additional information to message payloads\n\nThis additional information will be used to inject an element inside\nmessages quoting their parent message.\n\nBug: twpowertools:153\nChange-Id: I502f9f9d0377ad5cb9be9c2a96cec416609e790f\n"
    },
    {
      "commit": "9062928be1cd2fc55021a0dc1101f03f40f9724f",
      "tree": "ba36756091a78365fa9f5b828ba5a9c9ff2c2561",
      "parents": [
        "fae8a9681536eb2af2a9377c12a76f2a6f565742"
      ],
      "author": {
        "name": "Victor",
        "email": "contatoempresarialtiovp@gmail.com",
        "time": "Thu Jan 05 03:20:43 2023 +0000"
      },
      "committer": {
        "name": "Pontoon",
        "email": "pontoon@noreply.avm99963.com",
        "time": "Thu Jan 05 03:20:43 2023 +0000"
      },
      "message": "Pontoon: Update Portuguese (pt-BR) localization of TW Power Tools\n\nCo-authored-by: Victor \u003ccontatoempresarialtiovp@gmail.com\u003e\nCo-authored-by: Higoor \u003cHigoor@googlegroups.com\u003e\n"
    },
    {
      "commit": "fae8a9681536eb2af2a9377c12a76f2a6f565742",
      "tree": "f277a5fb9c22078a611c75f8a9c50f7b7f2281cc",
      "parents": [
        "5e364dde164f7d9003caafe5b5185c6d6f3487ef"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Thu Dec 29 23:43:13 2022 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Thu Dec 29 23:43:13 2022 +0100"
      },
      "message": "Fix minor bug in bg.js\n\nA break statement was missing in a switch. This commit also fixes some\nminor cosmetic issues reported by eslint in bg.js.\n\nChange-Id: I01adfe262a315fb993c894c7f116b797ca4352e7\n"
    },
    {
      "commit": "5e364dde164f7d9003caafe5b5185c6d6f3487ef",
      "tree": "5a31ccf016223020da35bde77f082fbde512c62e",
      "parents": [
        "2d9be8da042731799226d739552981ea31661ea9"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Thu Dec 29 23:30:45 2022 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Thu Dec 29 23:30:45 2022 +0100"
      },
      "message": "Add eslint to the project\n\nThis will allow us to catch bugs earlier while developing the extension.\n\nChange-Id: Iaa9b8870c0fabc603517bb5ec1b3ae4a81191ca0\n"
    },
    {
      "commit": "2d9be8da042731799226d739552981ea31661ea9",
      "tree": "4d0a4b32c54aa0496a156182abbad9979036d7d5",
      "parents": [
        "4757ae84aae3853fa537505b0625dd27cc0d8714"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Wed Dec 28 00:50:14 2022 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Thu Dec 29 17:44:18 2022 +0100"
      },
      "message": "Add flattenthreads experiment\n\nThis experiment allows users to flatten the replies in threads, so they\nare shown linearly in a chronological way instead of nested.\n\nWhen the option is enabled, a switch is added to the thread page which\nlets the user switch between flattening replies and not flattening them.\n\nSome UI is still missing (see the design document[1]).\n\n[1]: https://docs.google.com/document/d/1P-HanTHxaOFF_FHh0uSv0GIhG1dxWTJTGoT6VPjjvY0/edit\n\nBug: twpowertools:153\nChange-Id: I43f94442cadc12b752700f0e8d974522be621d3e\n"
    },
    {
      "commit": "4757ae84aae3853fa537505b0625dd27cc0d8714",
      "tree": "08222cb3ab2ca032f043398368929452cafca404",
      "parents": [
        "c252ba0286bc73f45a49463a33821378072ee237"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Wed Dec 28 16:41:37 2022 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Wed Dec 28 16:41:37 2022 +0100"
      },
      "message": "Move XHRProxy code to the xhrInterceptor folder\n\nChange-Id: I2d2e9a4b4c43b1ed75ed500ba202283e8f3b16b7\n"
    },
    {
      "commit": "c252ba0286bc73f45a49463a33821378072ee237",
      "tree": "18d42370742b2ea27088fa958fbf33dc849d15d0",
      "parents": [
        "2e63314fcb8a536f803706cb21b5fc300f6454b8"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Wed Dec 28 16:37:11 2022 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Wed Dec 28 16:38:48 2022 +0100"
      },
      "message": "XHR interceptor minor bug fix\n\nA minor bug prevented the $isArrayProto property from being correctly\nread when parsing responses.\n\nChange-Id: I6ab9b1fc1b03eccc96d0a940d72f34399b5823f5\n"
    },
    {
      "commit": "2e63314fcb8a536f803706cb21b5fc300f6454b8",
      "tree": "77dd03d464a039fae76162b1ffa570f0b20cc611",
      "parents": [
        "ac2a5614831d1ace14694a9ba7b99a7e7f604c85"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Wed Dec 28 00:48:41 2022 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Wed Dec 28 16:02:23 2022 +0100"
      },
      "message": "Simplify CC code with new softRefreshView function\n\nThis new function automatically clicks the Community Console logo to\nsoft refresh the current view. It will be used in other parts of the\nextension in the future, so this commits refactors the code so the logic\nis found in a unique place in the codebase.\n\nBug: twpowertools:153\nChange-Id: I2b061123021e5026e95793d9a77730c2a1eb70ae\n"
    },
    {
      "commit": "ac2a5614831d1ace14694a9ba7b99a7e7f604c85",
      "tree": "83fc44f9efc85af4871793b816f9c1d5c5713572",
      "parents": [
        "102d54b089912d0b2e308f166ef2c7b083581f4d"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Tue Dec 27 21:51:40 2022 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Wed Dec 28 15:57:14 2022 +0100"
      },
      "message": "Add XHR response modifier\n\n- Add ResponseModifier class which is responsible for handling the\n  modification of the responses intercepted by XHRProxy. The\n  modifications occur by processing requests via several individual\n  response modifiers sequentially, which are applied if the URL matches\n  a RegEx condition and, if applicable, passes a condition based on the\n  features enabled by the user.\n\n- A sample response modifier called \"demo\" is included, to show how a\n  simple modifier would work.\n\n- Add mainWorldOptionsWatcher with 2 components: a server and a client,\n  so main world scripts (clients) can retrieve the extension options via\n  their corresponding content scripts (the servers) using an\n  OptionsWatcher class instantiated by the server. This is used by the\n  ResponseModifier class since it\u0027s injected into the main world because\n  it\u0027s the only way to intercept requests.\n\nBug: twpowertools:153\nChange-Id: I8a9767e1eadd60d3a0f1054669e1e1f5e7a49fbb\n"
    },
    {
      "commit": "102d54b089912d0b2e308f166ef2c7b083581f4d",
      "tree": "51d6c43cd29154c4c930c632d25b12a8766fea4d",
      "parents": [
        "11c3502c72405ac4f7778c797cbb81362db912c4"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Dec 18 11:12:11 2022 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Tue Dec 27 23:57:40 2022 +0000"
      },
      "message": "Refactor XHR interceptor\n\nIn preparation for future work on the XHR interceptor.\n\nBug: twpowertools:153\nChange-Id: Id8df1486c033ba02429a17d161e2bcc87a0f1de5\n"
    },
    {
      "commit": "11c3502c72405ac4f7778c797cbb81362db912c4",
      "tree": "89c30695016ae888e31bdc8f8a27f8eb4857b50f",
      "parents": [
        "6c4739a77e3097993a0b96c0686a69a8fcdd3a1b"
      ],
      "author": {
        "name": "Medelinor",
        "email": "eloueryaghlymohamed@gmail.com",
        "time": "Wed Dec 07 22:20:54 2022 +0000"
      },
      "committer": {
        "name": "Pontoon",
        "email": "pontoon@noreply.avm99963.com",
        "time": "Wed Dec 07 22:20:54 2022 +0000"
      },
      "message": "Pontoon: Update Arabic (ar) localization of TW Power Tools\n\nCo-authored-by: Medelinor \u003celoueryaghlymohamed@gmail.com\u003e\n"
    },
    {
      "commit": "6c4739a77e3097993a0b96c0686a69a8fcdd3a1b",
      "tree": "b7cddefd5ea3cab44126743c0b2c975872ab2a98",
      "parents": [
        "41493f2e7fda8eda7944fbdc68fc866d098262bb"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Mon Nov 07 00:11:53 2022 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Mon Nov 07 00:11:53 2022 +0100"
      },
      "message": "Workflows: add mark as read/unread actions\n\nFixed: twpowertools:147\nChange-Id: I6bb2363256cfd2a0ff3aafb4df71f24561576b27\n"
    },
    {
      "commit": "41493f2e7fda8eda7944fbdc68fc866d098262bb",
      "tree": "fb9116efb9915353e36168ab7b80515db27a8d1e",
      "parents": [
        "7249f13d16d71bf90a323e06b18652fe3fbcb16d"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Nov 06 22:38:21 2022 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Nov 06 22:38:21 2022 +0100"
      },
      "message": "Workflows: support CR variable substitution\n\nBug: twpowertools:91\nChange-Id: Ib973bef40bed42d9c75f15710fd2ac3eeb6b9b15\n"
    },
    {
      "commit": "7249f13d16d71bf90a323e06b18652fe3fbcb16d",
      "tree": "9da963c6943493fb7daf22f3e7e1dc876d3f12c5",
      "parents": [
        "e0d65f245a424ab0b1e294b528811e415a589764"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Nov 06 20:07:19 2022 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Nov 06 20:07:19 2022 +0100"
      },
      "message": "Dark theme improvements\n\nFixed: twpowertools:136\nChange-Id: Ic3049e0f1bee50e6922fdc066ce156957d7bbfd3\n"
    },
    {
      "commit": "e0d65f245a424ab0b1e294b528811e415a589764",
      "tree": "6f379d146e3134d401b03a6b3037d0252a4f7290",
      "parents": [
        "6f62c7d89adacd0270e43982c9cf8be227516137"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Nov 06 18:49:35 2022 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Nov 06 18:59:33 2022 +0100"
      },
      "message": "Workflows manager: add user-friendly CR selector\n\nThis CL lets users select CRs for the \"Reply with CR\" action in a\nuser-friendly manner.\n\nA \"Select CR\" button next to the CR field has been added, which opens a\npopup with an adapted version of the Community Console CR list with\nbuttons next to each CR which lets the user select one of them.\n\nFixed: twpowertools:148\nChange-Id: I9799d671e7440b66435b30c540adc3f050c9f4e2\n"
    },
    {
      "commit": "6f62c7d89adacd0270e43982c9cf8be227516137",
      "tree": "22b8743f685b8f66f84b1f4bfdcbd9aa6672742c",
      "parents": [
        "54964a5cbeffb881492c19becaaffc86c014bbbb"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Nov 05 20:48:52 2022 +0100"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Nov 05 20:48:52 2022 +0100"
      },
      "message": "Make workflows compatible with the dark theme\n\nThis CL also contains a minor fix for the workflows menu.\n\nFixed: twpowertools:146\nChange-Id: I754e2695b3ee0f952b8f1c2f05af0533a715684c\n"
    },
    {
      "commit": "54964a5cbeffb881492c19becaaffc86c014bbbb",
      "tree": "e4dd66f579f45fa5c62135b5e8528cc5ee64c18e",
      "parents": [
        "ca25b689e5c49f98ebfc6c79d594090bd08aadcf"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Wed Oct 26 23:53:29 2022 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Tue Nov 01 00:12:26 2022 +0100"
      },
      "message": "Implement workflow execution UI and logic\n\nThis CL adds a provisional workflow execution UI (which will need to be\nthoroughly improved in the future), and most importantly the logic for\nrunning workflows and actions inside workflows.\n\nBug: twpowertools:74\nChange-Id: I94944a623a2411bef9d2b5244fea707e69a49790\n"
    },
    {
      "commit": "ca25b689e5c49f98ebfc6c79d594090bd08aadcf",
      "tree": "a79c12e707d7f7ee6f8b6c7e8276cc2dbf2d9e18",
      "parents": [
        "6b56043cf24f879fd1c96caef7d5afd8e41ae71b"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Mon Oct 24 00:11:03 2022 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Mon Oct 24 00:11:03 2022 +0200"
      },
      "message": "Workflows: add confirmation dialog\n\nThis confirmation dialog is shown before the workflow is executed (the\nactual workflow execution will be developed next).\n\nBug: twpowertools:74\nChange-Id: If8466c9010506861ed1ad0d820c56bbba69e6f3f\n"
    },
    {
      "commit": "6b56043cf24f879fd1c96caef7d5afd8e41ae71b",
      "tree": "5a5958649dcfae897960328039b303401a84b8c6",
      "parents": [
        "96ae96f6304dba0ae90733f32d0fb3132eb44c35"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Oct 23 20:26:17 2022 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Oct 23 20:33:21 2022 +0200"
      },
      "message": "Ensure Terser only outputs ascii characters\n\nThe google-protobuf dependency defines some Regex patterns, which\ninclude escape sequences corresponding to invalid Unicode characters.\nTerser at the minification phase would convert those escape sequences to\nthe raw bytes, which would render the UTF-8 file invalid, and Chrome\nwouldn\u0027t let the user install the extension.\n\nThus, this CL adds a workaround to only output valid ASCII characters,\nso this issue doesn\u0027t occur again. This isn\u0027t expected to have much\nimpact, since we don\u0027t use a lot of non-ASCII characters in our code.\n\nFixed: twpowertools:145\nChange-Id: I56863eaa8a90e7382758474f8c0ba08c17cf51f0\n"
    },
    {
      "commit": "96ae96f6304dba0ae90733f32d0fb3132eb44c35",
      "tree": "a846da4ce26cfd9c428eff0c25c3e34762862068",
      "parents": [
        "0caffdd41a55030d6b1d318afd642ab1fc23c9d5"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Mon Oct 17 23:50:36 2022 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Tue Oct 18 00:06:28 2022 +0200"
      },
      "message": "Show workflows in thread list menu\n\nThis CL adds the logic for displaying the list of workflows in the menu\nwhich is added to thread lists. Before, the list included some fake\nnames. It also adds a button to manage workflows.\n\nThe next step is to create the components/logic which will allow the\nuser to execute the workflow in the selected threads.\n\nBug: twpowertools:74\nChange-Id: I22d0be8a101f9e167b9408bb6046299f3bd3c787\n"
    },
    {
      "commit": "0caffdd41a55030d6b1d318afd642ab1fc23c9d5",
      "tree": "2f7739588542bcdf4cc1590608b575a6ddaa41c4",
      "parents": [
        "8803b6c648b2c85e1dc054fb73366621f353087d"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Mon Oct 17 19:40:35 2022 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Mon Oct 17 19:40:35 2022 +0200"
      },
      "message": "Add method to watch for workflows storage changes\n\nThis method will be reused throughout the code to watch for changes in\nthe workflows storage area, in order to present the most recent list of\nworkflows available.\n\nBug: twpowertools:74\nChange-Id: I60eff85d8436e40c6912fdbb75f02f6457e4e295\n"
    },
    {
      "commit": "8803b6c648b2c85e1dc054fb73366621f353087d",
      "tree": "8ad80d90c4eef7361dc0b45eafdd37467103ba0b",
      "parents": [
        "6d91274ebc99df73b453a67397f14a5ba27676e5"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Mon Oct 17 00:36:38 2022 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Mon Oct 17 00:42:41 2022 +0200"
      },
      "message": "Workflow manager: edit and delete workflows\n\nThis CL adds the ability to view/edit and delete workflows in the\nworkflow manager. With this, the workflow manager initial prototype is\ncomplete, since it allows the user to fully manage their workflows, even\nif the UI might be subject to change to further improve it in the\nfuture.\n\nBug: twpowertools:74\nChange-Id: I4f8d1b7ab54dcc600dbd10fcb8e605bcb61d36bb\n"
    },
    {
      "commit": "6d91274ebc99df73b453a67397f14a5ba27676e5",
      "tree": "05828d3585fa27bb0efc7098f2a6b728c8f8e742",
      "parents": [
        "7f1e8ea3ae329c59c5d3a02d4767b81d5e5c3266"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Oct 16 23:57:26 2022 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Oct 16 23:57:26 2022 +0200"
      },
      "message": "Workflow manager: only show supported actions\n\nBug: twpowertools:74\nChange-Id: Ia2c407acb302bd477e1e33423570ce095138c396\n"
    },
    {
      "commit": "7f1e8ea3ae329c59c5d3a02d4767b81d5e5c3266",
      "tree": "04d3e3e147de36dbdbb185346554d83878e8ac50",
      "parents": [
        "c5507dd61b57b330551d31b7aed0655f71faee9c"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Fri Oct 14 15:50:11 2022 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Oct 16 23:53:47 2022 +0200"
      },
      "message": "Add ability to save and view a list of workflows\n\nThis CL introduces the following functionality:\n\n- Introduces some logic to handle the persistence of workflows in the\n  browser storage.\n- Lets the user save created workflows in the \"create workflow\" dialog.\n- Shows a list of workflows. If the user hasn\u0027t added any workflow, a\n  placeholder image is shown alongside a text which invites the user to\n  create a new workflow.\n\nBug: twpowertools:74\n\nChange-Id: Icba09d20468bafc1415b802a3c935e22669546e6\n"
    },
    {
      "commit": "c5507dd61b57b330551d31b7aed0655f71faee9c",
      "tree": "8b7ce495b02ffefec7fedc0fe7eef6cc58ee3956",
      "parents": [
        "f276ac73dac2a9bc34175eeeae54fb28a06a81fc"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Thu Oct 13 23:04:01 2022 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Thu Oct 13 23:04:26 2022 +0200"
      },
      "message": "Add name field to workflow editor\n\nBug: twpowertools:74\nChange-Id: I244c541c6d74884c1da9a37413770c2518d18be1\n"
    },
    {
      "commit": "f276ac73dac2a9bc34175eeeae54fb28a06a81fc",
      "tree": "63c7728683e44f8f6989115d6cc5905dc4c5935a",
      "parents": [
        "f5147989a74a645f7ee50105a9144f9def6fd212"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Thu Oct 13 22:16:22 2022 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Thu Oct 13 22:23:54 2022 +0200"
      },
      "message": "Add initial version of the workflows manager\n\nThe workflows manager can be accessed from the extension options, and\nwill let the user add custom workflows, edit and view the already\ncreated ones, and delete them.\n\nAs of now, the only feature implemented is a functional prototype of the\n\"new workflow\" dialog, which is missing the workflow title field and the\nfunctionality to persist the designed workflows. The only action\nsupported in the workflows editor is the \"reply with canned response\"\naction.\n\nBug: twpowertools:74\nChange-Id: I0d93bf0fdcda92a449855c1f8470f8b7068839aa\n"
    },
    {
      "commit": "f5147989a74a645f7ee50105a9144f9def6fd212",
      "tree": "f6c7d3492c8ab79e0e879532cd406cf14bce2aa6",
      "parents": [
        "752a40d8e46de7b7deb998fa6169c7359ef8745d"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Thu Oct 13 22:07:36 2022 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Thu Oct 13 22:07:36 2022 +0200"
      },
      "message": "Add autogenerated workflows protobuf code\n\nThis should have been part of CL:2447, but I forgot to autogenerate the\njavascript code for the protobuf definition.\n\nBug: twpowertools:74\nChange-Id: Iae09946dcc693309e778975f22a2e6b17840760d\n"
    },
    {
      "commit": "752a40d8e46de7b7deb998fa6169c7359ef8745d",
      "tree": "bc31f269edcc8511ceef5ddf3f8d7d034275ef2d",
      "parents": [
        "2788d12df940bb79340bd54a76235ed8346a0010"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Mon Oct 10 22:22:58 2022 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Mon Oct 10 22:22:58 2022 +0200"
      },
      "message": "Add ReplyWithCRAction to workflows protobuf\n\nThis CL adds the definition for the \"reply with CR\" action to the\nworkflows protobuf definitions file. This action will be the first to be\nsupported.\n\nBug: twpowertools:74\nChange-Id: I93507eb7f05225cdb2320e6a1dce2563a5925083\n"
    },
    {
      "commit": "2788d12df940bb79340bd54a76235ed8346a0010",
      "tree": "a9cadb9e0c87c58709cab1ceecb4ffc6f2b22735",
      "parents": [
        "4107b5e7b6d9335b8f0617bcb257b00347d1ff5c"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Mon Oct 10 22:06:25 2022 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Mon Oct 10 22:20:59 2022 +0200"
      },
      "message": "Add workflow menu to thread lists\n\nThis CL adds a MD3 menu button to the bulk actions bar in thread lists.\nThe menu will display the available workflows, but as of now it just\ncontains random items, and clicking the items doesn\u0027t work (this will be\nimplemented later).\n\nThis implementation has been done using the newly added @material/web\npackage, so the elix package has been removed from the project. This is\nbecause @material/web also uses Material Design like the Community\nConsole.\n\nBug: twpowertools:74\nChange-Id: Ifb3712c7afc024e21c7ff83fb77658cd8d08bc8a\n"
    },
    {
      "commit": "4107b5e7b6d9335b8f0617bcb257b00347d1ff5c",
      "tree": "fe34cc78502fa562c30ac60811a5fd29035ab2c7",
      "parents": [
        "75f16e88090e5a0ee8ae89e961a63f99c31b34e5"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Oct 09 23:11:11 2022 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sun Oct 09 23:11:11 2022 +0200"
      },
      "message": "Extract logic to add buttons to the bulk actions bar\n\nIn the future, we will want to add many buttons to the bulk actions bar\nin thread lists. This CL prepares for that by moving the logic which\ndetects whether the button has already been inserted into the bar to a\ncommon file, so it can be reused by features other than the \"batch lock\"\nfeature.\n\nBug: twpowertools:74\nChange-Id: Ic98cb68e5a8d0ca97e24578050b53cff6fdde41c\n"
    },
    {
      "commit": "75f16e88090e5a0ee8ae89e961a63f99c31b34e5",
      "tree": "c2c47f36baa0cb22212de99fe70de6b601e1b965",
      "parents": [
        "c80078050d78ea1e3dac3a42a4f8a50857c177cb"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Oct 01 20:40:32 2022 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Oct 01 20:40:32 2022 +0200"
      },
      "message": "Add elix and lit packages\n\nThese will be used by the Workflows feature.\n\nBug: twpowertools:74\nChange-Id: Id2616e0544ac5194e265833cc99cae2c46324efd\n"
    },
    {
      "commit": "c80078050d78ea1e3dac3a42a4f8a50857c177cb",
      "tree": "62db73ed8e1122a2bbb7ea6b24e85be731f75809",
      "parents": [
        "4b6c1cbafb0d5ebd77c8839d9302c5f6ade1e125"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Oct 01 19:42:19 2022 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Sat Oct 01 17:55:23 2022 +0000"
      },
      "message": "infiniteScroll: fix incompatibility w/ message links\n\nWhen opening a link to a specific message inside a thread in both TW\nbasic and the Community Console, the \"load more\" button might be visible\nfor an instant before/while scrolling to and focusing the specific\nmessage being linked. This causes the \"load more\" button to be pressed\nautomatically when the infinite scroll feature is enabled.\n\nThis CL fixes this issue by adding a delay of 3.5s before enabling the\ninfinite scroll feature when the URL specifies a message to focus.\n\nFixed: twpowertools:141\nChange-Id: Ie9126141ee9f763707bd61b272ec53b4e1d8079f\n"
    },
    {
      "commit": "4b6c1cbafb0d5ebd77c8839d9302c5f6ade1e125",
      "tree": "33f610ba194eb1bb8a868ae5077229d66fc3a6ce",
      "parents": [
        "d2344c4b11f4c110de277bccef376b87db067e34"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Fri Sep 30 13:54:18 2022 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Fri Sep 30 13:56:15 2022 +0200"
      },
      "message": "Fix avatars feature for threads with nested replies\n\nThe avatars feature didn\u0027t work well when a thread had nested replies.\nThis CL adapts the feature so it takes into account nested replies. The\norder of the avatars tries to take into account when a user joined the\nthread, instead of showing the avatars in the order they are shown\ninside a thread.\n\nFixed: twpowertools:142\nChange-Id: I38fdaf3c8f73787d246b0631776d91f470c12579\n"
    },
    {
      "commit": "d2344c4b11f4c110de277bccef376b87db067e34",
      "tree": "0edcd041e01af2b3ba131e6dd6e0d4f2d1ecac69",
      "parents": [
        "6ef32fe569175d4c8b7de73e9bfdf6a45ab4022f"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Fri Sep 30 13:14:29 2022 +0200"
      },
      "committer": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Fri Sep 30 11:40:04 2022 +0000"
      },
      "message": "Make nested replies warning in old UI smarter\n\nThe warning shown in the old thread UI when the nested replies feature\nis enabled in a thread has been improved. Before, it only worked by\nchecking whether the thread was posted in one of the few forums we knew\nnested replies were enabled there. These forums were manually hardcoded\ninto the extension.\n\nHowever, now the extension detects whether the thread shown is using\nnested replies by inspecting the ViewThread response, just like TW does.\n\nBug: twpowertools:139\nChange-Id: I3470eb600f743f14ca565151c19f333f741c544e\n"
    },
    {
      "commit": "6ef32fe569175d4c8b7de73e9bfdf6a45ab4022f",
      "tree": "ffb9910c2e41df9cd406bb8a1bec929aecd07c77",
      "parents": [
        "816219cc996f05765ca7368a2aea248502b46e68"
      ],
      "author": {
        "name": "Bryx",
        "email": "fr.bryx@gmail.com",
        "time": "Fri Sep 30 05:20:56 2022 +0000"
      },
      "committer": {
        "name": "Pontoon",
        "email": "pontoon@noreply.avm99963.com",
        "time": "Fri Sep 30 05:20:56 2022 +0000"
      },
      "message": "Pontoon: Update French (fr) localization of TW Power Tools\n\nCo-authored-by: Bryx \u003cfr.bryx@gmail.com\u003e\n"
    },
    {
      "commit": "816219cc996f05765ca7368a2aea248502b46e68",
      "tree": "55156ceff19de2c7e635134754b5938a372c8eca",
      "parents": [
        "820b18efc7e50997181d57e5be8c0bbf3096cf2e"
      ],
      "author": {
        "name": "Adrià Vilanova Martínez",
        "email": "me@avm99963.com",
        "time": "Thu Sep 29 21:56:59 2022 +0000"
      },
      "committer": {
        "name": "Pontoon",
        "email": "pontoon@noreply.avm99963.com",
        "time": "Thu Sep 29 21:56:59 2022 +0000"
      },
      "message": "Pontoon: Update Spanish (es) localization of TW Power Tools\n\nCo-authored-by: Adrià Vilanova Martínez \u003cme@avm99963.com\u003e\n"
    },
    {
      "commit": "820b18efc7e50997181d57e5be8c0bbf3096cf2e",
      "tree": "8045e836e787dd16f8bbb5b8ca47db44224377fc",
      "parents": [
        "5a0acfb476c63cf60eb8348b22e82bc382c77bed"
      ],
      "author": {
        "name": "Yaroslav",
        "email": "wolkxxxxxx@gmail.com",
        "time": "Thu Sep 29 21:56:49 2022 +0000"
      },
      "committer": {
        "name": "Pontoon",
        "email": "pontoon@noreply.avm99963.com",
        "time": "Thu Sep 29 21:56:49 2022 +0000"
      },
      "message": "Pontoon: Update Russian (ru) localization of TW Power Tools\n\nCo-authored-by: Yaroslav \u003cwolkxxxxxx@gmail.com\u003e\n"
    }
  ],
  "next": "5a0acfb476c63cf60eb8348b22e82bc382c77bed"
}
