Skip to content

Releases: oxso1teee/lexreader

v0.3.0 — Визуальная идентичность

Choose a tag to compare

@oxso1teee oxso1teee released this 02 Sep 06:49
3f8c69b

Визуальная идентичность: 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

Choose a tag to compare

@oxso1teee oxso1teee released this 02 Sep 06:48
6197c2c

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 — намеренно вне скоупа текущей работы.