{"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"}