{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":776692315,"defaultBranch":"main","name":"todolist","ownerLogin":"Lai-YT","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-03-24T07:57:48.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/52515370?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1711873826.0","currentOid":""},"activityList":{"items":[{"before":"0d6b8c511e3cfbe3ba3160f6ed6cea8112606b75","after":"5cb6461252a63b43c690b0f4cf87583c265aee24","ref":"refs/heads/main","pushedAt":"2024-04-07T13:00:53.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"Lai-YT","name":"Lai-YT","path":"/Lai-YT","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/52515370?s=80&v=4"},"commit":{"message":"Move tests to the `_test` packages\n\nTests are moved to the `_test` package for improved encapsulation. Private\nfunctions within the target package are not exposed during testing.\nAdditionally, mock files are suffixed with `_test` to be automatically\nignored by coverage tools. The exception to this rule is tests related\nto the database. These tests remain in the same package as the database\nfunctions to allow access to the internal database handle for checking\nthe state of the database.","shortMessageHtmlLink":"Move tests to the _test packages"}},{"before":"89e9625ed3bed7c81fcbcbe319e2db2118d7098d","after":"0d6b8c511e3cfbe3ba3160f6ed6cea8112606b75","ref":"refs/heads/main","pushedAt":"2024-04-02T07:59:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Lai-YT","name":"Lai-YT","path":"/Lai-YT","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/52515370?s=80&v=4"},"commit":{"message":"Add Go version badge","shortMessageHtmlLink":"Add Go version badge"}},{"before":"8bbb07d3c03bfa42724fd32909a3d981ce1ef103","after":"89e9625ed3bed7c81fcbcbe319e2db2118d7098d","ref":"refs/heads/main","pushedAt":"2024-04-02T07:54:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Lai-YT","name":"Lai-YT","path":"/Lai-YT","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/52515370?s=80&v=4"},"commit":{"message":"Adhere to Google naming style\n\nRefer to https://google.github.io/styleguide/go/decisions#initialisms.","shortMessageHtmlLink":"Adhere to Google naming style"}},{"before":"b41b84822f333ec32658ab9b4b543772434dc262","after":"8bbb07d3c03bfa42724fd32909a3d981ce1ef103","ref":"refs/heads/main","pushedAt":"2024-04-02T06:58:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Lai-YT","name":"Lai-YT","path":"/Lai-YT","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/52515370?s=80&v=4"},"commit":{"message":"Format code with `gofumpt`\n\nCode formatted by gofumpt seems to also satisfy goimports.\nAdditionally, `go install` without a version tag causes error.","shortMessageHtmlLink":"Format code with gofumpt"}},{"before":"2531474f6b0a35315568a194c73e0da3cf0fafd2","after":"b41b84822f333ec32658ab9b4b543772434dc262","ref":"refs/heads/main","pushedAt":"2024-04-01T13:33:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Lai-YT","name":"Lai-YT","path":"/Lai-YT","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/52515370?s=80&v=4"},"commit":{"message":"Fix hard-coded value","shortMessageHtmlLink":"Fix hard-coded value"}},{"before":"ee22a4f27d778273287702b8bcd29e214869d476","after":"2531474f6b0a35315568a194c73e0da3cf0fafd2","ref":"refs/heads/main","pushedAt":"2024-04-01T13:29:06.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Lai-YT","name":"Lai-YT","path":"/Lai-YT","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/52515370?s=80&v=4"},"commit":{"message":"Update readme to add start instructions","shortMessageHtmlLink":"Update readme to add start instructions"}},{"before":"de8f6236456a44f91b918162c756f828c01bbd03","after":"ee22a4f27d778273287702b8bcd29e214869d476","ref":"refs/heads/main","pushedAt":"2024-03-31T08:42:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Lai-YT","name":"Lai-YT","path":"/Lai-YT","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/52515370?s=80&v=4"},"commit":{"message":"Keep the TodoItem table in database","shortMessageHtmlLink":"Keep the TodoItem table in database"}},{"before":"d02a6bf808f12e9af32e04b4b906964790d59e55","after":null,"ref":"refs/heads/remove-duplicate-test-setup","pushedAt":"2024-03-31T08:30:26.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Lai-YT","name":"Lai-YT","path":"/Lai-YT","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/52515370?s=80&v=4"}},{"before":"60f30f59e6b59bc40b81abf02edc9a824d7e10e7","after":"de8f6236456a44f91b918162c756f828c01bbd03","ref":"refs/heads/main","pushedAt":"2024-03-31T08:30:23.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"Lai-YT","name":"Lai-YT","path":"/Lai-YT","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/52515370?s=80&v=4"},"commit":{"message":"Merge pull request #7 from Lai-YT/remove-duplicate-test-setup\n\nExtract set up of test environment & common assertions","shortMessageHtmlLink":"Merge pull request #7 from Lai-YT/remove-duplicate-test-setup"}},{"before":"c98e8285cabe6c27a0642ed1e82ecc68ea114c17","after":"d02a6bf808f12e9af32e04b4b906964790d59e55","ref":"refs/heads/remove-duplicate-test-setup","pushedAt":"2024-03-31T08:22:33.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Lai-YT","name":"Lai-YT","path":"/Lai-YT","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/52515370?s=80&v=4"},"commit":{"message":"Extract set up of test environment & common assertions","shortMessageHtmlLink":"Extract set up of test environment & common assertions"}},{"before":null,"after":"c98e8285cabe6c27a0642ed1e82ecc68ea114c17","ref":"refs/heads/remove-duplicate-test-setup","pushedAt":"2024-03-31T08:20:03.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Lai-YT","name":"Lai-YT","path":"/Lai-YT","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/52515370?s=80&v=4"},"commit":{"message":"Extract set up of test environment & common assertions","shortMessageHtmlLink":"Extract set up of test environment & common assertions"}},{"before":"46fe9851fc9b8f8f8d099b99ddc922d1de81e9d4","after":null,"ref":"refs/heads/add-tests-of-endpoint","pushedAt":"2024-03-31T07:13:12.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Lai-YT","name":"Lai-YT","path":"/Lai-YT","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/52515370?s=80&v=4"}},{"before":"02a66562d7274a4ccff47a743d1c097655d5c2b5","after":"60f30f59e6b59bc40b81abf02edc9a824d7e10e7","ref":"refs/heads/main","pushedAt":"2024-03-31T07:13:09.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"Lai-YT","name":"Lai-YT","path":"/Lai-YT","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/52515370?s=80&v=4"},"commit":{"message":"Merge pull request #6 from Lai-YT/add-tests-of-endpoint\n\nTest endpoint with httptest","shortMessageHtmlLink":"Merge pull request #6 from Lai-YT/add-tests-of-endpoint"}},{"before":null,"after":"46fe9851fc9b8f8f8d099b99ddc922d1de81e9d4","ref":"refs/heads/add-tests-of-endpoint","pushedAt":"2024-03-31T07:04:54.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Lai-YT","name":"Lai-YT","path":"/Lai-YT","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/52515370?s=80&v=4"},"commit":{"message":"Test endpoint with httptest","shortMessageHtmlLink":"Test endpoint with httptest"}},{"before":"c8eef6f933377e6c2a6ea35eb74487a196ba107a","after":null,"ref":"refs/heads/enable-access-to-core-functionality-through-interface","pushedAt":"2024-03-30T13:54:11.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Lai-YT","name":"Lai-YT","path":"/Lai-YT","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/52515370?s=80&v=4"}},{"before":"9b4dc11f2b9c52231cde0b919e40dbd4c29b838b","after":"02a66562d7274a4ccff47a743d1c097655d5c2b5","ref":"refs/heads/main","pushedAt":"2024-03-30T13:52:57.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"Lai-YT","name":"Lai-YT","path":"/Lai-YT","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/52515370?s=80&v=4"},"commit":{"message":"Merge pull request #5 from Lai-YT/enable-access-to-core-functionality-through-interface\n\nEnable access to core functionality through interface","shortMessageHtmlLink":"Merge pull request #5 from Lai-YT/enable-access-to-core-functionality…"}},{"before":null,"after":"c8eef6f933377e6c2a6ea35eb74487a196ba107a","ref":"refs/heads/enable-access-to-core-functionality-through-interface","pushedAt":"2024-03-30T13:46:20.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Lai-YT","name":"Lai-YT","path":"/Lai-YT","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/52515370?s=80&v=4"},"commit":{"message":"Enable access to core functionality through interface\n\nTo facilitate testing of the frontend independently from the core, it\nwas necessary to mock the core functionalities. However, these\nfunctionalities were provided by package-level functions, which are not\neasily mockable. Therefore, I have introduced an interface to declare\nthese functionalities. Although it is unlikely that other\nimplementations besides the mock will be needed, this approach allows\nfor flexibility. Additionally, it enables the possibility of having\nmultiple cores with different storage types, as no more package-level\nglobal variables are used.","shortMessageHtmlLink":"Enable access to core functionality through interface"}},{"before":"2a4bf8838ed987d0edd52a31bd2e77731bb1fbfa","after":null,"ref":"refs/heads/add-tests-of-database-accessor","pushedAt":"2024-03-30T08:44:54.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Lai-YT","name":"Lai-YT","path":"/Lai-YT","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/52515370?s=80&v=4"}},{"before":"b6e2af366194d302a8a80b1cb91d392a28a0d2af","after":"9b4dc11f2b9c52231cde0b919e40dbd4c29b838b","ref":"refs/heads/main","pushedAt":"2024-03-30T08:44:50.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"Lai-YT","name":"Lai-YT","path":"/Lai-YT","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/52515370?s=80&v=4"},"commit":{"message":"Merge pull request #4 from Lai-YT/add-tests-of-database-accessor\n\nTest database accessor with in-memory SQLite","shortMessageHtmlLink":"Merge pull request #4 from Lai-YT/add-tests-of-database-accessor"}},{"before":"1952218d378f0df2640cbbbb97e15f0dba5cd21f","after":"2a4bf8838ed987d0edd52a31bd2e77731bb1fbfa","ref":"refs/heads/add-tests-of-database-accessor","pushedAt":"2024-03-30T08:37:24.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Lai-YT","name":"Lai-YT","path":"/Lai-YT","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/52515370?s=80&v=4"},"commit":{"message":"Test database accessor with in-memory SQLite","shortMessageHtmlLink":"Test database accessor with in-memory SQLite"}},{"before":"707d16cce48609de22b7db097e74c649e5feb988","after":"b6e2af366194d302a8a80b1cb91d392a28a0d2af","ref":"refs/heads/main","pushedAt":"2024-03-30T08:37:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Lai-YT","name":"Lai-YT","path":"/Lai-YT","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/52515370?s=80&v=4"},"commit":{"message":"Panic on database initialization errors","shortMessageHtmlLink":"Panic on database initialization errors"}},{"before":null,"after":"1952218d378f0df2640cbbbb97e15f0dba5cd21f","ref":"refs/heads/add-tests-of-database-accessor","pushedAt":"2024-03-30T08:24:51.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Lai-YT","name":"Lai-YT","path":"/Lai-YT","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/52515370?s=80&v=4"},"commit":{"message":"Test database accessor with in-memory SQLite","shortMessageHtmlLink":"Test database accessor with in-memory SQLite"}},{"before":"7768151ff0e40c876c80932165fcd31d2b463c87","after":"707d16cce48609de22b7db097e74c649e5feb988","ref":"refs/heads/main","pushedAt":"2024-03-30T06:51:38.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Lai-YT","name":"Lai-YT","path":"/Lai-YT","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/52515370?s=80&v=4"},"commit":{"message":"Migrate to GORM v2","shortMessageHtmlLink":"Migrate to GORM v2"}},{"before":"a38f7761ce1e5345e62370eeecd7ab3e5aee0c76","after":"7768151ff0e40c876c80932165fcd31d2b463c87","ref":"refs/heads/main","pushedAt":"2024-03-30T06:43:45.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Lai-YT","name":"Lai-YT","path":"/Lai-YT","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/52515370?s=80&v=4"},"commit":{"message":"Migrate to GORM v2","shortMessageHtmlLink":"Migrate to GORM v2"}},{"before":"5cb709175928e0de3416363100a4d4e53fd1eae2","after":"a38f7761ce1e5345e62370eeecd7ab3e5aee0c76","ref":"refs/heads/main","pushedAt":"2024-03-29T12:51:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Lai-YT","name":"Lai-YT","path":"/Lai-YT","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/52515370?s=80&v=4"},"commit":{"message":"Exclude mock files from test coverage","shortMessageHtmlLink":"Exclude mock files from test coverage"}},{"before":"bbce8de6863c8905f4cad383b33458c1c76ff20e","after":null,"ref":"refs/heads/add-tests","pushedAt":"2024-03-29T08:21:50.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Lai-YT","name":"Lai-YT","path":"/Lai-YT","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/52515370?s=80&v=4"}},{"before":"d615c43f057d73b7c28f14251d9560fcb77f1079","after":"5cb709175928e0de3416363100a4d4e53fd1eae2","ref":"refs/heads/main","pushedAt":"2024-03-29T08:21:47.000Z","pushType":"pr_merge","commitsCount":8,"pusher":{"login":"Lai-YT","name":"Lai-YT","path":"/Lai-YT","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/52515370?s=80&v=4"},"commit":{"message":"Merge pull request #3 from Lai-YT/add-tests\n\nAdd core tests & CI","shortMessageHtmlLink":"Merge pull request #3 from Lai-YT/add-tests"}},{"before":"03dc0f79dd6221abc0ad265256194d5cbfdb5e3b","after":"bbce8de6863c8905f4cad383b33458c1c76ff20e","ref":"refs/heads/add-tests","pushedAt":"2024-03-29T08:19:36.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Lai-YT","name":"Lai-YT","path":"/Lai-YT","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/52515370?s=80&v=4"},"commit":{"message":"Remove patch number from module version\n\nPatch number in the Go version causes the parser of \"go test\" to fail\nwith message \"invalid go version '1.22.1': must match format 1.23\".","shortMessageHtmlLink":"Remove patch number from module version"}},{"before":"6cc4511fff0467b4fed75b505fc4a962e91efd82","after":"03dc0f79dd6221abc0ad265256194d5cbfdb5e3b","ref":"refs/heads/add-tests","pushedAt":"2024-03-29T08:05:44.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Lai-YT","name":"Lai-YT","path":"/Lai-YT","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/52515370?s=80&v=4"},"commit":{"message":"Remove patch number from module version\n\nPatch number in the Go version causes the parser of \"go test\" to fail\nwith message \"invalid go version '1.22.1': must match format 1.23\".","shortMessageHtmlLink":"Remove patch number from module version"}},{"before":"d746aff5556b4bb9be1e27b996f697db831f0d75","after":"6cc4511fff0467b4fed75b505fc4a962e91efd82","ref":"refs/heads/add-tests","pushedAt":"2024-03-29T07:59:43.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Lai-YT","name":"Lai-YT","path":"/Lai-YT","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/52515370?s=80&v=4"},"commit":{"message":"Remove patch number from module version\n\nPatch number in the Go version causes the parser of \"go test\" to fail\nwith message \"invalid go version '1.22.1': must match format 1.23\".","shortMessageHtmlLink":"Remove patch number from module version"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNC0wN1QxMzowMDo1My4wMDAwMDBazwAAAAQqHsDS","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNC0wN1QxMzowMDo1My4wMDAwMDBazwAAAAQqHsDS","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMy0yOVQwNzo1OTo0My4wMDAwMDBazwAAAAQiezyZ"}},"title":"Activity · Lai-YT/todolist"}