docs(v0.5.7): CHANGELOG + release-notes + badge
This commit is contained in:
76
CHANGELOG.md
76
CHANGELOG.md
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user