docs(v0.5.7): CHANGELOG + release-notes + badge

This commit is contained in:
AnRil
2026-05-22 15:27:28 +07:00
parent db18d0c512
commit 71b664d284
4 changed files with 157 additions and 3 deletions

View File

@@ -6,6 +6,79 @@
## [Unreleased]
## [0.5.7] — 2026-05-22
Сквозное ревью UX: пройдено 12 сценариев глазами пользователя, найдено
13 проблем (3 настоящих бага P0 + 4 UX-просадки P1 + 6 мелочей P2),
все починены.
### Fixed (P0 — функциональные баги)
- **Match-челленджи теперь пишутся в историю.** Раньше клик ✓ в окне
Match Summary обновлял только локальный `Set<challengeId>` — челленджи
не доходили до store, и стрик / today_done / достижения игнорировали
игровые тренировки (самую главную фишку приложения). Сейчас IPC
`markChallengeDone` пишет entry с `source='match'`,
`exerciseId='challenge:<id>'`, `actualReps`, `reps` (snapshot).
- **Tray-пауза синхронизирована с Dashboard.** Раньше «Пауза напоминаний»
из tray использовала scheduler-local `paused` boolean, который не
отражался в `settings.globalEnabled` — Dashboard показывал «running»
с тикающим таймером, хотя fires не приходили. Сейчас единый
source of truth — `settings.globalEnabled`. `setPaused/isPaused`
удалены, IPC `pauseAll/resumeAll` переписаны на updateSettings.
- **WhatsNew покажется обновляющимся пользователям.** В v0.5.6 логика
была: `lastSeenVersion === undefined` → silent save (не показывать).
Это означало что **никто** из текущих пользователей при апгрейде с
v0.5.5 не увидит описание новых фич. Сейчас: если есть Exercise
с `lastDoneAt` — пользователь существующий, показываем заметки
текущей версии. Иначе (новичок) — silent.
### Fixed (P1 — UX просадки)
- **Удаление упражнения теперь спрашивает подтверждение.** Раньше
один клик в menu «Удалить» сразу удалял. Сейчас iOS-style ConfirmModal
с destructive-кнопкой.
- **Daily goal закрыт — больше не «25 часов 13 минут».** Когда дневная
цель достигнута, ExerciseCard показывает «Цель закрыта · 100/100»
с success-зелёным цветом, а не запутанный обратный отсчёт до завтра.
- **Авто-пауза на ВКС видна в Dashboard.** Раньше fires пропускались
молча — пользователь не понимал почему через 12 мин ничего не пришло.
Сейчас info-баннер «Не дёргаем — ты на встрече» с указанием закрыть
Zoom/Teams/etc.
- **Native `window.confirm()` → iOS-style ConfirmModal** в restore-операции.
Раньше всплывал серый системный диалог.
### Fixed (P2 — полировка)
- **Achievement unlock celebration.** Когда впервые открылся новый
badge — pulse + accent-glow анимация 2.8 сек. Список celebrated
хранится в localStorage, при следующем заходе анимации нет.
- **Match Summary close confirm.** При закрытии окна с незакрытыми
челленджами спрашиваем подтверждение с указанием остатка.
- **TTS задержка 800мс.** Дикторский голос даёт пользователю шанс
decrement'нуть stepper — иначе TTS произносил планируемые reps в тот
момент когда юзер уже изменил цифру.
- **Tracking badge точность.** Раньше зелёный показывался даже при
`queued` launch option. Сейчас 3 состояния: `live` (success, всё
работает), `setup` (warning «закрой Steam и снова открой» если launch
option ещё не применён), `off` (muted, не подключено).
- **HistoryEntry хранит snapshot `reps`+`name`+`source`.** Heatmap и
achievements больше не теряют данные после удаления упражнения.
- **Adaptive-badge на ExerciseCard.** Маленькая Brain-иконка показывает,
что упражнение в адаптивном режиме — пользователь понимает почему
Next не строго равен intervalMinutes.
### Added
- `src/renderer/src/components/ui/ConfirmModal.tsx` — переиспользуемый
iOS-style confirm с focus-trap'ом через Modal.
- IPC `markChallengeDone(challengeId, reps)` — handler в main, метод в
preload (раньше канал был в IPC enum, handler не зарегистрирован).
- IPC `getMeetingActive` + event `evtMeetingChanged` — meeting-detect
broadcast'ит при переходе on/off.
- Helper `repsDoneTodayForExercise(history, exercise)`
per-exercise daily count для UI индикатора goal.
## [0.5.6] — 2026-05-22
Большой релиз с 7 новыми фичами + экран «Что нового», который покажется
@@ -343,7 +416,8 @@
иконки), системный трей, автозапуск с Windows, native-уведомления,
NSIS-инсталлятор, auto-update через electron-updater.
[Unreleased]: https://xn--90adajar8af4h.xn--p1ai/git/AnRil/laude/compare/v0.5.6...HEAD
[Unreleased]: https://xn--90adajar8af4h.xn--p1ai/git/AnRil/laude/compare/v0.5.7...HEAD
[0.5.7]: https://xn--90adajar8af4h.xn--p1ai/git/AnRil/laude/releases/tag/v0.5.7
[0.5.6]: https://xn--90adajar8af4h.xn--p1ai/git/AnRil/laude/releases/tag/v0.5.6
[0.5.5]: https://xn--90adajar8af4h.xn--p1ai/git/AnRil/laude/releases/tag/v0.5.5
[0.5.4]: https://xn--90adajar8af4h.xn--p1ai/git/AnRil/laude/releases/tag/v0.5.4