51 Commits

Author SHA1 Message Date
9f79daf796 Добавлена поддержка обмена играми с типом прохождения (playthrough)
- Обновлены схемы SwapCandidate и SwapRequestChallengeInfo для поддержки прохождений
- get_swap_candidates теперь возвращает и челленджи, и прохождения
- accept_swap_request теперь корректно меняет challenge_id, game_id, is_playthrough и bonus_assignments
- Обновлён UI для отображения прохождений в списке кандидатов и запросах обмена

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 15:56:34 +03:00
58c390c768 Исправлена ошибка MissingGreenlet при использовании Wild Card
Добавлена загрузка bonus_assignments через selectinload для wild_card,
чтобы избежать lazy loading в асинхронном контексте.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 18:54:46 +03:00
72089d1b47 Исправлены ошибки Wild Card и skip-assignment
- Wild Card: исправлен game.name → game.title
- Wild Card: добавлена поддержка игр типа playthrough
- points.py: добавлена проверка на None для challenge_points
- PlaythroughInfo: поля сделаны Optional (description, points, proof_type)
- organizer_skip_assignment: добавлен фильтр is_event_assignment

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 18:10:40 +03:00
9cfe99ff7e Добавлено tracked_time_minutes в ответы API
Время из трекера не отправлялось в API, так как AssignmentResponse
создавался вручную без этого поля. Теперь tracked_time_minutes
передаётся во всех местах создания ответа.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 11:15:20 +03:00
f78eacb1a5 Добавлен Skip with Exile, модерация марафонов и выдача предметов
## Skip with Exile (новый расходник)
- Новая модель ExiledGame для хранения изгнанных игр
- Расходник skip_exile: пропуск без штрафа + игра исключается из пула навсегда
- Фильтрация изгнанных игр при выдаче заданий
- UI кнопка в PlayPage для использования skip_exile

## Модерация марафонов (для организаторов)
- Эндпоинты: skip-assignment, exiled-games, restore-exiled-game
- UI в LeaderboardPage: кнопка скипа у каждого участника
- Выбор типа скипа (обычный/с изгнанием) + причина
- Telegram уведомления о модерации

## Админская выдача предметов
- Эндпоинты: admin grant/remove items, get user inventory
- Новая страница AdminGrantItemPage (как магазин)
- Telegram уведомление при получении подарка

## Исправления миграций
- Миграции 029/030 теперь идемпотентны (проверка существования таблиц)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-10 23:02:37 +03:00
b6eecc4483 Time tracker app 2026-01-10 08:48:52 +07:00
146ed5e489 Add OBS widgets for streamers
- Add widget token authentication system
- Create leaderboard, current assignment, and progress widgets
- Support dark, light, and neon themes
- Add widget settings modal for URL generation
- Fix avatar loading through backend API proxy

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-09 19:16:50 +03:00
cd78a99ce7 Remove points limit 2026-01-09 19:02:08 +07:00
e63d6c8489 Promocode system 2026-01-08 10:02:15 +07:00
1751c4dd4c rework shop 2026-01-08 08:49:51 +07:00
2874b64481 Bug fixes 2026-01-08 06:51:15 +07:00
4488a13808 Merge branch 'master' into marathon-v2 2026-01-08 05:37:27 +07:00
ca49e42f74 Fix common enemy 2026-01-08 05:29:55 +07:00
18fe95effc Fix events 2026-01-05 23:41:22 +07:00
6a7717a474 Add shop 2026-01-05 08:42:49 +07:00
65b2512d8c Add upload images 2026-01-04 04:58:41 +07:00
81d992abe6 remake send push systems 2026-01-04 04:16:54 +07:00
9014d5d79d Add notification status to users table in AP 2026-01-04 03:42:11 +07:00
18ffff5473 Fix games list 2026-01-04 03:17:17 +07:00
475e2cf4cd Add notification settings 2026-01-04 02:47:38 +07:00
7a3576aec0 a 2026-01-03 00:43:26 +07:00
d295ff2aff Исключить игры типа Прохождение из проверки челленджей
При старте марафона теперь проверяются только игры с типом challenges.
Игры с типом playthrough не требуют наличия челленджей.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-30 23:02:24 +03:00
89dbe2c018 Улучшение системы оспариваний и исправления
- Оспаривания теперь требуют решения админа после 24ч голосования
  - Можно повторно оспаривать после разрешённых споров
  - Исправлены бонусные очки при перепрохождении после оспаривания
  - Сброс серии при невалидном пруфе
  - Колесо показывает только доступные игры
  - Rate limiting только через backend (RATE_LIMIT_ENABLED)
2025-12-29 22:23:34 +03:00
921917a319 Add covers 2025-12-21 02:52:48 +07:00
95e2a77335 Fix ban screen 2025-12-20 23:59:13 +07:00
c645171671 Add static pages and styles 2025-12-20 02:01:51 +07:00
a77a757317 Add reset password to admin panel 2025-12-20 00:34:22 +07:00
481bdabaa8 Add admin panel 2025-12-19 02:07:25 +07:00
8e634994bd Add challenges promotion 2025-12-18 23:47:11 +07:00
33f49f4e47 Fix security 2025-12-18 17:15:21 +07:00
0b3837b08e Zaebalsya 2025-12-17 20:19:26 +07:00
7e7cdbcd76 Fix 2025-12-17 19:50:55 +07:00
1c07d8c5ff Fix avatars upload 2025-12-17 00:04:14 +07:00
895e296f44 Fixes 2025-12-16 22:43:03 +07:00
696dc714c4 Update GPT and add Profile 2025-12-16 22:12:12 +07:00
ca41c207b3 Add info if linked acc 2025-12-16 20:59:50 +07:00
412de3bf05 Add telegram bot 2025-12-16 20:06:16 +07:00
a199952383 Change points balance 2025-12-16 03:06:26 +07:00
e32df4d95e Fix dispute 2025-12-16 02:35:59 +07:00
f57a2ba9ea Add marathon finish button and system 2025-12-16 02:22:12 +07:00
d96f8de568 Add limits for content + fix video playback 2025-12-16 02:01:03 +07:00
87ecd9756c Moved to S3 2025-12-16 01:33:29 +07:00
c7966656d8 Add dispute system 2025-12-16 00:33:50 +07:00
339a212e57 Change rematch event to change game 2025-12-15 23:50:37 +07:00
07e02ce32d Common enemy rework 2025-12-15 23:03:59 +07:00
9a037cb34f Add events history 2025-12-15 22:31:42 +07:00
4239ea8516 Add events 2025-12-15 03:50:04 +07:00
5db2f9c48d Add invite links 2025-12-14 20:39:26 +07:00
d0b8eca600 Add 3 roles, settings for marathons 2025-12-14 20:21:56 +07:00
bb9e9a6e1d Add challenges preview + makefile 2025-12-14 03:23:50 +07:00