{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":402996471,"defaultBranch":"master","name":"TesutoHime","ownerLogin":"ACMClassOJ","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-09-04T07:45:25.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/90086992?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1719582719.0","currentOid":""},"activityList":{"items":[{"before":"23ee3903e87fcd528481bf869abe6311b8daacb7","after":"fee8cd21f43fa0cfa317d15a676ebe3b7abbaf09","ref":"refs/heads/master","pushedAt":"2024-09-29T11:20:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Alan-Liang","name":"Alan L","path":"/Alan-Liang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16379418?s=80&v=4"},"commit":{"message":"fix(web/admin): convert CRLF to LF in description import","shortMessageHtmlLink":"fix(web/admin): convert CRLF to LF in description import"}},{"before":"cb4088e36f16b67586db7f5da17a1ca525b6455c","after":"23ee3903e87fcd528481bf869abe6311b8daacb7","ref":"refs/heads/master","pushedAt":"2024-09-28T03:43:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Alan-Liang","name":"Alan L","path":"/Alan-Liang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16379418?s=80&v=4"},"commit":{"message":"fix(web): disable flow charts and sequence diagrams in problem admin\n\nThey are not supported in rendering anyway; and its dependency (raphael.min.js)\nmonkeypatches window.Element, which breaks swal for (el instanceof Element).","shortMessageHtmlLink":"fix(web): disable flow charts and sequence diagrams in problem admin"}},{"before":"6750700f1a7b0e7c4e72af21d1d74b82965548c3","after":"cb4088e36f16b67586db7f5da17a1ca525b6455c","ref":"refs/heads/master","pushedAt":"2024-09-28T02:53:45.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"Alan-Liang","name":"Alan L","path":"/Alan-Liang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16379418?s=80&v=4"},"commit":{"message":"feat(web/admin): import/export problem description","shortMessageHtmlLink":"feat(web/admin): import/export problem description"}},{"before":"634ee82c3cf9e7372ab2fb6f351510db06dcb795","after":"6750700f1a7b0e7c4e72af21d1d74b82965548c3","ref":"refs/heads/master","pushedAt":"2024-09-27T07:06:32.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"Alan-Liang","name":"Alan L","path":"/Alan-Liang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16379418?s=80&v=4"},"commit":{"message":"feat(models): add type annotation to Problem.examples","shortMessageHtmlLink":"feat(models): add type annotation to Problem.examples"}},{"before":"67a276d1358f74f38cc6e35fa3b80481b0489f58","after":"634ee82c3cf9e7372ab2fb6f351510db06dcb795","ref":"refs/heads/master","pushedAt":"2024-09-22T02:07:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Alan-Liang","name":"Alan L","path":"/Alan-Liang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16379418?s=80&v=4"},"commit":{"message":"docs(deployment): add note about s3 xss","shortMessageHtmlLink":"docs(deployment): add note about s3 xss"}},{"before":"9636110c3c81311414da74e544fc1aa3805539bb","after":"67a276d1358f74f38cc6e35fa3b80481b0489f58","ref":"refs/heads/master","pushedAt":"2024-09-22T01:14:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Alan-Liang","name":"Alan L","path":"/Alan-Liang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16379418?s=80&v=4"},"commit":{"message":"feat(web): add target=_blank to help links","shortMessageHtmlLink":"feat(web): add target=_blank to help links"}},{"before":"9c68d0cf1ccff915a2d2be5a0b4a1036c37006ed","after":"9636110c3c81311414da74e544fc1aa3805539bb","ref":"refs/heads/master","pushedAt":"2024-09-22T00:51:21.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"Alan-Liang","name":"Alan L","path":"/Alan-Liang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16379418?s=80&v=4"},"commit":{"message":"feat(web/admin): show contest completion stats as on-time/late","shortMessageHtmlLink":"feat(web/admin): show contest completion stats as on-time/late"}},{"before":"ba136cd850a9af527392bb0a5be26a32148c012f","after":"9c68d0cf1ccff915a2d2be5a0b4a1036c37006ed","ref":"refs/heads/master","pushedAt":"2024-09-19T12:02:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Wankupi","name":"Wankupi","path":"/Wankupi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/56787079?s=80&v=4"},"commit":{"message":"docs: 更新班级申请表单链接","shortMessageHtmlLink":"docs: 更新班级申请表单链接"}},{"before":"cf7484ad7046abb08674538b59fb1b33eec2b0fe","after":"ba136cd850a9af527392bb0a5be26a32148c012f","ref":"refs/heads/master","pushedAt":"2024-09-02T14:39:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Conless","name":"Yi Pan","path":"/Conless","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/37496034?s=80&v=4"},"commit":{"message":"fix(web): mismatched label in problem_submit.","shortMessageHtmlLink":"fix(web): mismatched label in problem_submit."}},{"before":"6c50f9cd64f6e78cb13e391d1842811fa8fb8175","after":"cf7484ad7046abb08674538b59fb1b33eec2b0fe","ref":"refs/heads/master","pushedAt":"2024-08-29T17:41:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Alan-Liang","name":"Alan L","path":"/Alan-Liang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16379418?s=80&v=4"},"commit":{"message":"fix(web): mypy complaining about redefinition","shortMessageHtmlLink":"fix(web): mypy complaining about redefinition"}},{"before":"d06cb28f005f36decf4c21a6223b2cb6f04afb26","after":"6c50f9cd64f6e78cb13e391d1842811fa8fb8175","ref":"refs/heads/master","pushedAt":"2024-08-29T17:37:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Alan-Liang","name":"Alan L","path":"/Alan-Liang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16379418?s=80&v=4"},"commit":{"message":"fix(docs): typo","shortMessageHtmlLink":"fix(docs): typo"}},{"before":"2585ed378056d01a8226944318cf71cdf425c600","after":"d06cb28f005f36decf4c21a6223b2cb6f04afb26","ref":"refs/heads/master","pushedAt":"2024-08-29T17:29:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Alan-Liang","name":"Alan L","path":"/Alan-Liang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16379418?s=80&v=4"},"commit":{"message":"docs(admin): operations: blog and manual operations","shortMessageHtmlLink":"docs(admin): operations: blog and manual operations"}},{"before":"9559a6cef281b66418b011b43d0229198d539481","after":"2585ed378056d01a8226944318cf71cdf425c600","ref":"refs/heads/master","pushedAt":"2024-08-29T16:49:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Alan-Liang","name":"Alan L","path":"/Alan-Liang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16379418?s=80&v=4"},"commit":{"message":"fix(web): parse authorization header manually\n\nbearer auth is not supported by flask <= 2.2;\nPython 3.7 is not supported by flask >= 2.3;\nPython >=3.8 is not supported by Debian buster, which is the OS of prod.","shortMessageHtmlLink":"fix(web): parse authorization header manually"}},{"before":"56ffe2ef0a0c9ebab8b67910f706a85b03331aa5","after":"9559a6cef281b66418b011b43d0229198d539481","ref":"refs/heads/master","pushedAt":"2024-08-29T05:55:29.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"Wankupi","name":"Wankupi","path":"/Wankupi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/56787079?s=80&v=4"},"commit":{"message":"feat(web): allow 5-digit faculty id as student id","shortMessageHtmlLink":"feat(web): allow 5-digit faculty id as student id"}},{"before":"71852de6b55e65964d4022e1eb7f0a6eff0ac632","after":"56ffe2ef0a0c9ebab8b67910f706a85b03331aa5","ref":"refs/heads/master","pushedAt":"2024-07-22T02:28:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Wankupi","name":"Wankupi","path":"/Wankupi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/56787079?s=80&v=4"},"commit":{"message":"feat: show existing problems in course_admin","shortMessageHtmlLink":"feat: show existing problems in course_admin"}},{"before":"5abcdbb1b239598f5183a9f42539449211973988","after":"71852de6b55e65964d4022e1eb7f0a6eff0ac632","ref":"refs/heads/master","pushedAt":"2024-07-18T13:35:10.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"Wankupi","name":"Wankupi","path":"/Wankupi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/56787079?s=80&v=4"},"commit":{"message":"feat: add two scripts of add course and term","shortMessageHtmlLink":"feat: add two scripts of add course and term"}},{"before":"ccc24c874aaabe90864180794a98da7714b33cf0","after":"5abcdbb1b239598f5183a9f42539449211973988","ref":"refs/heads/master","pushedAt":"2024-06-28T16:21:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LauYeeYu","name":"Liu Yiyu","path":"/LauYeeYu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68650198?s=80&v=4"},"commit":{"message":"docs: add more details for developer","shortMessageHtmlLink":"docs: add more details for developer"}},{"before":"f1610eafa8f00f6c1d7b2d87f36f6b533be837b0","after":"ccc24c874aaabe90864180794a98da7714b33cf0","ref":"refs/heads/master","pushedAt":"2024-06-28T16:06:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LauYeeYu","name":"Liu Yiyu","path":"/LauYeeYu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68650198?s=80&v=4"},"commit":{"message":"feat(web): move show details to the bottom","shortMessageHtmlLink":"feat(web): move show details to the bottom"}},{"before":null,"after":"3ac0ce9d93b9e79b8d167cd7a449d976fa15ad98","ref":"refs/heads/feat/hide-scoreboard-if-irrelevant","pushedAt":"2024-06-28T13:51:59.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"LauYeeYu","name":"Liu Yiyu","path":"/LauYeeYu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68650198?s=80&v=4"},"commit":{"message":"feat(web): support hidden scoreboard in contests.","shortMessageHtmlLink":"feat(web): support hidden scoreboard in contests."}},{"before":"c8b898de29090df685b008d9577ba8626e8edbdf","after":"f1610eafa8f00f6c1d7b2d87f36f6b533be837b0","ref":"refs/heads/master","pushedAt":"2024-06-24T11:14:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Alan-Liang","name":"Alan L","path":"/Alan-Liang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16379418?s=80&v=4"},"commit":{"message":"chore: remove retired maintainers","shortMessageHtmlLink":"chore: remove retired maintainers"}},{"before":"82e11c99228e2fd7445450c88cd1ea338a1d5317","after":"c8b898de29090df685b008d9577ba8626e8edbdf","ref":"refs/heads/master","pushedAt":"2024-04-25T06:38:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Alan-Liang","name":"Alan L","path":"/Alan-Liang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16379418?s=80&v=4"},"commit":{"message":"chore(web): fix typo","shortMessageHtmlLink":"chore(web): fix typo"}},{"before":"397dbf98d2e5021b2ef5bfe76c94f4f106cb25ec","after":"82e11c99228e2fd7445450c88cd1ea338a1d5317","ref":"refs/heads/master","pushedAt":"2024-04-24T15:00:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Alan-Liang","name":"Alan L","path":"/Alan-Liang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16379418?s=80&v=4"},"commit":{"message":"fix(web): index showing empty course suggestion list","shortMessageHtmlLink":"fix(web): index showing empty course suggestion list"}},{"before":"7f3b82804a8243f35b188cff861847e034c810f0","after":"397dbf98d2e5021b2ef5bfe76c94f4f106cb25ec","ref":"refs/heads/master","pushedAt":"2024-04-05T11:30:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Alan-Liang","name":"Alan L","path":"/Alan-Liang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16379418?s=80&v=4"},"commit":{"message":"fix(web): division by zero when contest start time = end time","shortMessageHtmlLink":"fix(web): division by zero when contest start time = end time"}},{"before":"bebbf498d031db304f5625a7efc24891b26e4139","after":"7f3b82804a8243f35b188cff861847e034c810f0","ref":"refs/heads/master","pushedAt":"2024-04-03T08:53:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Alan-Liang","name":"Alan L","path":"/Alan-Liang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16379418?s=80&v=4"},"commit":{"message":"fix(web): faulty assignment by reference in ContestManager.get_scores","shortMessageHtmlLink":"fix(web): faulty assignment by reference in ContestManager.get_scores"}},{"before":"08e0a49a879874e91419ba92016cabced227b773","after":"bebbf498d031db304f5625a7efc24891b26e4139","ref":"refs/heads/master","pushedAt":"2024-04-02T11:01:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Alan-Liang","name":"Alan L","path":"/Alan-Liang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16379418?s=80&v=4"},"commit":{"message":"fix(web): detect 413 Content Too Large on data upload","shortMessageHtmlLink":"fix(web): detect 413 Content Too Large on data upload"}},{"before":"1ef0484d425862027fb80c1a78403e12d89d18ed","after":"08e0a49a879874e91419ba92016cabced227b773","ref":"refs/heads/master","pushedAt":"2024-04-01T15:44:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Alan-Liang","name":"Alan L","path":"/Alan-Liang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16379418?s=80&v=4"},"commit":{"message":"Revert \"???(web): support more calendar formats\"\n\nThis reverts commit 17d494c64d300ae48e83172105182d5b167eebb8.","shortMessageHtmlLink":"Revert \"???(web): support more calendar formats\""}},{"before":"17d494c64d300ae48e83172105182d5b167eebb8","after":"1ef0484d425862027fb80c1a78403e12d89d18ed","ref":"refs/heads/master","pushedAt":"2024-03-31T16:59:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LauYeeYu","name":"Liu Yiyu","path":"/LauYeeYu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68650198?s=80&v=4"},"commit":{"message":"fix(web): on Chrome, biaodian is trimmed by browser and han.css\n\ncr123 introduced biaodian trimming on typefaces supporting the 'halt'\nopentype feature. This caused the space to be removed both by the\nbrowser and han.css, making character sequences like )。 are badly\ndisplayed. We turn off the feature of Chromium, as many fonts does not\nsupport that feature yet.","shortMessageHtmlLink":"fix(web): on Chrome, biaodian is trimmed by browser and han.css"}},{"before":"95717c9a74711b3a25b650bb06c97f6d6d565bab","after":"17d494c64d300ae48e83172105182d5b167eebb8","ref":"refs/heads/master","pushedAt":"2024-03-31T16:01:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Alan-Liang","name":"Alan L","path":"/Alan-Liang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16379418?s=80&v=4"},"commit":{"message":"???(web): support more calendar formats","shortMessageHtmlLink":"???(web): support more calendar formats"}},{"before":"ddee496c37d6b62b114aba59230e674a0306d4ee","after":"95717c9a74711b3a25b650bb06c97f6d6d565bab","ref":"refs/heads/master","pushedAt":"2024-03-29T04:19:30.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Alan-Liang","name":"Alan L","path":"/Alan-Liang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16379418?s=80&v=4"},"commit":{"message":"feat(web): do not show contests of other groups on index","shortMessageHtmlLink":"feat(web): do not show contests of other groups on index"}},{"before":"d03450f216951c435d3683c70fc6302dd96b7428","after":"ddee496c37d6b62b114aba59230e674a0306d4ee","ref":"refs/heads/master","pushedAt":"2024-03-29T04:18:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Alan-Liang","name":"Alan L","path":"/Alan-Liang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16379418?s=80&v=4"},"commit":{"message":"feat(web): do not show contests of other groups in course","shortMessageHtmlLink":"feat(web): do not show contests of other groups in course"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yOVQxMToyMDoyOC4wMDAwMDBazwAAAATD1BHM","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMy0yOVQwNDoxODozNi4wMDAwMDBazwAAAAQiXxM9"}},"title":"Activity · ACMClassOJ/TesutoHime"}