)]}' { "log": [ { "commit": "2d22c4af2f5c45f6afcda7ee9c2aa5966fd57b89", "tree": "a64e093a893a0214a1183672734f2dae1d7f00d2", "parents": [ "d269c62ce07a4afbefbe9f57e5ce148eb0915d37" ], "author": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Mon Sep 06 00:35:18 2021 +0200" }, "committer": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Mon Sep 06 00:38:55 2021 +0200" }, "message": "Deprecate the \"disable unified profiles\" feature\n\nThe Community Console no longer supports the old per-forum profiles, so\nthis feature has stopped working.\n\nChange-Id: I8ff6507a03adca483dda3985db92dab486e419e3\n" }, { "commit": "d269c62ce07a4afbefbe9f57e5ce148eb0915d37", "tree": "77aa1b0af921c7a484a095c3035e3e99fdaf34b6", "parents": [ "51628bbfd7f40de7e5f42b35bc04303ab3680e1e" ], "author": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Sat Sep 04 18:35:55 2021 +0200" }, "committer": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Sun Sep 05 22:24:40 2021 +0200" }, "message": "Make some of the options dynamic\n\nThis change modifies the logic of several features so they aren\u0027t\nenabled/disabled depending on the options state when the page is loaded\nbut dynamically.\n\nSo, for instance, when the thread list avatars feature is switched from\nenabled to disabled, when browsing the Community Console, newly loaded\nthread lists won\u0027t have the avatars, without having to reload the whole\nCommunity Console.\n\nThis will make \"kill switches\" more effective, since they will be able\nto take effect without having to reload the Community Console page.\n\nThe options which still haven\u0027t been made dynamic are features which add\nCSS tweaks to the Community Console. For those features (like the dark\nmode) a future CL will make them dynamic.\n\nBug: twpowertools:61\nChange-Id: I72b511dd3b2622a2e9c633850e29806953e4b284\n" }, { "commit": "bddf1239cbaa8f18d7b1d6bd9b5a16667b71c016", "tree": "70affcd27645d18d2aacfba0487534cd246656cd", "parents": [ "b313e2aa2556964a5f8b9cc031134f8185996965" ], "author": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Tue Aug 31 23:23:41 2021 +0200" }, "committer": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Tue Aug 31 23:23:41 2021 +0200" }, "message": "Fix \"close\" button in batch lock dialog\n\nCL:1615 introduced this regression.\n\nFixed: twpowertools:54\nChange-Id: Ia7d1c4651c01f18c8907bea00de0493c09ae7b34\n" }, { "commit": "60b155d78215a05a53983f41c8bb74807a2798dd", "tree": "e144fed2c6afe2bc0c6c0fe353313b1d86b90555", "parents": [ "158472627f1916b117d05cd3a7fc2e50608b010f" ], "author": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Sat Aug 28 01:56:38 2021 +0200" }, "committer": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Sat Aug 28 01:57:47 2021 +0200" }, "message": "Fix minor bug when constructing error message\n\nChange-Id: I6a6674bc659472821dd97d4a1f8c491f5efe8121\n" }, { "commit": "cb5524823f338eff91cbbf0b7f28c309f905e72e", "tree": "83bf1b33579e81f8c38eec2b0f7f560c50d79c1d", "parents": [ "f400632c6af6cfaf1ad53b16583beda55e0a5e41" ], "author": { "name": "avm99963", "email": "me@avm99963.com", "time": "Sun Aug 22 18:42:35 2021 +0200" }, "committer": { "name": "avm99963", "email": "me@avm99963.com", "time": "Sun Aug 22 19:22:01 2021 +0200" }, "message": "threadListAvatars: improve private thread indicator\n\nPreviously, the private thread indicator consisted in a \"key\" icon, and\naccording to one PE this led to confusion since it could be\nmisinterpreted as a lock icon.\n\nThis change replaces the icon by a \"crossed person\" icon, and adds a\ntooltip to the icon which explains why that icon is shown.\n\nFixed: twpowertools:43\nChange-Id: I2ec28114d93bf78be1b5f9999e65f916d7b2703f\n" }, { "commit": "58697fec5ac472bab3abff654c74486d611788ab", "tree": "3d43ea8d0200d14c4b3ea3dc9cd0fde58a1eb826", "parents": [ "dca8722572852b226d26c91c4ae40246e568305a" ], "author": { "name": "avm99963", "email": "me@avm99963.com", "time": "Tue Aug 17 11:20:51 2021 +0200" }, "committer": { "name": "avm99963", "email": "me@avm99963.com", "time": "Tue Aug 17 11:37:24 2021 +0200" }, "message": "autoRefreshList: add status indicator\n\nIn order to clarify when the feature is watching for updates in the\ncurrent thread list or not depending in the current sort options, this\nchange adds an indicator which states this.\n\nIt also adds styles for a \"muted\" state of the indicator which might\nindicate in the future that the user has disabled it manually.\n\nApart from this, this also changes the option text to improve it.\n\nFixed: twpowertools:5\nChange-Id: I77a65fa9091d6c9e18f09a3798eeb5197ced8647\n" }, { "commit": "dca8722572852b226d26c91c4ae40246e568305a", "tree": "dc99b2d4e7f542b14c0ed7b6512e9519d5dc14ae", "parents": [ "5203fa6d287bc03e611b169aedfd4b67bc6a573f" ], "author": { "name": "avm99963", "email": "me@avm99963.com", "time": "Mon Aug 16 19:10:25 2021 +0200" }, "committer": { "name": "avm99963", "email": "me@avm99963.com", "time": "Mon Aug 16 19:33:16 2021 +0200" }, "message": "autoRefreshList: improve filter detection \u0026 remove first call\n\nBefore, we constructed the filter via an approximate method, which\nwouldn\u0027t always get the correct filter that the Community Console was\nusing. Now that we\u0027re intercepting the first call to ViewForum, this\nchange gets the filter directly from the request (and also the forumId\nvalue, which we always set as \u00270\u0027 before).\n\nAlso, we used to perform a first call to get the timestamp of the first\nthread being shown. Now, we intercept the ViewForum response to get this\ntimestamp instead of performing a separate call to the API.\n\nNote that sometimes when the thread list is shown the CC doesn\u0027t call\nthe API, but insteads gets the threads from a previous call. The only\ncase I\u0027ve detected is when a user navigates back to a thread list, and\nin this case the feature uses the previously saved data from the last\ninterception, which works fine. Also, if a thread list is loaded and we\nnavigate forward to another thread list, we can\u0027t go back to the\nprevious thread list (there isn\u0027t a button in the UI and the browser\nbutton goes to the page opened before the Community Console), so the\nfeature doesn\u0027t break this way.\n\nHowever, if there are other cases in which the Community Console doesn\u0027t\ncall the API neither, these might break the feature. Anyways, this\nchange is definitely an improvement over the old method.\n\nFixed: twpowertools:22\nChange-Id: I66ff3b78e2089dc1decd35e6a89b208446409b86\n" }, { "commit": "5203fa6d287bc03e611b169aedfd4b67bc6a573f", "tree": "113c57ece16541d09b5350eba31cd58df32029ca", "parents": [ "4298b43595e26fa27e4ddef9acd5c48ef79dc7a8" ], "author": { "name": "avm99963", "email": "me@avm99963.com", "time": "Mon Aug 16 18:36:02 2021 +0200" }, "committer": { "name": "avm99963", "email": "me@avm99963.com", "time": "Mon Aug 16 18:36:02 2021 +0200" }, "message": "Fix: snackbar is sometimes uninitialized\n\nSometimes the hideUpdatePrompt() method is called before setUp() is\ncalled, which results in the snackbar being uninitialized and\nhideUpdatePrompt() fails.\n\nThis is the second attempt to fix this issue. The first attempt was\nreverted since it broke the feature.\n\nBug: twpowertools:36\nChange-Id: I7114c5fb7be293248a8303a3d5e5120f14573101\n" }, { "commit": "de7c0aa96d181fea37cc8911a78579152b7350b7", "tree": "69c2ec2ab33febf9f70fbeeed368bad8d6f0f77f", "parents": [ "8f72368309626bf9529c2d4e93d3c53e350eaa58" ], "author": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Mon Aug 16 14:17:10 2021 +0000" }, "committer": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Mon Aug 16 14:17:10 2021 +0000" }, "message": "Revert \"Tentative fix: snackbar is sometimes uninitializated\"\n\nThis reverts commit 8f72368309626bf9529c2d4e93d3c53e350eaa58.\n\nReason for revert: this change breaks the feature.\n\nChange-Id: I53c5084a0fba30ce8974e72ee127aeb9674464a5\n" }, { "commit": "8f72368309626bf9529c2d4e93d3c53e350eaa58", "tree": "3625401c8f595022af622140cad19fad123010a6", "parents": [ "351860da907739087a35c1fa6eb9964d8c020bc1" ], "author": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Mon Aug 16 11:48:02 2021 +0200" }, "committer": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Mon Aug 16 11:57:07 2021 +0200" }, "message": "Tentative fix: snackbar is sometimes uninitializated\n\nSometimes the hideUpdatePrompt() method is called before setUp() is\ncalled, which results in the snackbar being uninitialized and\nhideUpdatePrompt() fails.\nThis is a tentative fix for this problem, since we don\u0027t know why\nsetUp() is called before hideUpdatePrompt(), and this unknown edge case\nmight introduce some more bugs.\n\nBug: twpowertools:36\nChange-Id: I0296bd07cfc81f7e06590c96a640736e2773843d\n" }, { "commit": "351860da907739087a35c1fa6eb9964d8c020bc1", "tree": "69c2ec2ab33febf9f70fbeeed368bad8d6f0f77f", "parents": [ "31a661600ae3256ad8f95b92c90f3e2c5e8369a4" ], "author": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Mon Aug 16 11:33:24 2021 +0200" }, "committer": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Mon Aug 16 11:33:24 2021 +0200" }, "message": "Fix: ignore unrelated ViewForum requests (threadListAvatars)\n\nCommit 31a6616 is wrong, since the maxNum property is included in the\nrequest body, not the response body. This followup commit fixes this and\naccomplishes what the previous commit was supposed to do.\n\nBug: twpowertools:24\nChange-Id: I808f3b01379d8c404f956ac14a3693dcf2520f7e\n" }, { "commit": "31a661600ae3256ad8f95b92c90f3e2c5e8369a4", "tree": "069afc199f11c42cb329209a9158e72f97d1428f", "parents": [ "8ef13d4cf62a8d01c42dfac3648ab8ad6afaf927" ], "author": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Mon Aug 16 10:31:23 2021 +0200" }, "committer": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Mon Aug 16 10:52:23 2021 +0200" }, "message": "threadListAvatars: ignore unrelated ViewForum requests\n\nWe\u0027re only interested in ViewForum requests made to load threads into\nthe thread list. This change ignores other ViewForum requests (by the\nchat feature and the \"Mark as Duplicate\" dialog) which are not needed.\n\nFixed: twpowertools:24\n\nChange-Id: I9b684ddf9ade1a81eec97918a4fbd67bf8f490a7\n" }, { "commit": "8ef13d4cf62a8d01c42dfac3648ab8ad6afaf927", "tree": "31f3c2b37bbd12004bce7614483725574be2b9f1", "parents": [ "47d33bc0c4edc51364bbc16ea96247ab2bac96f2" ], "author": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Mon Aug 16 10:07:26 2021 +0200" }, "committer": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Mon Aug 16 10:14:36 2021 +0200" }, "message": "autoRefreshList: ignore unrelated ViewForum requests\n\nThe XHR interceptor sends events for all ViewForum requests. This\nincludes the requests made by the \"Mark as Duplicate\" dialog and the\nchat feature, which are treated as if a new thread list was loaded.\n\nThis change ignores those, and also ignores requests to load more\nthreads in the current thread list, since the only type of request\nwe\u0027re interested in is the first request to load the thread list.\n\nBug: twpowertools:24\nChange-Id: I3be18615405f90c80ce32f9a5b72b36b506ac4e9\n" }, { "commit": "fd22267f550b684e69a4cc479ddc131f59c213eb", "tree": "462ee6aa098677c25861395b76ea2d02bfb4ad61", "parents": [ "b6f68b661d88de70e1972ef177ed19a69c86879e" ], "author": { "name": "avm99963", "email": "me@avm99963.com", "time": "Thu Aug 12 23:23:01 2021 +0200" }, "committer": { "name": "avm99963", "email": "me@avm99963.com", "time": "Thu Aug 12 23:23:01 2021 +0200" }, "message": "Change window.autoRefresh to window.TWPTAutoRefresh\n\nThis will make it much less likely to conflict with another vanilla\nCommunity Console global variable called like that.\n\nChange-Id: I4da7aafd1bd4694262fa09adb14709a8510743b3\n" }, { "commit": "b6f68b661d88de70e1972ef177ed19a69c86879e", "tree": "95d4e34ea72a5d8842563c7534391e0c869e6168", "parents": [ "1f50f6fc6ab581593bbb7872772d6f8d7e1b1c5f" ], "author": { "name": "avm99963", "email": "me@avm99963.com", "time": "Thu Aug 12 23:13:06 2021 +0200" }, "committer": { "name": "avm99963", "email": "me@avm99963.com", "time": "Thu Aug 12 23:13:06 2021 +0200" }, "message": "Improve sort detection\n\nBefore, we relied on the startup data object to detect whether the sort\noptions were compatible with this feature or not, which gave a wrong\nveredict if those options were changed without reloading the page.\n\nThis change detects those options much more reliably, as it now parses\nthe last ViewForum request body to search for those settings.\n\nBug: twpowertools:5, twpowertools:22\nChange-Id: Ic00200f51b611197c0158f9497597af47bee9581\n" }, { "commit": "d3f4ac06c00e52e6863c368fa149d8a36b64389c", "tree": "8f249ebb4ff22cf4134b0dbf7efe41a065abdc49", "parents": [ "87110e99c8e267b0853ccf266302b3e7b34e3d06" ], "author": { "name": "avm99963", "email": "me@avm99963.com", "time": "Thu Aug 12 18:36:58 2021 +0200" }, "committer": { "name": "avm99963", "email": "me@avm99963.com", "time": "Thu Aug 12 18:46:38 2021 +0200" }, "message": "Refactor autoRefresh code\n\nRefactor code to class and use CCApi function instead of calling the API\nmanually via fetch.\n\nChange-Id: I5b7745ca076d58343e4902f2fc400112e592a9b2\n" }, { "commit": "87110e99c8e267b0853ccf266302b3e7b34e3d06", "tree": "808e22bdae6e250453faeb961ff67b0bc1264e53", "parents": [ "b8a5203dbfb94fe9cdee28d188fc37f4162630ac" ], "author": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Wed Aug 11 19:23:16 2021 +0200" }, "committer": { "name": "avm99963", "email": "me@avm99963.com", "time": "Wed Aug 11 19:49:58 2021 +0200" }, "message": "ThreadListAvatars: add private thread indicator\n\nWhen a thread belongs to a private forum, we can\u0027t obtain its avatars.\nThis changes makes this clear by inserting a \"key\" icon where the\navatars should be shown.\n\nBug: twpowertools:30\nChange-Id: Idec33f277b12282df0fd271eebe0156865474bf4\n" }, { "commit": "afda2372a14f3318e4bce965e46cd19a45c92dea", "tree": "efc7253c6a6c4200953d3a0623f602040bfa8975", "parents": [ "d473609c6b43e98520ce2509f9998c7ab8da1979" ], "author": { "name": "avm99963", "email": "me@avm99963.com", "time": "Sun Aug 08 20:54:05 2021 +0200" }, "committer": { "name": "avm99963", "email": "me@avm99963.com", "time": "Sun Aug 08 20:54:05 2021 +0200" }, "message": "Fix: invalidate avatars cache entry after posting reply\n\nAfter writing a reply to a thread and going back to the thread list, the\ncache entry was always used, and so the avatars would be wrong if it was\nthe first time replying to that thread. This fixes it.\n\nFixed: twpowertools:23\nChange-Id: Ibc77e8394bf3bf912d6b6ae11ae23a8fd4b36712\n" }, { "commit": "d473609c6b43e98520ce2509f9998c7ab8da1979", "tree": "b1e041878208cda9beec7d53de07c5890dcc22cf", "parents": [ "feb2819452ce5ccbee4c82405232cd3516d186d6" ], "author": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Sat Aug 07 23:43:58 2021 +0200" }, "committer": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Sat Aug 07 23:45:37 2021 +0200" }, "message": "Batch lock: reload list instead of the whole page\n\nAfter performing the batch lock action, two buttons are presented: one\nfor reloading the page and another one to close the dialog. This change\nunifies them, which force reloads the thread list without having to\nreload the entire page.\n\nFixed: twpowertools:7\nChange-Id: I319ddd9af3e7133406aece4d92ee0a81f28873c9\n" }, { "commit": "462280fb9447e52a8019915f09ffed0fcceda7b1", "tree": "2b35a241b4abc7e50a991242251512b5364ee3a1", "parents": [ "b8e442b52f302be4633bd10d8b97a5d709b4f3c4" ], "author": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Sat Aug 07 22:59:02 2021 +0200" }, "committer": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Sat Aug 07 23:16:57 2021 +0200" }, "message": "Refactor BatchLock code\n\nThis will hopefully make it a little bit clearer.\n\nChange-Id: Ie6b7159c3821adc09cf8e07f1a70f6caf0ff9e27\n" }, { "commit": "ba3eebab562e667720e0f4ee6c74ac538f12dbce", "tree": "a07c67e069942c8ac0818958e881ddc23c89facc", "parents": [ "ffd26cf359710bcd4db61c3283bcbff74cdb86ef" ], "author": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Sun Jul 25 12:22:02 2021 +0200" }, "committer": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Sun Jul 25 12:22:02 2021 +0200" }, "message": "Remove leftover code from deprecated option\n\nThe smei_sortdirection option was removed/deprecated, but its code was\nleft in the codebase. This change removes the leftover code since it is\nuseless now.\n\nChange-Id: I858908cc29c24d82fb7116a67a965ebab6b261cc\n" }, { "commit": "ffd26cf359710bcd4db61c3283bcbff74cdb86ef", "tree": "c1f4cff203da9759a07032c92b93a83bcf61d770", "parents": [ "2c8913be32d29136a460a6c2f9f6b63f186b8689" ], "author": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Thu Jul 22 23:54:22 2021 +0200" }, "committer": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Thu Jul 22 23:57:22 2021 +0200" }, "message": "Deprecate forceMarkAsRead option\n\nThe workaround applied by this option is no longer necessary since the\nissue being worked around has already been fixed in the Community\nConsole.\n\nBug: twpowertools:14\nChange-Id: I20a28937cfb8ce8e186c1ddfed95f294473c4a40\n" }, { "commit": "d56150328cfc128c56ef801249b41cb6e38e65a4", "tree": "5327a99604e2351e3c015b3fb6d1b7be7f50acb4", "parents": [ "4cfa32f89c0e05bf723f0e1f71dc7125ea8c41ea" ], "author": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Thu Jul 22 22:19:37 2021 +0200" }, "committer": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Thu Jul 22 22:19:37 2021 +0200" }, "message": "Invalidate threads when lastMessageId is not set\n\nSome threads don\u0027t have the lastMessageId field set when retrieved via\nViewForum, and this caused them to never be invalidated. This change\nfixes this, so these threads are always invalidated because we can\u0027t\nmake sure they continue to be valid.\n\nFixed: twpowertools:13\nChange-Id: I39f021645035067807a30d64587acc28f4e876dd\n" }, { "commit": "4cfa32f89c0e05bf723f0e1f71dc7125ea8c41ea", "tree": "0c2824d80ad78cd103d28dd6e7434286b0d6cc76", "parents": [ "ac9fc9eef6bfe4d0588c79b517703ce1384dca43" ], "author": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Thu Jul 22 17:29:03 2021 +0200" }, "committer": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Thu Jul 22 21:51:47 2021 +0200" }, "message": "Fix: sometimes the avatars cache isn\u0027t used\n\nWhen going back to a thread list from another page, the Community\nConsole shows the thread list using the cached list (it doesn\u0027t retrieve\nthe list again from the API), and so the avatars feature times out while\nwaiting for the XHR interceptor to handle invalidations, and gets the\nthreads from the server instead of from the cache.\n\nNow, after the wait times out, it will be assumed that the API request\ndidn\u0027t occur and so the avatars in the cache are still valid, so the\ncache entry will be used if it exists instead of calling the API.\n\nFixed: twpowertools:10, twpowertools:8\nChange-Id: I992e3c9692c0523be6470bded049500997b46222\n" }, { "commit": "ac9fc9eef6bfe4d0588c79b517703ce1384dca43", "tree": "9ddcd6b45e11474102b6e53b5151f89d772ab2f9", "parents": [ "c41edf4a9d0b418677c5e3d9c891efa677029986" ], "author": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Thu Jul 22 12:45:32 2021 +0200" }, "committer": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Thu Jul 22 12:45:32 2021 +0200" }, "message": "Avatars cache: don\u0027t consider updatedTimestamp field\n\nThe updatedTimestamp field doesn\u0027t reflect when the thread was last\nmodified (sometimes a new reply is added and the timestamp doesn\u0027t\nchange), so this change stops adding it to the cache and considering\nonly the lastMessageId field in order to determine whether a cache entry\nis still valid or not.\n\nBug: twpowertools:11\nChange-Id: I64dd8b8fc25b431bb5294f6aa59b014f1084d758\n" }, { "commit": "c41edf4a9d0b418677c5e3d9c891efa677029986", "tree": "2b65db065b56ab36887412762de1f11739f9443d", "parents": [ "27c699609b8545ee60a775ee91b52f52209eed7a" ], "author": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Sun Jul 18 02:06:55 2021 +0200" }, "committer": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Sun Jul 18 02:14:49 2021 +0200" }, "message": "threadListAvatars: dynamic unauthorized forums\n\nThis is an implementation of point 3 in the \"Idea\" section of the\nfollowing doc: go/eu7T9m (public link available in the linked bug).\n\nParaphrasing the previous document:\nThis change adds code to maintain a list of forums from which the\nextension couldn\u0027t load any thread, which probably correspond to private\nforums. When a forum is in this list, avatars are no longer retrieved\nfrom threads in that forum until the entry expires.\n\nBug: 2\nChange-Id: I05e7b02818181f410855948e1af6ec75fc7c792b\n" }, { "commit": "27c699609b8545ee60a775ee91b52f52209eed7a", "tree": "cb614474209298d9cf48f79952a0cf1c6f511c42", "parents": [ "43ec2b912e0ac8105e83c44a39e23a7a822139ea" ], "author": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Sat Jul 17 23:32:51 2021 +0200" }, "committer": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Sun Jul 18 01:20:16 2021 +0200" }, "message": "Cache thread avatars\n\nThis change adds the AvatarsDB class, which lets the threadListAvatars\nfeature interact with a cache of thread avatars.\n\nThis is an implementation of points 1 and 2 in the \"Idea\" section of the\nfollowing doc: go/eu7T9m (public link available in the linked bug). The\ndoc includes a rationale for this change and what it does.\n\nBug: 2\nChange-Id: Ida9fcd909e3bd4a552361317b9013cb8734272a6\n" }, { "commit": "43ec2b912e0ac8105e83c44a39e23a7a822139ea", "tree": "b1c1708bc20321ffaaa37379f224439bb5849269", "parents": [ "3913e28bb3b1c8c89c57cf3f11254ddcd4283a1a" ], "author": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Fri Jul 16 18:44:54 2021 +0200" }, "committer": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Sat Jul 17 23:30:33 2021 +0200" }, "message": "Add xhrInterceptor utility\n\nSome features would benefit from being able to listen to calls made by\nthe Community Console client to the API. This way, the extension\nwouldn\u0027t need to make additional calls to the API, since it can directly\nget all the information from the current view via the xhrInterceptor.\n\nThis change adds a script which is injected into the Community Console\nand acts as the interceptor. The src/common/xhrInterceptors.json5 file\ndefines which calls should be intercepted, and which data (the request\nbody or the response body) should be retrieved, and when the\nxhrInterceptor finds that an API call matches one of those definitions,\nit dispatches an event with the name defined in the json5 file and the\nprefix \"TWPT_\". Then, content scripts can listen for these events in\norder to work with the data provided in the event details.\n\nBug: 6\nChange-Id: Iea4aeb1f9db84f2c013d82ec4155c59617b8f9f0\n" }, { "commit": "3465e7748ad69c6c818a14c3716ce4c9904cc23d", "tree": "399c0af657ea5ffbad21945f8ae189bc9a0c429b", "parents": [ "d6cdfa7432d9b8035147d114c33c023982e3a91b" ], "author": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Sun Jul 11 19:18:41 2021 +0200" }, "committer": { "name": "Adrià Vilanova Martínez", "email": "me@avm99963.com", "time": "Sun Jul 11 21:15:43 2021 +0200" }, "message": "Refactor extension to webpack\n\nThis change is the biggest in the history of the project. The entire\nproject has been refactored so it is built with webpack.\n\nThis involves:\n- Creating webpack and npm config files.\n- Fixing some bugs in the code due to the fact that webpack uses strict\nmode.\n- Merging some pieces of code which were shared throughout the codebase\n(not exhaustive, more work should be done in this direction).\n- Splitting the console_inject.js file into separate files (it had 1000+\nlines).\n- Adapting all the build-related files (Makefile, bash scripts, etc.)\n- Changing the docs to explain the new build process.\n- Changing the Zuul playbook/roles to adapt to the new build process.\n\nChange-Id: I16476d47825461c3a318b3f1a1eddb06b2df2e89\n" } ] }