Repository navigation
OrbitFM v0.19.0-rc.2
Pre-release
Pre-release
·
55 commits
to main
since this release
Локальная статистика прослушивания (ADR-0049): сбор, хранение, раздел
«Статистика» в настройках и команды CLI. Счётчики живут только на устройстве.
Схема status --json остаётся 1.
Добавлено
- ADR-0049 и интерфейс
docs/interfaces/17-stats.md: файлstats.jsonсхемы 1,
учёт только состоянияPlaying, лимиты списков, внешние потоки, приватность
без сервера и без аккаунта; контракт разложен по интерфейсам 05/09/10/13 и
модулю 11 - Модуль
src/stats/—StatsStore:$XDG_DATA_HOME/orbitfm/stats.json
(schema,updated_at,stations[],days), до 500 станций и 730 UTC-суток,
свёртка дублей и доводка пустыхcountrycode/tagsпри загрузке, снимок с
ранжированием топ-10 и окнами 7/30 суток - Накопление в
Session: сегмент текущей станции, засчитываются только целые
секунды эфира; сброс порога каждые 30 с, при уходе изPlaying, при смене
станции, при выключении учёта, приstats clearи при выходе процесса;
в parked-режиме будильникParked::Statsпродолжает копить с закрытым окном - Внешний поток получает ключ
external:<fnv1a64(url)>вместо безымянной
станции; теги обрезаются до 128 байт по границе тега - IPC
stats(строкиstats total <seconds>,stats enabled <bool>и топ-5
станций/стран/тегов),stats --json(сводка схемой 1 с локализованным
блокомui) иstats clearс ответомok stats cleared; неизвестный
аргумент — ошибка; native host браузера команды запрещает (ADR-0038) - Настройка
stats_enabledпо умолчаниюtrue: старыеsettings.jsonбез
поля читаются как включённый учёт и не перезаписываются,set_stats_enabled
сохраняет только при изменении - Категория «Статистика» в окне настроек: итоги «всего / 7 дней / 30 дней»,
тумблер учёта, «Очистить» в два клика и топ-10 станций, стран и тегов с
полосами доли; снимок обновляется не чаще раза в секунду и только пока
открыт раздел - Уведомление
stats_damaged: повреждённый файл остаётся нетронутым до первой
успешной записи, счётчики начинаются с нуля и пользователя предупреждают
один раз за запуск - Строки раздела и уведомление во всех 16 языках каталога
Руководство пользователя — в вики проекта.