From b621cef12f256d9df543a6cbecf56096fe79b4e8 Mon Sep 17 00:00:00 2001 From: AnRil Date: Fri, 22 May 2026 23:37:36 +0700 Subject: [PATCH] docs(v0.5.8): CHANGELOG + release-notes + badges --- CHANGELOG.md | 33 +++++++++++++++++++++++- CLAUDE.md | 2 +- README.md | 4 +-- src/shared/release-notes.ts | 50 +++++++++++++++++++++++++++++++++++++ 4 files changed, 85 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d1d956..5f6f977 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,36 @@ ## [Unreleased] +## [0.5.8] — 2026-05-22 + +Автономный QA-проход: проверил все элементы, нашёл и починил несколько +коварных багов, добавил тесты на новые модули. + +### Fixed + +- **Heatmap / streak / достижения теперь обновляются после markDone.** + Был регресс из Sprint C (#9 — отделение history от broadcastState): + `markDone` мутирует Exercise in-place → state.exercises ref не + меняется → Dashboard useEffect с дептой `[exercises]` не fire'ил → + history не перетягивалась. Heatmap стоял пока пользователь не + добавит/удалит упражнение. Сейчас новый event `evtHistoryChanged` + шлётся из main после `markDone/snooze/skip/markChallengeDone/ + clearHistory/import`, Dashboard на него подписан. +- **Rapid double-click больше не пишет в историю дважды.** В Match + Summary при быстром тыке ✓ дважды один и тот же challenge мог + записаться 2 раза → лишние +N reps в стрик. То же для кнопки + «Готово» в ExerciseCard. ref-based дедуп. +- **Native save/open dialogs локализованы.** Раньше title `«Сохранить + резервную копию»` показывался даже в EN-локали. +- **Default exerciseName в challenge editor — пустой** (было + «Приседания» — выглядело как недопереведённый русский в EN UI). + +### Added + +- 18 новых тестов: `achievements.test.ts` (10), расширения + `history.test.ts` (8) — match-challenges через snapshot, deleted + exercise survival, race-edge cases. + ## [0.5.7] — 2026-05-22 Сквозное ревью UX: пройдено 12 сценариев глазами пользователя, найдено @@ -416,7 +446,8 @@ иконки), системный трей, автозапуск с Windows, native-уведомления, NSIS-инсталлятор, auto-update через electron-updater. -[Unreleased]: https://xn--90adajar8af4h.xn--p1ai/git/AnRil/laude/compare/v0.5.7...HEAD +[Unreleased]: https://xn--90adajar8af4h.xn--p1ai/git/AnRil/laude/compare/v0.5.8...HEAD +[0.5.8]: https://xn--90adajar8af4h.xn--p1ai/git/AnRil/laude/releases/tag/v0.5.8 [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 diff --git a/CLAUDE.md b/CLAUDE.md index eea3be1..b0e18f0 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -4,7 +4,7 @@ ## TL;DR -**Laude / Exercise Reminder** — Windows desktop приложение на Electron 33, которое напоминает делать упражнения и опционально парсит статистику матчей Dota 2 (через GSI) в количество повторений. Текущая версия — **0.5.7**. Один разработчик (AnRil), один remote — self-hosted Gitea. +**Laude / Exercise Reminder** — Windows desktop приложение на Electron 33, которое напоминает делать упражнения и опционально парсит статистику матчей Dota 2 (через GSI) в количество повторений. Текущая версия — **0.5.8**. Один разработчик (AnRil), один remote — self-hosted Gitea. ## Стек diff --git a/README.md b/README.md index 3d319d2..3407929 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,8 @@ Windows desktop приложение, которое напоминает делать упражнения во время работы за компьютером. Опционально подключается к Dota 2 и после каждого матча превращает статистику (смерти, убийства, ассисты) в количество повторений. -[![release](https://img.shields.io/badge/release-v0.5.7-orange)](https://xn--90adajar8af4h.xn--p1ai/git/AnRil/laude/releases/latest) -[![tests](https://img.shields.io/badge/tests-135%20passing-green)]() +[![release](https://img.shields.io/badge/release-v0.5.8-orange)](https://xn--90adajar8af4h.xn--p1ai/git/AnRil/laude/releases/latest) +[![tests](https://img.shields.io/badge/tests-178%20passing-green)]() [![platform](https://img.shields.io/badge/platform-Windows%2010%2F11-blue)]() ## Что внутри diff --git a/src/shared/release-notes.ts b/src/shared/release-notes.ts index b035c94..8208f29 100644 --- a/src/shared/release-notes.ts +++ b/src/shared/release-notes.ts @@ -21,6 +21,56 @@ export type ReleaseNoteItem = { export type ReleaseNotes = Record export const RELEASE_NOTES: Record = { + '0.5.8': { + ru: [ + { + title: 'Heatmap и стрик обновляются сразу после нажатия «Готово»', + detail: + 'Был регресс — статистика не обновлялась пока не изменишь упражнение. Починено через новое событие evtHistoryChanged.', + tag: 'fix' + }, + { + title: 'Двойной клик на ✓ больше не пишет 2 раза', + detail: + 'Rapid double-click на ✓ в Match Summary и «Готово» давал лишние повторы в стрик. Добавлен ref-based дедуп.', + tag: 'fix' + }, + { + title: 'Native save/open dialogs локализованы', + tag: 'fix' + }, + { + title: '+18 тестов на новые модули', + detail: + 'achievements, match-challenge edge cases, deleted exercise survival.', + tag: 'new' + } + ], + en: [ + { + title: 'Heatmap and streak update immediately after pressing "Done"', + detail: + 'There was a regression — stats did not update until you edited an exercise. Fixed via new evtHistoryChanged event.', + tag: 'fix' + }, + { + title: 'Double-click on ✓ no longer writes twice', + detail: + 'Rapid double-click on ✓ in Match Summary and "Done" added extra reps to streak. ref-based dedup.', + tag: 'fix' + }, + { + title: 'Native save/open dialogs localised', + tag: 'fix' + }, + { + title: '+18 tests for new modules', + detail: + 'achievements, match-challenge edge cases, deleted exercise survival.', + tag: 'new' + } + ] + }, '0.5.7': { ru: [ {