В «Списке игроков» группы теперь только её текущий состав: удалённый участник больше не висит в рейтинге.
stats_service.leaderboard принимает набор текущих участников. group_stats фильтрует по нему вывод до сортировки, поэтому места нумеруются 1..n без пропусков.
Расчёт не меняется. Групповая цепочка проигрывает все партии группы, и партии с ушедшим игроком по-прежнему влияют на рейтинг оставшихся. Счётчик партий, дата последней и статистика фракций группы тоже прежние.
Общий топ и главная без изменений: ушедший игрок остаётся в общем рейтинге.
Фронт после удаления участника сразу перезапрашивает статистику группы, не дожидаясь SSE-события.
Коммиты
ba69b9f Группа: в рейтинге группы только текущие участники
Проверки
.\.venv\Scripts\python.exe -m pytest — 191 passed. Новые тесты test_group_rating_members.py:
удалённый пропадает из всех блоков группы, но остаётся в общем топе;
рейтинг оставшегося и total_matches не меняются;
после возврата в группу игрок снова в списке со своей историей;
после удаления ранги перенумерованы.
npm run build — зелёный.
Отклонения от плана
Нет. Целевая ветка в задаче не была указана — взята dev.
## Что сделано
В «Списке игроков» группы теперь только её текущий состав: удалённый участник больше не висит в рейтинге.
- `stats_service.leaderboard` принимает набор текущих участников. `group_stats` фильтрует по нему вывод до сортировки, поэтому места нумеруются 1..n без пропусков.
- **Расчёт не меняется.** Групповая цепочка проигрывает все партии группы, и партии с ушедшим игроком по-прежнему влияют на рейтинг оставшихся. Счётчик партий, дата последней и статистика фракций группы тоже прежние.
- Общий топ и главная без изменений: ушедший игрок остаётся в общем рейтинге.
- Фронт после удаления участника сразу перезапрашивает статистику группы, не дожидаясь SSE-события.
## Коммиты
- `ba69b9f` Группа: в рейтинге группы только текущие участники
## Проверки
- `.\.venv\Scripts\python.exe -m pytest` — **191 passed**. Новые тесты `test_group_rating_members.py`:
- удалённый пропадает из всех блоков группы, но остаётся в общем топе;
- рейтинг оставшегося и `total_matches` не меняются;
- после возврата в группу игрок снова в списке со своей историей;
- после удаления ранги перенумерованы.
- `npm run build` — зелёный.
## Отклонения от плана
Нет. Целевая ветка в задаче не была указана — взята `dev`.
Closes #76
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_01LqSoRj99iwVEH5U5fnZgsd
Удалённый из группы игрок больше не остаётся в «Списке игроков»: leaderboard
получает набор текущих участников, и group_stats фильтрует по нему вывод до
сортировки, так что места нумеруются без пропусков. Расчёт не меняется —
групповая цепочка проигрывает все партии группы, и партии с ушедшим по-прежнему
влияют на рейтинг оставшихся; счётчик партий и статистика фракций группы тоже
прежние. Общий топ и главная без изменений. После удаления участника фронт
сразу перезапрашивает статистику группы.
Тесты: удалённый пропадает из группы, но остаётся в общем топе, рейтинг
оставшегося не меняется, после возврата игрок снова в списке; ранги после
удаления перенумерованы. #76
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LqSoRj99iwVEH5U5fnZgsd
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Что сделано
В «Списке игроков» группы теперь только её текущий состав: удалённый участник больше не висит в рейтинге.
stats_service.leaderboardпринимает набор текущих участников.group_statsфильтрует по нему вывод до сортировки, поэтому места нумеруются 1..n без пропусков.Коммиты
ba69b9fГруппа: в рейтинге группы только текущие участникиПроверки
.\.venv\Scripts\python.exe -m pytest— 191 passed. Новые тестыtest_group_rating_members.py:total_matchesне меняются;npm run build— зелёный.Отклонения от плана
Нет. Целевая ветка в задаче не была указана — взята
dev.Closes #76
🤖 Generated with Claude Code
https://claude.ai/code/session_01LqSoRj99iwVEH5U5fnZgsd