{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":739082636,"defaultBranch":"master","name":"edinburgh-community-solutions","ownerLogin":"compsoc-edinburgh","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-01-04T18:21:51.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1038645?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1704392909.0","currentOid":""},"activityList":{"items":[{"before":"3370d19c5278db738ca2ab138344ffa7a83a3b9a","after":"fe9fa2464f1ef5f814d02b8955fb258635f5acff","ref":"refs/heads/master","pushedAt":"2024-05-29T00:06:37.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"yutotakano","name":"Yuto Takano","path":"/yutotakano","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/60749079?s=80&v=4"},"commit":{"message":"Merge !81: Improve mobile cosmetics around navbar\n\nMerges betterinformatics/edinburgh-community-solutions!81. \n('yutotakano/fix-mobile-header' into 'master')\n\nThis MR includes various cosmetic changes to the frontend:\n\n* fixes a bug introduced by !80 where the \"place-holder\" element under the sticky desktop navbar was visible on mobile.\n* hides the \"Edit knowledgebase\" buttons on categories on mobile since editing GitHub content on mobile is janky at best anyway\n* change mobile nav to be white as well, following !80 changing the desktop nav to be white.\n* word-wrap long category names in Breadcrumb elements across all pages\n* fix the website logo being a `` element and therefore causing a hard page reload; we now use ``","shortMessageHtmlLink":"Merge !81: Improve mobile cosmetics around navbar"}},{"before":"fcd49cc5a23b878d7ba307e84a4c0a8761bfb737","after":"3370d19c5278db738ca2ab138344ffa7a83a3b9a","ref":"refs/heads/master","pushedAt":"2024-05-28T20:31:59.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"yutotakano","name":"Yuto Takano","path":"/yutotakano","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/60749079?s=80&v=4"},"commit":{"message":"Merge !80: Remove the double top header, moving global nav to footer\n\nMerges betterinformatics/edinburgh-community-solutions!80. \n('yutotakano/remove-double-header' into 'master')\n\nThis MR removes the double top header which has confused several people, moving the \"global\" org-wide navigation to the footer instead. The remaining site top nav is made sticky during scrolls.\n\nBy doing so, we have also removed the black bar from the top of the page, which gives the website a more open, plain look. This can go both ways as the plainness can give of an unfinished impression, but at the same time it reduces the formality that the black bar was giving, making the platform friendlier in atmosphere.","shortMessageHtmlLink":"Merge !80: Remove the double top header, moving global nav to footer"}},{"before":"69aff6483ff45d582481d902e73224cd7548cfcb","after":"fcd49cc5a23b878d7ba307e84a4c0a8761bfb737","ref":"refs/heads/master","pushedAt":"2024-05-28T16:26:37.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"yutotakano","name":"Yuto Takano","path":"/yutotakano","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/60749079?s=80&v=4"},"commit":{"message":"Merge !79: Cache the homepage category data in Local Storage for faster loading\n\nMerges betterinformatics/edinburgh-community-solutions!79. \n('yutotakano/localstorage-cache-category-data' into 'master')\n\nThe homepage can benefit from some perceived faster load-times, as it currently consists of the following to be completed consecutively:\n- waiting for the HTML to be downloaded\n- waiting for the JavaScript script to be downloaded\n- waiting for it to execute\n- waiting for the HomePage React component to be loaded by `react-router-dom`\n- waiting for the three parallel requests to category data, meta lists, and favourites\n\nThis MR attempts to reduce the last latency by caching the results of the requests in browser Local Storage, making the data load nearly instantly once we hit the React component rendering stage.\n\nThe code will always call the requests anyway though to fetch the latest data and update the cache, so users may see a few seconds of stale data. However this isn't a large problem in my opinion: the only jarring visual shift would be due to the rare addition or deletion of courses, and otherwise the data update will only change numbers/progress bars on the page, which have minimal layout shift.","shortMessageHtmlLink":"Merge !79: Cache the homepage category data in Local Storage for fast…"}},{"before":"a7dd96d5f5920b9b07793854b42b9ddb25f9bca1","after":"69aff6483ff45d582481d902e73224cd7548cfcb","ref":"refs/heads/master","pushedAt":"2024-05-28T01:22:01.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"yutotakano","name":"Yuto Takano","path":"/yutotakano","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/60749079?s=80&v=4"},"commit":{"message":"Merge !78: Improve font speed by loading webfonts from HTML instead of @import\n\nMerges betterinformatics/edinburgh-community-solutions!78. \n('yutotakano/faster-font-load' into 'master')\n\nCurrently, there's a noticeable visual delay for the webfont to be loaded, especially with uncached resources.\n\nThe MR aims to improve upon this layout shift slightly by changing from loading webfonts with CSS `@import`s, to an HTML `` stylesheet tag that would begin downloading immediately on page load even before the JavaScript engine or React is ready.\n\nThe MR also adds a `preconnect` line in the HTML to improve the connection speed to the actual font files on `gstatic.com`.\n\n(At some point we should also review these loaded fonts, I don't think Source Code Pro is used anywhere)","shortMessageHtmlLink":"Merge !78: Improve font speed by loading webfonts from HTML instead of "}},{"before":"2771fdf6a0e37ca2810da548fa4fd4c251ac469c","after":"a7dd96d5f5920b9b07793854b42b9ddb25f9bca1","ref":"refs/heads/master","pushedAt":"2024-05-04T17:04:34.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"yutotakano","name":"Yuto Takano","path":"/yutotakano","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/60749079?s=80&v=4"},"commit":{"message":"Merge !77: Fix course cards not showing if not logged in\n\nMerges betterinformatics/edinburgh-community-solutions!77. \n('fix/feature' into 'master')","shortMessageHtmlLink":"Merge !77: Fix course cards not showing if not logged in"}},{"before":"de1d60bfe4ac2bc578341148b46b64139767e65d","after":"2771fdf6a0e37ca2810da548fa4fd4c251ac469c","ref":"refs/heads/master","pushedAt":"2024-05-04T16:26:12.000Z","pushType":"push","commitsCount":11,"pusher":{"login":"yutotakano","name":"Yuto Takano","path":"/yutotakano","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/60749079?s=80&v=4"},"commit":{"message":"Merge !76: Implement a 'Favourite' feature\n\nMerges betterinformatics/edinburgh-community-solutions!76. \n('feat/favourites' into 'master')\n\n![CleanShot_2024-05-04_at_11.15.58](/uploads/51cc48d404c1273ac574cdda639f07c7/CleanShot_2024-05-04_at_11.15.58.mp4)\n\nThe main changes to reflect this was to create a new model called Favourite, and adjust the home-page and category card.","shortMessageHtmlLink":"Merge !76: Implement a 'Favourite' feature"}},{"before":"b5a799622f4218b4e2ec311cbc450f44020bad9f","after":"de1d60bfe4ac2bc578341148b46b64139767e65d","ref":"refs/heads/master","pushedAt":"2024-05-03T03:38:13.000Z","pushType":"push","commitsCount":9,"pusher":{"login":"yutotakano","name":"Yuto Takano","path":"/yutotakano","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/60749079?s=80&v=4"},"commit":{"message":"Merge !75: Add uwu mode and other minor frontend tweaks\n\nMerges betterinformatics/edinburgh-community-solutions!75. \n('yutotakano/frontend-tweaks' into 'master')\n\n- Implement support for a Kawaii logo inspired by the works of [sawaratsuki](https://github.com/SAWARATSUKI/Logos)\n - Using ?uwu=1 will enable and 0 will disable - preference is stored in local storage\n - A link in the page footer can also toggle this preference\n- Fix typo in the footer\n- Reduce page-wide flickering when navigating back to the home page by replacing LoadingOverlay with Loader","shortMessageHtmlLink":"Merge !75: Add uwu mode and other minor frontend tweaks"}},{"before":"ca8eb37f4fdab3857acc35066e100865f8324c7e","after":"b5a799622f4218b4e2ec311cbc450f44020bad9f","ref":"refs/heads/master","pushedAt":"2024-05-03T03:19:07.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"yutotakano","name":"Yuto Takano","path":"/yutotakano","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/60749079?s=80&v=4"},"commit":{"message":"Merge !74: Upstream: Show frontend error when document fails to upload\n\nMerges betterinformatics/edinburgh-community-solutions!74. \n('upstream-integration' into 'master')\n\nContains the following upstream changes:\n\n- Show error Alert in frontend when uploading a document that isn't allowed\n - https://gitlab.ethz.ch/vseth/sip-com-apps/community-solutions/-/merge_requests/459","shortMessageHtmlLink":"Merge !74: Upstream: Show frontend error when document fails to upload"}},{"before":"bdec9ea6960e7f1bcea0fe1b88ac90b719e9dc08","after":"ca8eb37f4fdab3857acc35066e100865f8324c7e","ref":"refs/heads/master","pushedAt":"2024-04-25T21:29:11.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"yutotakano","name":"Yuto Takano","path":"/yutotakano","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/60749079?s=80&v=4"},"commit":{"message":"Merge !73: Fix auth token being deleted on mobile browser restarts\n\nMerges betterinformatics/edinburgh-community-solutions!73. \n('yutotakano/fix-mobile-session-not-persisting' into 'master')\n\nThe auth token was issued without a Max-Age or an Expires\nfield, making it a \"session cookie\" that gets cleaned up\non browser restarts -- this was especially painful for\nmobile users where it's common for the app to be closed.\n\nWe fix this by adding a Max-Age field to match the JWT token\nvalidity. \n\nAdditionally, we increase the token validity from 4 weeks\nto 12 weeks. Given the verification method it's very unlikely\n(and it's no problem even if happened, at least for 3 months)\nfor someone to lose access privileges when they could access it\nbefore.","shortMessageHtmlLink":"Merge !73: Fix auth token being deleted on mobile browser restarts"}},{"before":"62a4818a22dda4aeb944497ba49484ac23c4b9a4","after":"bdec9ea6960e7f1bcea0fe1b88ac90b719e9dc08","ref":"refs/heads/master","pushedAt":"2024-04-24T13:19:21.000Z","pushType":"push","commitsCount":10,"pusher":{"login":"yutotakano","name":"Yuto Takano","path":"/yutotakano","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/60749079?s=80&v=4"},"commit":{"message":"Merge !72: Upstream: Prettier Tables, fix Mantine style priority, update clsx\n\nMerges betterinformatics/edinburgh-community-solutions!72. \n('upstream-integration' into 'master')\n\nContains the following upstream changes:\n\n- Better table rendering in Markdown (thinner, with row borders)\n - https://gitlab.ethz.ch/vseth/sip-com-apps/community-solutions/-/merge_requests/456\n- Fix Mantine style taking priority over local overrides\n - (This was already patched in our fork, so the merge is a no-op)\n - https://gitlab.ethz.ch/vseth/sip-com-apps/community-solutions/-/merge_requests/457\n- Update `clsx` dependency\n - https://gitlab.ethz.ch/vseth/sip-com-apps/community-solutions/-/merge_requests/460","shortMessageHtmlLink":"Merge !72: Upstream: Prettier Tables, fix Mantine style priority, upd…"}},{"before":"2f967bcf9bce19a2f414acab6ecb7988d4a47176","after":"62a4818a22dda4aeb944497ba49484ac23c4b9a4","ref":"refs/heads/master","pushedAt":"2024-04-24T04:30:20.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"yutotakano","name":"Yuto Takano","path":"/yutotakano","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/60749079?s=80&v=4"},"commit":{"message":"Merge !71: Cache Yarn and Pip files in CI to speed tests up\n\nMerges betterinformatics/edinburgh-community-solutions!71. \n('yutotakano/cache-ci-yarn-pip' into 'master')","shortMessageHtmlLink":"Merge !71: Cache Yarn and Pip files in CI to speed tests up"}},{"before":"a1f807bdf8753f2c5c877afccc6774c737be979a","after":"2f967bcf9bce19a2f414acab6ecb7988d4a47176","ref":"refs/heads/master","pushedAt":"2024-04-24T04:16:57.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"yutotakano","name":"Yuto Takano","path":"/yutotakano","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/60749079?s=80&v=4"},"commit":{"message":"Merge !70: Always show very subtle button shimmer (star on hover)\n\nMerges betterinformatics/edinburgh-community-solutions!70. \n('yutotakano/always-slightly-shimmer' into 'master')\n\nThe hover shimmer effect takes a while to trigger so\nwe opt to always show it but at an infrequent loop (like\nhow Discord does it)\n\nThe star effects are still shown on hover.","shortMessageHtmlLink":"Merge !70: Always show very subtle button shimmer (star on hover)"}},{"before":"bc72d0455376cde3854bfa928bfd58f78e1a1a26","after":"a1f807bdf8753f2c5c877afccc6774c737be979a","ref":"refs/heads/master","pushedAt":"2024-04-24T03:43:20.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"yutotakano","name":"Yuto Takano","path":"/yutotakano","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/60749079?s=80&v=4"},"commit":{"message":"Merge !69: Prefer === over == in frontend TypeScript\n\nMerges betterinformatics/edinburgh-community-solutions!69. \n('yutotakano/fix-double-equals' into 'master')\n\nAs title. This only concerns frontend code that was added or\nmodified in this fork.","shortMessageHtmlLink":"Merge !69: Prefer === over == in frontend TypeScript"}},{"before":"875b598782899fa68a2c8dfc6bc0646c04646bce","after":"bc72d0455376cde3854bfa928bfd58f78e1a1a26","ref":"refs/heads/master","pushedAt":"2024-04-24T03:27:27.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"yutotakano","name":"Yuto Takano","path":"/yutotakano","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/60749079?s=80&v=4"},"commit":{"message":"Merge !68: Show graph of platform statistics in frontend\n\nMerges betterinformatics/edinburgh-community-solutions!68. \n('yutotakano/stats-page' into 'master')\n\nShow user growth, answer growth and document growth as graphs\nin /scoreboard, with a redirect from /stats just in case.\n\nComes with backend /api/stats which is cached for 12 hours.\n\nThe scoreboard page is also now visible in the navigation menu.\n(it was previously hidden since we weren't sure of its necessity)","shortMessageHtmlLink":"Merge !68: Show graph of platform statistics in frontend"}},{"before":"16a7d8b89a7f0efcd22122cef15b7700e4d558cb","after":"875b598782899fa68a2c8dfc6bc0646c04646bce","ref":"refs/heads/master","pushedAt":"2024-04-24T03:11:00.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"yutotakano","name":"Yuto Takano","path":"/yutotakano","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/60749079?s=80&v=4"},"commit":{"message":"Merge !67: Fix document comment URL when navigating from notifications\n\nMerges betterinformatics/edinburgh-community-solutions!67. \n('yutotakano/fix-notification-document-link' into 'master')\n\nThis is a regression introduced by 83ce1165 which changed the\ndocument URLs.\n\nDocument URLs in notifications were formatted with the format\n/user//document/ which resulted in 404s. The\ncorrect format now is /document/.","shortMessageHtmlLink":"Merge !67: Fix document comment URL when navigating from notifications"}},{"before":"fb5a4217621aa24bbee2691af85165d39c5cf778","after":"16a7d8b89a7f0efcd22122cef15b7700e4d558cb","ref":"refs/heads/master","pushedAt":"2024-04-23T20:46:40.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"yutotakano","name":"Yuto Takano","path":"/yutotakano","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/60749079?s=80&v=4"},"commit":{"message":"Merge !66: Rework: Implement email notifications in addition to in-app notifications\n\nMerges betterinformatics/edinburgh-community-solutions!66. \n('cherry-pick-4378c527' into 'master')\n\nMerges betterinformatics/edinburgh-community-solutions!60. \n('yutotakano/email-notifications' into 'master')\n\nAllow users to configure their notification preferences for both in-app and email notifications.\n\nIf email notifications are enabled, send to their email address with a link to view it in context.\n\nMigrates to an updated fork of `django-gsuite-email` (abandoned for 4 years)\nwhich supports 'From' field display names.\nhttps://github.com/amorilla/django-gsuite-email\n\n(cherry picked from commit 4378c527f6921a03c8cff9b103810ecafc008b91)\n\n37a0bb14 Implement email notifications in addition to in-app notifications\n838b9706 Enable comment-on-comment and comment-on-document notifs by default","shortMessageHtmlLink":"Merge !66: Rework: Implement email notifications in addition to in-ap…"}},{"before":"bcfafccb37a9601290ea72e63cacdb80fcce5348","after":"fb5a4217621aa24bbee2691af85165d39c5cf778","ref":"refs/heads/master","pushedAt":"2024-04-23T19:15:36.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"yutotakano","name":"Yuto Takano","path":"/yutotakano","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/60749079?s=80&v=4"},"commit":{"message":"Merge !65: Revert \"Merge !60: Implement email notifications in addition to in-app notifications\"\n\nMerges betterinformatics/edinburgh-community-solutions!65. \n('revert-4378c527' into 'master')\n\nThis reverts merge request !60","shortMessageHtmlLink":"Merge !65: Revert \"Merge !60: Implement email notifications in additi…"}},{"before":"3ca59f81d4b8365dc7884c0c811ccbaa51a88150","after":"bcfafccb37a9601290ea72e63cacdb80fcce5348","ref":"refs/heads/master","pushedAt":"2024-04-23T15:15:27.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"yutotakano","name":"Yuto Takano","path":"/yutotakano","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/60749079?s=80&v=4"},"commit":{"message":"Merge !64: Move EUCLID codes above course title for better hierarchy\n\nMerges betterinformatics/edinburgh-community-solutions!64. \n('yutotakano/subtler-styles' into 'master')\n\nsee title.","shortMessageHtmlLink":"Merge !64: Move EUCLID codes above course title for better hierarchy"}},{"before":"90b6173e61eb51f83b9f02eb87cd929985496e81","after":"3ca59f81d4b8365dc7884c0c811ccbaa51a88150","ref":"refs/heads/master","pushedAt":"2024-04-23T14:33:36.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"yutotakano","name":"Yuto Takano","path":"/yutotakano","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/60749079?s=80&v=4"},"commit":{"message":"Merge !63: Subtler hover styles on main page, shimmer effects\n\nMerges betterinformatics/edinburgh-community-solutions!63. \n('yutotakano/subtler-styles' into 'master')\n\nRemove scaling effect on category card hover on main page since\nit's quite a lot of movement (distracting). It also doesn't\nreally work on mobile since it scales on tap. \n\nThis MR makes the hover effect more subtle using a border, and\nmakes the exam/document list cards match the style with reduced\nshadows.\n\nFinally, it also adds some shimmer and sparkle effects to some\nimportant buttons including Add Exam, Add Document, and Add Answer.","shortMessageHtmlLink":"Merge !63: Subtler hover styles on main page, shimmer effects"}},{"before":"9887d3259eaf45ab1b92fff4967d62117d9c22ea","after":"90b6173e61eb51f83b9f02eb87cd929985496e81","ref":"refs/heads/master","pushedAt":"2024-04-22T21:42:32.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"yutotakano","name":"Yuto Takano","path":"/yutotakano","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/60749079?s=80&v=4"},"commit":{"message":"Merge !62: Minor frontend style adjustments\n\nMerges betterinformatics/edinburgh-community-solutions!62. \n('yutotakano/minor-frontend-fixes' into 'master')","shortMessageHtmlLink":"Merge !62: Minor frontend style adjustments"}},{"before":"a08584f32fb69f0b433e64c051816e932bf34dac","after":"9887d3259eaf45ab1b92fff4967d62117d9c22ea","ref":"refs/heads/master","pushedAt":"2024-04-22T21:09:50.000Z","pushType":"push","commitsCount":10,"pusher":{"login":"yutotakano","name":"Yuto Takano","path":"/yutotakano","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/60749079?s=80&v=4"},"commit":{"message":"Merge !61: Upstream: dependency upgrade & category card rework\n\nMerges betterinformatics/edinburgh-community-solutions!61. \n('yutotakano/merge-upstream' into 'master')\n\nSome minor upstream changes that implemented showing document count\non category cards. We already have this in our fork so this merge is\nsimply performed to resolve conflicts and clean up discrepancies\nbetween forks so future merges are clean.\n\nContains the following upstream changes:\n\n- Vite upgrade\n - https://gitlab.ethz.ch/vseth/sip-com-apps/community-solutions/-/merge_requests/453\n- Add document count to category card, fix bugs introduced by it\n - https://gitlab.ethz.ch/vseth/sip-com-apps/community-solutions/-/merge_requests/438\n - https://gitlab.ethz.ch/vseth/sip-com-apps/community-solutions/-/merge_requests/454\n - https://gitlab.ethz.ch/vseth/sip-com-apps/community-solutions/-/merge_requests/455","shortMessageHtmlLink":"Merge !61: Upstream: dependency upgrade & category card rework"}},{"before":"fe58970fce244594ff2e7e9088801422247bbba3","after":"a08584f32fb69f0b433e64c051816e932bf34dac","ref":"refs/heads/master","pushedAt":"2024-04-22T20:48:37.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"yutotakano","name":"Yuto Takano","path":"/yutotakano","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/60749079?s=80&v=4"},"commit":{"message":"Merge !58: EdiAuth unittests and fixing create_testdata command\n\nMerges betterinformatics/edinburgh-community-solutions!58. \n('yutotakano/fix-testdata-creation' into 'master')","shortMessageHtmlLink":"Merge !58: EdiAuth unittests and fixing create_testdata command"}},{"before":"ea2526ef51127a00944af55c23e8f0806357ca7c","after":"fe58970fce244594ff2e7e9088801422247bbba3","ref":"refs/heads/master","pushedAt":"2024-04-19T17:32:56.000Z","pushType":"push","commitsCount":13,"pusher":{"login":"yutotakano","name":"Yuto Takano","path":"/yutotakano","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/60749079?s=80&v=4"},"commit":{"message":"Merge !59: Upstream: Navigate PDF documents, fix modal bugs, upgrade dependencies\n\nMerges betterinformatics/edinburgh-community-solutions!59. \n('yutotakano/merge-upstream' into 'master')\n\nContains the following upstream changes:\n\n- Use `useDisclosure` for modal toggles to fix weird bugs\n - https://gitlab.ethz.ch/vseth/sip-com-apps/community-solutions/-/merge_requests/448\n- Update `@types/react` and `vite`\n - https://gitlab.ethz.ch/vseth/sip-com-apps/community-solutions/-/merge_requests/449\n - https://gitlab.ethz.ch/vseth/sip-com-apps/community-solutions/-/merge_requests/450\n- Zoom and navigate PDF documents similar to exams\n - https://gitlab.ethz.ch/vseth/sip-com-apps/community-solutions/-/merge_requests/447\n - https://gitlab.ethz.ch/vseth/sip-com-apps/community-solutions/-/merge_requests/452 (linter issue)","shortMessageHtmlLink":"Merge !59: Upstream: Navigate PDF documents, fix modal bugs, upgrade …"}},{"before":"d92aec08d6708d61b009cab2bd67563a8f7303b3","after":"ea2526ef51127a00944af55c23e8f0806357ca7c","ref":"refs/heads/master","pushedAt":"2024-04-15T12:04:09.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"yutotakano","name":"Yuto Takano","path":"/yutotakano","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/60749079?s=80&v=4"},"commit":{"message":"Merge !57: Upstream changes fixing CC-license link\n\nMerges betterinformatics/edinburgh-community-solutions!57. \n('yutotakano/merge-upstream' into 'master')\n\nContains the following upstream changes:\n- Fix broken link when clicking on CC license text\n - https://gitlab.ethz.ch/vseth/sip-com-apps/community-solutions/-/merge_requests/444\n- Upgrade react/types dependency\n - https://gitlab.ethz.ch/vseth/sip-com-apps/community-solutions/-/merge_requests/446","shortMessageHtmlLink":"Merge !57: Upstream changes fixing CC-license link"}},{"before":"84ececc14bc4169082593fce293f0b9b52130ba5","after":"d92aec08d6708d61b009cab2bd67563a8f7303b3","ref":"refs/heads/master","pushedAt":"2024-04-14T08:43:56.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"yutotakano","name":"Yuto Takano","path":"/yutotakano","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/60749079?s=80&v=4"},"commit":{"message":"Merge !56: Improve the button list UI for answers\n\nMerges betterinformatics/edinburgh-community-solutions!56. \n('yutotakano/better-answer-section-buttons' into 'master')\n\nThe Mantine v7 migration changed the look of the buttons in the answer\nsections, making it look fairly messy.\nThis MR fixes it by moving the cancel button to the left of the Save,\nmaking its colours subtler, adding icons, etc.","shortMessageHtmlLink":"Merge !56: Improve the button list UI for answers"}},{"before":"5f9edf9a4b92f94406eca63935fd0e2b3852f8d0","after":"84ececc14bc4169082593fce293f0b9b52130ba5","ref":"refs/heads/master","pushedAt":"2024-04-14T07:37:57.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"yutotakano","name":"Yuto Takano","path":"/yutotakano","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/60749079?s=80&v=4"},"commit":{"message":"Merge !55: Ignore HTML in knowledgebase markdown instead of escaping\n\nMerges betterinformatics/edinburgh-community-solutions!55. \n('yutotakano/remove-html-from-markdown' into 'master')\n\nMostly for HTML comments in the community knowledgebase markdown,\nwhich were rendered escaped instead of as raw HTML.\n\nWe could either solve this as parsing the markdown as unsafe raw\nHTML, or ignore the HTML tags. The former introduces a new\ndependency (rehype-raw) which is rather heavyweight, so we choose\nto ignore it instead.","shortMessageHtmlLink":"Merge !55: Ignore HTML in knowledgebase markdown instead of escaping"}},{"before":"822dd75e46255ded99a444baaa15bedcc3ab7642","after":"5f9edf9a4b92f94406eca63935fd0e2b3852f8d0","ref":"refs/heads/master","pushedAt":"2024-04-14T06:55:57.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"yutotakano","name":"Yuto Takano","path":"/yutotakano","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/60749079?s=80&v=4"},"commit":{"message":"Merge !54: Fix frontend mobile navbar alignment\n\nMerges betterinformatics/edinburgh-community-solutions!54. \n('yutotakano/fix-mobile-header-alignment' into 'master')\n\nThe mobile navigation bar currently has weird item alignments\nbecause the \"align\" prop for the Stack component is not a\nvalid value. This MR fixes it to be \"flex-start\" instead of\n\"left\".","shortMessageHtmlLink":"Merge !54: Fix frontend mobile navbar alignment"}},{"before":"7a7213b0f7ff9d3364f74492655609f6f3f838cf","after":"822dd75e46255ded99a444baaa15bedcc3ab7642","ref":"refs/heads/master","pushedAt":"2024-04-14T05:28:59.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"yutotakano","name":"Yuto Takano","path":"/yutotakano","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/60749079?s=80&v=4"},"commit":{"message":"Merge !53: Remove underline from document author, make deanonymised author clickable\n\nMerges betterinformatics/edinburgh-community-solutions!53. \n('yutotakano/fix-document-author-visuals' into 'master')\n\nUse \\ instead of \\ to control the visuals\nof the document author. Removes underlines.\n\nAlso now shows the document author's display name and makes its name\nclickable for admins when they view anonymised documents.","shortMessageHtmlLink":"Merge !53: Remove underline from document author, make deanonymised a…"}},{"before":"fec817b79af25b46a0ced61ca1730a776f4058fa","after":"7a7213b0f7ff9d3364f74492655609f6f3f838cf","ref":"refs/heads/master","pushedAt":"2024-04-14T04:16:56.000Z","pushType":"push","commitsCount":47,"pusher":{"login":"yutotakano","name":"Yuto Takano","path":"/yutotakano","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/60749079?s=80&v=4"},"commit":{"message":"Merge !52: Merge upstream: Mantine v7, document edit times, minor fixes and upgrades\n\nMerges betterinformatics/edinburgh-community-solutions!52. \n('yutotakano/merge-upstream' into 'master')\n\nContains the following upstream changes from `master`:\n- Improving the container/Dockerfile setup\n - https://gitlab.ethz.ch/vseth/sip-com-apps/community-solutions/-/merge_requests/425\n - https://gitlab.ethz.ch/vseth/sip-com-apps/community-solutions/-/merge_requests/428\n- Sort documents lexicographically in the frontend when like counts are the same\n - https://gitlab.ethz.ch/vseth/sip-com-apps/community-solutions/-/merge_requests/427\n- Fix changing exam category blanking the page\n - https://gitlab.ethz.ch/vseth/sip-com-apps/community-solutions/-/merge_requests/431\n- Better handling of the \"default\" category: prevent renames, move documents to it when parent category deleted, etc\n - https://gitlab.ethz.ch/vseth/sip-com-apps/community-solutions/-/merge_requests/432\n- Fix newlines in answers being ignored because span is used instead of p\n - https://gitlab.ethz.ch/vseth/sip-com-apps/community-solutions/-/merge_requests/430\n- Add document last update times\n - https://gitlab.ethz.ch/vseth/sip-com-apps/community-solutions/-/merge_requests/433\n- Limit maximum exam PDF size to 2.5 mb\n - https://gitlab.ethz.ch/vseth/sip-com-apps/community-solutions/-/merge_requests/437\n- Migrate from Mantine v6 to v7, removing `vseth-canine-ui` dependency\n - https://gitlab.ethz.ch/vseth/sip-com-apps/community-solutions/-/merge_requests/421\n- Some other small minor version upgrades in dependencies\n\nThe Mantine migration specifically changes almost all frontend files, so a lot of manual merges had to be performed.","shortMessageHtmlLink":"Merge !52: Merge upstream: Mantine v7, document edit times, minor fix…"}},{"before":"35183341f0b071c792aea3987815b82121fb21b2","after":"fec817b79af25b46a0ced61ca1730a776f4058fa","ref":"refs/heads/master","pushedAt":"2024-04-14T04:15:48.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"yutotakano","name":"Yuto Takano","path":"/yutotakano","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/60749079?s=80&v=4"},"commit":{"message":"Merge !51: Fix `email` column being NULL for new users after 202d88ab\n\nMerges betterinformatics/edinburgh-community-solutions!51. \n('yutotakano/fix-empty-email-column' into 'master')\n\nCommit 202d88ab fixed a bug where a user wouldn't be found since the email entry in the database didn't match the JWT claim. Unfortunately the fix was not correctly done. Using `.get_or_create()` with just the UUN filter will correctly find the user if it exists, but won't fill the email column when creating a new user. This MR fixes it by using the `defaults` argument which sets values for creation.","shortMessageHtmlLink":"Merge !51: Fix email column being NULL for new users after 202d88a"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEVmI0uAA","startCursor":null,"endCursor":null}},"title":"Activity · compsoc-edinburgh/edinburgh-community-solutions"}