Repository navigation
Releases: oxso1teee/lexreader
Release list
v0.3.0 — Визуальная идентичность
Визуальная идентичность: forest-акцент, гибридная геймификация, serif-заголовки
По мотивам docs/release-2026-08-26/ (12–13) — решения уйти от «кремовый + латунный» дефолтной AI-палитры (общей чертой с конкурентами вроде Lexpring) к единому фирменному стилю, и PR #49–#52, которые его реализовали.
Что изменилось
- Цвет (#49):
--color-primaryтеперь указывает на forest (#1f4d3b) вместо caramel — единственный акцент вместо двух конкурирующих по всему приложению (78 файлов). - Гибридная геймификация (#50): редизайн
/progress— героический блок стрика с иконкой пламени,StatCardчерез иерархию размера/веса шрифта вместо радуги цветов,ActivityHeatmapна forest-шкале, круглые ачивки с forest-кольцом. Явно НЕ добавлено: маскот, XP/валюта, голосовые упражнения с оценкой речи, daily missions с сундуками наград. - Типографика (#51): Playfair Display (
next/font/google) для hero/H1 лендинга и крупных заголовков секций — весь остальной текст остаётся на Geist. Отдельно задокументирован пересмотр решения «без лидерборда/Арены»: недельная лига (#44) и живые дуэли (#45/#46) признаны совместимыми с гибридной геймификацией (opt-in, приватность по умолчанию, без XP-экономики) — не тот же продукт, что была отклонённая Duolingo-style «Арена». - Финальная визуальная проверка (#52): 20 живых скриншотов (10 экранов × desktop/mobile) — единый акцент подтверждён, ни одного случайного caramel-пятна, кнопки читаемы.
Полное решение и разбор — docs/release-2026-08-26/12_VIZUALNAYA_IDENTICHNOST_RESHENIE_2026-08-26.md, отчёт проверки — 13_FINALNAYA_PROVERKA_2026-08-27.md.
v0.2.0 — Mobile-ready core
Mobile-ready core: security hardening, testing, mobile wrapper scaffold
По мотивам docs/release-2026-08-22/ (00–11) — большого аудита состояния проекта перед попыткой мобильного релиза, и PR #24–#48, которые он породил.
Безопасность и приватность
- Атомарный rate-limit перевода (
fix/atomic-translate-rate-limit, #26) — закрыта race condition черезpg_advisory_xact_lockвsupabase/migrations/0045_atomic_translate_rate_limit.sql. - Валидация магических байт при загрузке файлов (
fix/storage-magic-byte-validation, #27). - Идемпотентность Stripe-вебхука (
fix/stripe-webhook-idempotency, #30). npm-auditкак отдельный CI-gate (ci/npm-audit-gate, #31).- Честная секция support-контакта в Privacy/Terms (
fix/security-and-support-contact, #25).
Тестирование
- e2e на удаление/экспорт аккаунта (#28), RLS cross-user isolation (#29).
- 386 unit-тестов на момент аудита (сейчас — 403, см. #54).
Продукт
- Импорт видео в Ридер v2 (#24).
- Wow-анимации и визуальный проход (#33), theme toggle (#34), page transitions (#35, #38), icon system (#36), landing hero (#37).
- NGSL стартовые колоды (#39), Language Twin — визуальный аватар и share-карточка (#40, #41).
- Персональный API-токен + тап-перевод на любой странице через браузерное расширение (#42, #43).
- Недельная лига/лидерборд с opt-in приватностью (#44), живые дуэли по словарю 1-на-1 (#45, #46).
- PWA-манифест + честная privacy policy для магазинов (#47).
- Capacitor: нативные Android/iOS-обёртки поверх того же Next.js-приложения (#48).
Известный пробел (честно, не скрываю)
docs/release-2026-08-22/11_CHEKLIST_ZAPUSKA_V_STORY.md описывает PR 3–5/N мобильного релиза (иконки/сплэши, сборка и живая проверка Android APK, подготовка iOS-проекта, скриншоты и текст листинга сторов, финальный чек-лист) — они существуют только на неслитой ветке feat/mobile-capacitor-setup и не входят в этот тег, т.к. не попали в main. Конфигурация публикации в App Store/Google Play — намеренно вне скоупа текущей работы.