Дата аудита: 2026-06-13 Дата исправлений: 2026-06-14
return true. При пустом allowedOrigins в production соединения отклоняются.ErrNotYourPlace с errors.Is-поддержкой.${VAR:-default}._FILE suffix.string(rune(line)) — код в log.go уже использует strconv.Itoa. Баг был исправлен до аудита.strPtr дублирование — удалён из handlers/helpers.go и services/auth.go. Создан единый pointer package.contains/searchString — код в repository/reviews.go использует errors.As напрямую. Проблема не актуальна.services/auth_test.go — 6 тестов (регистрация, дубликат email, неверный пароль, бан, валидация токена, невалидный токен)services/places_test.go — 3 теста (создание, не-владелец, неизвестный action модерации)vitest + @testing-library/reactErrorBoundary.test.tsx — 2 тестаcatch {} — в admin/tags/page.tsx заменён на обработку с сообщением пользователюconsole.error — в MapView.tsx заменён на тихий catch (карта работает с текущими данными)PlaceRepo, UserRepo, RefreshTokenRepo для тестируемостиisProd флаг для безопасного fallback origins.github/dependabot.yml есть, но нет workflow. Нужен GitHub Actions.| Файл | Изменение |
|---|---|
backend/internal/services/places.go |
Sentinel errors + интерфейс PlaceRepo |
backend/internal/services/auth.go |
Интерфейсы UserRepo/RefreshTokenRepo, убран strPtr |
backend/internal/handlers/websocket.go |
isProd + CheckOrigin без fallback true |
backend/internal/handlers/helpers.go |
Удалён strPtr |
backend/internal/handlers/tags.go |
strPtr → pointer.Str |
backend/internal/pointer/ |
Новый пакет (Str, Int, Float64) |
backend/cmd/api/main.go |
isProd для WS Hub |
docker-compose.yml |
Все пароли через ${VAR:-default} |
deploy/env.prod |
Очищен Yandex-ключ |
deploy/Caddyfile |
CSP + Permissions-Policy |
frontend/src/components/ErrorBoundary.tsx |
Новый компонент |
frontend/src/app/layout.tsx |
ErrorBoundary обёртка |
frontend/src/app/admin/tags/page.tsx |
Обработка ошибок |
frontend/src/components/MapView.tsx |
console.error → тихий catch |
frontend/vitest.config.ts |
Новый файл |
frontend/src/test/ |
setup.ts, ErrorBoundary.test.tsx |
obsidian_data/Photoplaces_data/ |
7 новых Zettelkasten-заметок |