diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b93aad..69e7577 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,23 @@ ## [Unreleased] +## [0.6.3] — 2026-06-07 + +### Added + +- Главный экран получил новый блок прогресса: мягкий уровень, недельные + мини-челленджи и “игровой долг” после каток. +- Добавлен `src/renderer/src/lib/momentum.ts`: вычисляемая модель ритма недели, + XP/уровня и Dota match-debt без изменения persisted state. +- Добавлены тесты `momentum.test.ts` на недельные челленджи, игровые долги и + расчет уровня. + +### Changed + +- Визуальный бренд в интерфейсе сменен на “Не Залипай”. +- README обновлен под новую продуктовую концепцию: план дня, недельные + челленджи, игровые долги и 241 passing tests. + ## [0.6.2] — 2026-06-06 ### Added @@ -48,13 +65,13 @@ history не перетягивалась. Heatmap стоял пока пользователь не добавит/удалит упражнение. Сейчас новый event `evtHistoryChanged` шлётся из main после `markDone/snooze/skip/markChallengeDone/ - clearHistory/import`, Dashboard на него подписан. +clearHistory/import`, Dashboard на него подписан. - **Rapid double-click больше не пишет в историю дважды.** В Match Summary при быстром тыке ✓ дважды один и тот же challenge мог записаться 2 раза → лишние +N reps в стрик. То же для кнопки «Готово» в ExerciseCard. ref-based дедуп. - **Native save/open dialogs локализованы.** Раньше title `«Сохранить - резервную копию»` показывался даже в EN-локали. +резервную копию»` показывался даже в EN-локали. - **Default exerciseName в challenge editor — пустой** (было «Приседания» — выглядело как недопереведённый русский в EN UI). @@ -362,7 +379,7 @@ блокирует CSRF от browser-вкладок. Body cap 256 KB (OOM-вектор закрыт). Require `application/json`. Generic 400 без error-echo. - **`isQuietAt` wrap-around + day filter.** С `22:00 → 07:00, - days=[Mon..Fri]` теперь правильно проверяется день *начала* окна +days=[Mon..Fri]` теперь правильно проверяется день _начала_ окна (старт Fri 22:00 → активно ночью Sat 02:00). - **DST drift в `history.ts`.** Календарная арифметика (`setDate`) вместо ms-арифметики — на границе DST дни больше не дублируются. @@ -474,7 +491,8 @@ иконки), системный трей, автозапуск с Windows, native-уведомления, NSIS-инсталлятор, auto-update через electron-updater. -[Unreleased]: https://git.xn--90adajar8af4h.xn--p1ai/AnRil/laude/compare/v0.6.2...HEAD +[Unreleased]: https://git.xn--90adajar8af4h.xn--p1ai/AnRil/laude/compare/v0.6.3...HEAD +[0.6.3]: https://git.xn--90adajar8af4h.xn--p1ai/AnRil/laude/compare/v0.6.2...v0.6.3 [0.6.2]: https://git.xn--90adajar8af4h.xn--p1ai/AnRil/laude/compare/v0.5.8...v0.6.2 [0.5.8]: https://git.xn--90adajar8af4h.xn--p1ai/AnRil/laude/releases/tag/v0.5.8 [0.5.7]: https://git.xn--90adajar8af4h.xn--p1ai/AnRil/laude/releases/tag/v0.5.7 diff --git a/README.md b/README.md index 28cd717..bdb13e0 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ -# Laude — Exercise Reminder +# Не Залипай — Exercise Reminder -Windows desktop приложение, которое напоминает делать упражнения во время работы за компьютером. Опционально подключается к Dota 2 и после каждого матча превращает статистику (смерти, убийства, ассисты) в количество повторений. +Windows desktop приложение, которое помогает не залипать за компьютером: держит план дня, напоминает размяться, ведёт недельные челленджи и превращает Dota 2 статистику после матча в игровые долги. -[](https://git.xn--90adajar8af4h.xn--p1ai/AnRil/laude/releases/latest) -[]() +[](https://git.xn--90adajar8af4h.xn--p1ai/AnRil/laude/releases/latest) +[]() []() ## Что внутри @@ -11,6 +11,7 @@ Windows desktop приложение, которое напоминает дел - **Гибкие напоминания** — любое количество упражнений, интервал от минуты до часов, разные иконки. - **Питание** — отдельная вкладка с приёмами пищи по времени суток (завтрак/обед/ужин/перекусы), выбор дней недели, пресеты быстрого добавления. Напоминания по настенным часам, а не по интервалу. - **История и стрики** — heatmap-календарь активности, ежедневный счётчик, серия дней подряд. +- **Сегодня** — главный экран с планом дня, уровнем, недельными мини-челленджами и игровым долгом. - **Тихие часы** — окно времени когда напоминания подавляются (например `22:00 → 08:00`), с выбором дней недели. - **Сделал частично** — степпер `−/+` в окне напоминания: если ты сделал 5 из 10, в историю запишется честное число. - **Игровая интеграция (Dota 2)** — Game State Integration читает статистику матча, после Победа/Поражение показывает экран с «причитающимися» повторениями (например `10 смертей × 3 = 30 приседаний`). @@ -84,8 +85,9 @@ src/main/adaptive.test.ts (6) src/renderer/src/lib/day-plan.test.ts (6) src/shared/types.test.ts (4) src/renderer/src/lib/icon-choices.test.ts (4) +src/renderer/src/lib/momentum.test.ts (3) ────────────────────────────────────────── - 238 ✓ + 241 ✓ ``` Покрытие: IPC-валидация (упражнения/челленджи/приёмы пищи), persistence (миграции, карантин битого JSON, history cap), scheduler-гейтинг (тихие часы, ВКС-пауза, daily-goal), планирование приёмов пищи по времени суток (DST-safe), детект ВКС, история/стрики (DST), тихие часы (wrap), парсер VDF для Steam-конфигов, достижения, i18n с плюрализацией RU/EN, дефолты shared-типов. diff --git a/package.json b/package.json index 679a83e..6c761bb 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "laude", "version": "0.6.2", - "description": "Exercise reminder — Windows desktop app", + "description": "Не Залипай — Windows desktop rhythm and exercise reminder", "main": "out/main/index.js", "author": "AnRil", "private": true, diff --git a/src/renderer/index.html b/src/renderer/index.html index 79ffb89..78bbd44 100644 --- a/src/renderer/index.html +++ b/src/renderer/index.html @@ -9,8 +9,11 @@ для Tailwind utility-классов и инлайн-стилей framer-motion. font-src включает data: на случай если кто-то вставит base64 SVG-glyph. --> - -