{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":680496713,"defaultBranch":"master","name":"ChessGrinder","ownerLogin":"vladimirshefer","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-08-19T12:40:38.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/23248545?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1725356538.0","currentOid":""},"activityList":{"items":[{"before":"13323cda567931b3014c20282ff5b431b1a5dbb0","after":"f63e5df1106f6a5daa50375d3981c446ba0366fc","ref":"refs/heads/master","pushedAt":"2024-09-15T19:48:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vladimirshefer","name":"Vladimir Shefer","path":"/vladimirshefer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23248545?s=80&v=4"},"commit":{"message":"REST: HOTFIX: Migration fix","shortMessageHtmlLink":"REST: HOTFIX: Migration fix"}},{"before":"230f71f6ff10975a8c7873fabe472e207e27704f","after":"13323cda567931b3014c20282ff5b431b1a5dbb0","ref":"refs/heads/master","pushedAt":"2024-09-15T13:56:08.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"vladimirshefer","name":"Vladimir Shefer","path":"/vladimirshefer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23248545?s=80&v=4"},"commit":{"message":"Feature: Submit results by participants","shortMessageHtmlLink":"Feature: Submit results by participants"}},{"before":"d79476fb4bf4b32292b7c5bf270b62ea22c55e7a","after":"4dd5fd84e8d622108cf2c4f4057d0548876ebd61","ref":"refs/heads/gh-pages","pushedAt":"2024-09-15T13:48:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deploying to gh-pages from @ vladimirshefer/ChessGrinder@230f71f6ff10975a8c7873fabe472e207e27704f πŸš€","shortMessageHtmlLink":"Deploying to gh-pages from @ 230f71f πŸš€"}},{"before":"57b0854a905b1f50871a082b5934ec8a2abf1c73","after":"230f71f6ff10975a8c7873fabe472e207e27704f","ref":"refs/heads/master","pushedAt":"2024-09-15T13:47:30.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"vladimirshefer","name":"Vladimir Shefer","path":"/vladimirshefer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23248545?s=80&v=4"},"commit":{"message":"UI: Ratings refactoring","shortMessageHtmlLink":"UI: Ratings refactoring"}},{"before":"736de569ee94801d96433d011f4b572973785039","after":"d79476fb4bf4b32292b7c5bf270b62ea22c55e7a","ref":"refs/heads/gh-pages","pushedAt":"2024-09-15T11:11:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deploying to gh-pages from @ vladimirshefer/ChessGrinder@57b0854a905b1f50871a082b5934ec8a2abf1c73 πŸš€","shortMessageHtmlLink":"Deploying to gh-pages from @ 57b0854 πŸš€"}},{"before":"03564151274ecceee2e99dc47d7961f9add5cc92","after":"57b0854a905b1f50871a082b5934ec8a2abf1c73","ref":"refs/heads/master","pushedAt":"2024-09-15T11:10:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vladimirshefer","name":"Vladimir Shefer","path":"/vladimirshefer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23248545?s=80&v=4"},"commit":{"message":"UI: Fix: Use color alias - anzac-primary, red-danger","shortMessageHtmlLink":"UI: Fix: Use color alias - anzac-primary, red-danger"}},{"before":"59a43b5e297ee009cda4b00be63adc869a0d55a8","after":"736de569ee94801d96433d011f4b572973785039","ref":"refs/heads/gh-pages","pushedAt":"2024-09-15T11:07:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deploying to gh-pages from @ vladimirshefer/ChessGrinder@03564151274ecceee2e99dc47d7961f9add5cc92 πŸš€","shortMessageHtmlLink":"Deploying to gh-pages from @ 0356415 πŸš€"}},{"before":"1e0493f40ed7b0bd62938bd4329c63002f5e2d69","after":"03564151274ecceee2e99dc47d7961f9add5cc92","ref":"refs/heads/master","pushedAt":"2024-09-15T11:06:06.000Z","pushType":"push","commitsCount":10,"pusher":{"login":"vladimirshefer","name":"Vladimir Shefer","path":"/vladimirshefer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23248545?s=80&v=4"},"commit":{"message":"UI: Remove unused MatchParticipantDto","shortMessageHtmlLink":"UI: Remove unused MatchParticipantDto"}},{"before":"8da963869871917cb6a96c580e5e35512de65554","after":"e6bc850b88bd7b2a0f172e33e307c247e2d4f2ac","ref":"refs/heads/feature/participant-submit-match-result","pushedAt":"2024-09-15T10:59:11.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"vladimirshefer","name":"Vladimir Shefer","path":"/vladimirshefer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23248545?s=80&v=4"},"commit":{"message":"UI: Submit: Locale","shortMessageHtmlLink":"UI: Submit: Locale"}},{"before":"05197af010555b76e4c3a6eac47fcbab833861ef","after":"59a43b5e297ee009cda4b00be63adc869a0d55a8","ref":"refs/heads/gh-pages","pushedAt":"2024-09-11T09:13:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deploying to gh-pages from @ vladimirshefer/ChessGrinder@1e0493f40ed7b0bd62938bd4329c63002f5e2d69 πŸš€","shortMessageHtmlLink":"Deploying to gh-pages from @ 1e0493f πŸš€"}},{"before":"c4995f2f5bca046326acbc7a530c405b1e67cb42","after":"1e0493f40ed7b0bd62938bd4329c63002f5e2d69","ref":"refs/heads/master","pushedAt":"2024-09-11T09:12:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vladimirshefer","name":"Vladimir Shefer","path":"/vladimirshefer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23248545?s=80&v=4"},"commit":{"message":"Feature: Rating (Elo) (#34)\n\n(Commit message generated with AI)\r\n\r\nfeat: Added EloService and updated UserEntity and ParticipantEntity\r\n\r\nIntroduced EloService for calculating user ratings.\r\nUpdated UserEntity: added eloPoints field for storing ratings in the database.\r\nUpdated ParticipantEntity: added temporary fields to track rating changes during tournaments.\r\nFrontend changes to display user ratings.\r\nfeat: EloService minor updates\r\n\r\nModified EloService to initialize repository fields via constructor.\r\nUpdated UserDto: added eloPoints field.\r\nUpdated ParticipantEntity: temporary fields are now stored in the database.\r\nFrontend changes for user rating display.\r\nfeat: EloService minor updates\r\n\r\nAdjusted EloService logic for calculating tournament ratings, with a default rating of 1200 for new users.\r\nUpdated MatchEntity: added hasEloCalculated field.\r\nUpdated ParticipantEntity: made temporaryEloPoints transient.\r\nRemoved dependency on EloServiceImpl from RoundService.\r\nIn UserPane.tsx, users without ratings are labeled as \"unrated.\"\r\nfeat: Major updates to EloServiceImpl\r\n\r\nFrontend:\r\n\r\nImproved rating logo and description for better user experience.\r\nBackend:\r\n\r\nExtended EloService functionality:\r\n\r\nAdded reverse rating calculation method to the EloService interface.\r\nIntroduced EloCalculationService interface for Elo logic.\r\nCreated EloUpdateResultDTO for passing calculation results.\r\nRefactored services:\r\n\r\nMoved rating initialization to UserEloInitializerService.\r\nMoved Elo calculation to DefaultEloCalculationService.\r\nMain rating logic centralized in EloServiceImpl.\r\nChanges in EloServiceImpl:\r\n\r\nLogic now depends on whether tournament Elo has been calculated.\r\nReplaced match result storage with Map currentEloMap, removed temporaryElo from ParticipantEntity.\r\nRefactored processing:\r\n\r\nMatch processing moved to finishRound method.\r\nElo rollback handled in startTournament method.\r\nAdded unit tests:\r\n\r\nTests for match scenarios between authorized and unauthorized players.\r\nTests for Elo rollback and match result changes within tournaments.\r\nREST API Updates:\r\n\r\nRemoved unused ratings endpoint.\r\nSet default Elo to 0.\r\nReplaced explicit constructor with annotation.\r\nMoved isAuthorizedUser to SecurityUtil.\r\nVarious refactoring, renaming, and cleanup.\r\nAdded feature-flag for EloServiceImpl on both backend and frontend.\r\nAdded finalEloPoints field to ParticipantEntity and database.\r\nIntroduced AdvancedEloCalculationStrategy for standard Elo calculations.\r\nRefactoring and Enhancements:\r\n\r\nRefactored EloServiceImpl logic into smaller methods.\r\nUpdated processTournamentAndUpdateElo for improved Elo initialization and match handling.\r\nModified calculateAndApplyElo to properly apply changes and accumulate finalEloPoints.\r\nRefactored finalizeTournament to apply final Elo changes and persist updated ratings.\r\nFixed issue in rollbackEloChanges to reset finalEloPoints correctly, preventing duplicate processing.","shortMessageHtmlLink":"Feature: Rating (Elo) (#34)"}},{"before":"82dd553be9505345711f7a57b36b12ebce0ec4c1","after":"ff8e16a4f0ccdedbba1c39a91a40f3111f67d8ea","ref":"refs/heads/feature/rating-lazy-version","pushedAt":"2024-09-11T09:07:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"UmarShabazov","name":null,"path":"/UmarShabazov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148549904?s=80&v=4"},"commit":{"message":"REST: refactored feature-flags to false","shortMessageHtmlLink":"REST: refactored feature-flags to false"}},{"before":"0bfca35287edcfec192c9e1d11b123ae032d440a","after":"82dd553be9505345711f7a57b36b12ebce0ec4c1","ref":"refs/heads/feature/rating-lazy-version","pushedAt":"2024-09-11T09:06:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"UmarShabazov","name":null,"path":"/UmarShabazov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148549904?s=80&v=4"},"commit":{"message":"REST: refactored feature-flags to false","shortMessageHtmlLink":"REST: refactored feature-flags to false"}},{"before":"11e7ed86a0fde4a4543e6258fdef30854dfc7616","after":"0bfca35287edcfec192c9e1d11b123ae032d440a","ref":"refs/heads/feature/rating-lazy-version","pushedAt":"2024-09-11T09:04:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"UmarShabazov","name":null,"path":"/UmarShabazov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148549904?s=80&v=4"},"commit":{"message":"REST: refactored name Column to lowcase","shortMessageHtmlLink":"REST: refactored name Column to lowcase"}},{"before":"79189eafeb7debcee3a1ac4edd5c3613ffe8739d","after":"11e7ed86a0fde4a4543e6258fdef30854dfc7616","ref":"refs/heads/feature/rating-lazy-version","pushedAt":"2024-09-11T09:03:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"UmarShabazov","name":null,"path":"/UmarShabazov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148549904?s=80&v=4"},"commit":{"message":"REST: refactored back to master","shortMessageHtmlLink":"REST: refactored back to master"}},{"before":"73d04b432623a783b0041437c303f5c4bf8be9a5","after":"79189eafeb7debcee3a1ac4edd5c3613ffe8739d","ref":"refs/heads/feature/rating-lazy-version","pushedAt":"2024-09-11T07:49:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"UmarShabazov","name":null,"path":"/UmarShabazov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148549904?s=80&v=4"},"commit":{"message":"REST: refactored EloServiceImpl\n\n- Updated `processTournamentAndUpdateElo` to improve Elo initialization and match processing.\n\n- Modified `calculateAndApplyElo` to properly apply Elo changes for each match and accumulate `finalEloPoints` for participants.\n- Ensured Elo changes are correctly saved after each match and properly reflected in `currentEloMap`.\n- Refactored `finalizeTournament` to apply the final Elo changes to users and persist updated ratings.\n- Fixed issue in `rollbackEloChanges` where previous Elo adjustments were not fully reset:\n - Now resetting `finalEloPoints` to 0 after rollback to prevent recalculating the same Elo changes.\n - Ensured unique participants are handled correctly during rollback, preventing duplicate processing","shortMessageHtmlLink":"REST: refactored EloServiceImpl"}},{"before":"17a66168b9b2af950fcfee68d97848d334f5d586","after":"73d04b432623a783b0041437c303f5c4bf8be9a5","ref":"refs/heads/feature/rating-lazy-version","pushedAt":"2024-09-11T07:39:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"UmarShabazov","name":null,"path":"/UmarShabazov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148549904?s=80&v=4"},"commit":{"message":"REST: refactored AdvancedEloCalculationStrategy","shortMessageHtmlLink":"REST: refactored AdvancedEloCalculationStrategy"}},{"before":"adc2c4f40f1ff591034293dc6f6835a6d683cded","after":"17a66168b9b2af950fcfee68d97848d334f5d586","ref":"refs/heads/feature/rating-lazy-version","pushedAt":"2024-09-10T10:51:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"UmarShabazov","name":null,"path":"/UmarShabazov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148549904?s=80&v=4"},"commit":{"message":"REST: refactored and deleted @Component","shortMessageHtmlLink":"REST: refactored and deleted @component"}},{"before":"9914e1ca6ec34a5b615369376ad3c19c1d76e229","after":"adc2c4f40f1ff591034293dc6f6835a6d683cded","ref":"refs/heads/feature/rating-lazy-version","pushedAt":"2024-09-10T10:50:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"UmarShabazov","name":null,"path":"/UmarShabazov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148549904?s=80&v=4"},"commit":{"message":"Backend: added new AdvancedEloCalculationStrategy class which calculates matches according to the standard Elo calculation methodology","shortMessageHtmlLink":"Backend: added new AdvancedEloCalculationStrategy class which calcula…"}},{"before":"75a9374534f7b42bdd149623da44ac70d53ff7e4","after":"9914e1ca6ec34a5b615369376ad3c19c1d76e229","ref":"refs/heads/feature/rating-lazy-version","pushedAt":"2024-09-10T10:48:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"UmarShabazov","name":null,"path":"/UmarShabazov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148549904?s=80&v=4"},"commit":{"message":"REST: added new field \"finalEloPoints\" to ParticipantEntity and to DB","shortMessageHtmlLink":"REST: added new field \"finalEloPoints\" to ParticipantEntity and to DB"}},{"before":"2742e0c3394fd2aa104e8c245eb2d42c55ed873d","after":"75a9374534f7b42bdd149623da44ac70d53ff7e4","ref":"refs/heads/feature/rating-lazy-version","pushedAt":"2024-09-10T10:46:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"UmarShabazov","name":null,"path":"/UmarShabazov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148549904?s=80&v=4"},"commit":{"message":"REST: refactored (added last lines)","shortMessageHtmlLink":"REST: refactored (added last lines)"}},{"before":"0c47e057297e6e501d63cdc51e569f85ddb776d4","after":"2742e0c3394fd2aa104e8c245eb2d42c55ed873d","ref":"refs/heads/feature/rating-lazy-version","pushedAt":"2024-09-09T15:52:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"UmarShabazov","name":null,"path":"/UmarShabazov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148549904?s=80&v=4"},"commit":{"message":"REST: refactored EloServiceImpl logic to smaller methods","shortMessageHtmlLink":"REST: refactored EloServiceImpl logic to smaller methods"}},{"before":"5d5c74e4b190633df575b78193ecfaeb79ede0af","after":"0c47e057297e6e501d63cdc51e569f85ddb776d4","ref":"refs/heads/feature/rating-lazy-version","pushedAt":"2024-09-09T15:50:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"UmarShabazov","name":null,"path":"/UmarShabazov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148549904?s=80&v=4"},"commit":{"message":"REST: creating feature-flag for EloServiceImpl both on backend and frontend. Additionally added reflection to the tests","shortMessageHtmlLink":"REST: creating feature-flag for EloServiceImpl both on backend and fr…"}},{"before":"8f71442188229d227ced5df357a359d8ef70bb09","after":"8da963869871917cb6a96c580e5e35512de65554","ref":"refs/heads/feature/participant-submit-match-result","pushedAt":"2024-09-07T09:51:47.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"vladimirshefer","name":"Vladimir Shefer","path":"/vladimirshefer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23248545?s=80&v=4"},"commit":{"message":"UI: Submit","shortMessageHtmlLink":"UI: Submit"}},{"before":"288ef15c1dd3d6c5a321eb0cc95a690f0451b3b7","after":"8f71442188229d227ced5df357a359d8ef70bb09","ref":"refs/heads/feature/participant-submit-match-result","pushedAt":"2024-09-06T22:16:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"vladimirshefer","name":"Vladimir Shefer","path":"/vladimirshefer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23248545?s=80&v=4"},"commit":{"message":"UI: Submit","shortMessageHtmlLink":"UI: Submit"}},{"before":"c52a481d544a57e8af710053c6c67ccfaa2a8d2d","after":"05197af010555b76e4c3a6eac47fcbab833861ef","ref":"refs/heads/gh-pages","pushedAt":"2024-09-06T21:26:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deploying to gh-pages from @ vladimirshefer/ChessGrinder@c4995f2f5bca046326acbc7a530c405b1e67cb42 πŸš€","shortMessageHtmlLink":"Deploying to gh-pages from @ c4995f2 πŸš€"}},{"before":"f9c26e2fae604c7ec47e6552c5bc3f7adc381c17","after":"c4995f2f5bca046326acbc7a530c405b1e67cb42","ref":"refs/heads/master","pushedAt":"2024-09-06T21:25:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vladimirshefer","name":"Vladimir Shefer","path":"/vladimirshefer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23248545?s=80&v=4"},"commit":{"message":"UI: MyActiveTournamentPane: Cleanup","shortMessageHtmlLink":"UI: MyActiveTournamentPane: Cleanup"}},{"before":"a3c912dd3432d198e54b1a2e91b9cf7acda9f262","after":"c52a481d544a57e8af710053c6c67ccfaa2a8d2d","ref":"refs/heads/gh-pages","pushedAt":"2024-09-06T21:25:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deploying to gh-pages from @ vladimirshefer/ChessGrinder@f9c26e2fae604c7ec47e6552c5bc3f7adc381c17 πŸš€","shortMessageHtmlLink":"Deploying to gh-pages from @ f9c26e2 πŸš€"}},{"before":"b04a855b6dce66864fc30f2866f1f159ee303f19","after":"f9c26e2fae604c7ec47e6552c5bc3f7adc381c17","ref":"refs/heads/master","pushedAt":"2024-09-06T21:24:12.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"vladimirshefer","name":"Vladimir Shefer","path":"/vladimirshefer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23248545?s=80&v=4"},"commit":{"message":"UI: Remove console.log","shortMessageHtmlLink":"UI: Remove console.log"}},{"before":"f8ec4306bc19fd21c7462dbf2b7891d411e7469b","after":"288ef15c1dd3d6c5a321eb0cc95a690f0451b3b7","ref":"refs/heads/feature/participant-submit-match-result","pushedAt":"2024-09-06T21:21:22.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"vladimirshefer","name":"Vladimir Shefer","path":"/vladimirshefer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23248545?s=80&v=4"},"commit":{"message":"UI: Submit: Dirty commit","shortMessageHtmlLink":"UI: Submit: Dirty commit"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEttf-bQA","startCursor":null,"endCursor":null}},"title":"Activity Β· vladimirshefer/ChessGrinder"}