Первый P0-спринт: hardening backend и улучшения критических сценариев
Backend 1.4.2
Удалён самодельный mock PostgreSQL; тесты и CI теперь работают с настоящим PostgreSQL 16 и применяют миграции.
Обновлён API-контракт: UUID id, пользовательский slug, авторизация, CSRF и ответы об ошибках документированы.
Добавлена строгая валидация POST/PATCH /api/races: даты, дистанции, статусы, время, URL, длины полей и запрет неизвестных полей.
Усилена загрузка обложек по сайту организатора: разрешены только безопасные публичные HTTP(S)-адреса, ограничены редиректы, размер ответа и таймаут.
Добавлены проверки legacy-миграции 004, валидации и безопасной загрузки обложек.
Frontend 0.7.1
Форма старта использует нативные поля даты и времени старта.
Ввод результата разделён на часы, минуты, секунды, место и число участников; добавлена нормализация и проверка диапазонов.
Экран подтверждения email теперь явно показывает успешное подтверждение и не предлагает повторно вводить email/отправлять письмо.
Auth-формы получили loading-состояния, отображение ошибок и защиту от повторной отправки.
Карточка «Последний личный рекорд» отображается только при фактическом улучшении предыдущего результата.
Удалены сгенерированные Vite/TypeScript-артефакты, неиспользуемый health-клиент и статический каталог внешних обложек.
Документация и версии
Обновлены .env.example, README, backend-документация, product backlog и changelog.
Версии повышены до backend 1.4.2 и frontend 0.7.1.
Проверки
git diff --check
TypeScript type-check backend
Production-сборка frontend через Vite
Полный runtime-прогон backend-тестов локально не выполнялся, поскольку в среде разработки нет Docker/PostgreSQL. В CI добавлен PostgreSQL-сервис, миграции и запуск тестов против реальной БД.
## Первый P0-спринт: hardening backend и улучшения критических сценариев
### Backend 1.4.2
- Удалён самодельный mock PostgreSQL; тесты и CI теперь работают с настоящим PostgreSQL 16 и применяют миграции.
- Обновлён API-контракт: UUID `id`, пользовательский `slug`, авторизация, CSRF и ответы об ошибках документированы.
- Добавлена строгая валидация `POST`/`PATCH /api/races`: даты, дистанции, статусы, время, URL, длины полей и запрет неизвестных полей.
- Усилена загрузка обложек по сайту организатора: разрешены только безопасные публичные HTTP(S)-адреса, ограничены редиректы, размер ответа и таймаут.
- Добавлены проверки legacy-миграции `004`, валидации и безопасной загрузки обложек.
### Frontend 0.7.1
- Форма старта использует нативные поля даты и времени старта.
- Ввод результата разделён на часы, минуты, секунды, место и число участников; добавлена нормализация и проверка диапазонов.
- Экран подтверждения email теперь явно показывает успешное подтверждение и не предлагает повторно вводить email/отправлять письмо.
- Auth-формы получили loading-состояния, отображение ошибок и защиту от повторной отправки.
- Карточка «Последний личный рекорд» отображается только при фактическом улучшении предыдущего результата.
- Удалены сгенерированные Vite/TypeScript-артефакты, неиспользуемый health-клиент и статический каталог внешних обложек.
### Документация и версии
- Обновлены `.env.example`, README, backend-документация, product backlog и changelog.
- Версии повышены до backend `1.4.2` и frontend `0.7.1`.
### Проверки
- `git diff --check`
- TypeScript type-check backend
- Production-сборка frontend через Vite
Полный runtime-прогон backend-тестов локально не выполнялся, поскольку в среде разработки нет Docker/PostgreSQL. В CI добавлен PostgreSQL-сервис, миграции и запуск тестов против реальной БД.
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.
Первый P0-спринт: hardening backend и улучшения критических сценариев
Backend 1.4.2
id, пользовательскийslug, авторизация, CSRF и ответы об ошибках документированы.POST/PATCH /api/races: даты, дистанции, статусы, время, URL, длины полей и запрет неизвестных полей.004, валидации и безопасной загрузки обложек.Frontend 0.7.1
Документация и версии
.env.example, README, backend-документация, product backlog и changelog.1.4.2и frontend0.7.1.Проверки
git diff --checkПолный runtime-прогон backend-тестов локально не выполнялся, поскольку в среде разработки нет Docker/PostgreSQL. В CI добавлен PostgreSQL-сервис, миграции и запуск тестов против реальной БД.