- Tag v0.0.2 cut from main b5ba7b2 (PR #16 merged).
- enduro_russia pipeline run: ok, 5 new + 36 updated, 0 errors (39 tracks in DB).
- wikiloc: 403 from WAF on first request, graceful stop (config-complete, scrape-blocked).
- Public URL returns 502 due to pre-existing nginx config bug
(sites-enabled pointed to :5558, app listens on :5556). Patched the
config file in place; awaits operator-side `systemctl reload nginx`.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
54 lines
3.5 KiB
Markdown
54 lines
3.5 KiB
Markdown
# Changelog
|
||
|
||
All notable changes to this project will be documented in this file.
|
||
Format: [Keep a Changelog](https://keepachangelog.com/en/1.1.0/)
|
||
|
||
## [v0.0.2] — 2026-06-02
|
||
|
||
### Added
|
||
- ET-009: Активация GPS-источников EnduroRussia и Wikiloc — `config/gps_sources.yaml`
|
||
включает оба источника (`enabled: true`), для Wikiloc добавлен soft-cap
|
||
`max_tracks_per_run: 50` и activity-фильтр; `config/gps_regions.yaml` подписывает
|
||
`wikiloc` на регион `tsfo_plus_chuvashia`. Парсер `wikiloc.py` извлекает время из
|
||
GPX-metadata (для корректной дедупликации) и поддерживает `max_tracks_per_run`
|
||
cap. UI: цвет `wikiloc`, чекбокс источника, динамическая атрибуция
|
||
(`GPS_SOURCE_ATTRIBUTIONS`) подтягивается с `/api/gps-tracks/health`.
|
||
Тесты: 10 unit ER + 10 unit WL + 5 integration + 2 contract (nightly only).
|
||
PR #16, tag v0.0.2.
|
||
|
||
### Fixed
|
||
- ET-009: исправлен URL `enduro_russia` в `config/gps_sources.yaml`
|
||
(`https://enduro-russia.ru` → `https://endurorussia.ru`, без дефиса).
|
||
|
||
## [v0.0.1] — 2026-06-01
|
||
|
||
### Added
|
||
- ET-008: GPS-треки с публичных платформ на карте — новый модуль `src/web/gps_tracks.js`
|
||
с отображением публичных GPS-треков (OSM Traces, enduro_russia, ttrails) в виде
|
||
MVT-тайлов (z 8–11) и GeoJSON (z ≥ 12); фильтрация по активности и источнику,
|
||
попап с мета-данными трека, z-order ниже личных GPX-треков (AC-10).
|
||
Backend: FastAPI-пакет `src/api/gps_tracks/` (endpoint, MVT, LRU-кэш, дедупликация),
|
||
миграция `migrations/gps_tracks_001_init.sql`, pipeline-скрипт `scripts/gps_collect.py`,
|
||
Docker-сервис `gps-collector`. PR #12, tag v0.0.1.
|
||
|
||
## [Unreleased]
|
||
|
||
- Initial project structure
|
||
- CLAUDE.md project passport
|
||
- Agent system prompts (architect, developer, reviewer, tester, deployer)
|
||
- CI pipeline (Gitea Actions)
|
||
- Docker configuration
|
||
- ET-002: чекбокс «POI» в попапе рельефа — показ/скрытие маркеров POI
|
||
с сохранением состояния в localStorage (ключ `poi-visible`)
|
||
- ET-005: переключатель единиц измерения расстояний (км/мили) в попапе
|
||
рельефа — новый модуль `src/web/units.js` с централизованным
|
||
форматтером `Units.formatDistance()`; выбор сохраняется в localStorage
|
||
(ключ `distance_unit`), пересчёт всех видимых расстояний выполняется
|
||
единым оркестратором по событию `unitchange`
|
||
- ET-006: загрузка и визуализация GPX-треков — новый модуль
|
||
`src/web/gpx.js` с клиентским парсингом GPX 1.1 (`DOMParser`,
|
||
чанковая конвертация), отрисовкой треков и waypoints на карте,
|
||
панелью `#sheet-gpx` со списком треков, статистикой и canvas-профилем
|
||
высот; GPX-слои восстанавливаются после смены стиля карты через
|
||
`rebuildMapOverlays()`. Данные треков хранятся только в памяти сессии
|