[S] SCROLL+Читайте. Зарабатывайте. Развивайтесь.
52K NOVA
🔥7 DAY STREAK

Журнал изменений

Все заметные изменения в Scroll+ будут задокументированы на этой странице.

0.4.5

23 марта 2026

Исправления ошибок завышения времени чтения и обхода кулдауна колеса удачи.

Исправлено

  • Двойной подсчёт времени чтения - Исправлено некорректное увеличение ежедневного времени чтения при каждом повторном открытии приложения. Хук useLoadProfileData загружал сессии из AsyncStorage и вызывал addSession() при каждом запуске приложения, что приводило к экспоненциальному накоплению сессий. Избыточный хук был удалён
  • Обход кулдауна колеса удачи - Исправлено ежедневное колесо удачи, позволявшее повторный спин до истечения 24-часового кулдауна. Теперь claimSpinReward на стороне сервера возвращает nextSpinAvailableAt во всех путях ответа. Клиент больше не использует отдельный fallback AsyncStorage, полагаясь исключительно на Redux. Обработчик ошибок теперь завершается отказом вместо разрешения

0.4.4

22 марта 2026

Критические исправления ошибок извлечения текста из PDF на физических устройствах, касающиеся застревания прогресса на 99% и пустых результатов извлечения.

Исправлено

  • Извлечение PDF застревает на 99% - Исправлен цикл извлечения, который никогда не завершался, если последняя страница(ы) не содержала контента. Проверка hasContent пропускала фазу анализа, из-за чего headingThreshold никогда не устанавливался
  • Логика фазы анализа - Проверка фазы анализа перенесена перед проверкой hasContent для обеспечения установки headingThreshold на странице 15
  • Обновления прогресса - Прогресс теперь обновляется для ВСЕХ страниц (включая пустые), а не только для страниц с контентом
  • Обход академического режима - Добавлена проверка pdfMode !== "academic" в handleBookPress для предотвращения ложного предупреждения «текст подготавливается»
  • Ошибка области видимости - Исправлена ошибка «completionSent is not defined» путём перемещения переменной в глобальную область видимости
  • Отладочное логирование - Добавлено логирование статистики извлечения для помощи в диагностике проблем на физических устройствах

0.4.3

22 марта 2026

Представление PDF академического режима — совершенно нового опыта чтения для учёбы и глубокого чтения, а также улучшения интерфейса и рефакторинг режима комфорта для глаз.

Добавлено

  • PDF академический режим - Полностью новый движок чтения, специально созданный для PDF
  • Нативный pinch-to-zoom - Включены нативные CSS touch-action свойства браузера для безупречного масштабирования в академическом PDF режиме
  • Многоцветные выделения - Динамические многоцветные выделения через нативный document.execCommand
  • Удаление выделений - Нажатие на существующие выделения вызывает диалог удаления
  • Минималистичный интерфейс - Модальное окно импорта PDF переработано в карточный дизайн с полной поддержкой i18n

Исправлено

  • Рендеринг комфорта для глаз - Заменён плоскоцветной оверлей нативными CSS фильтрами (sepia, contrast, brightness), привязанными к EYE_COMFORT_CONFIGS, с сохранением глубокого чёрного в тёмном режиме
  • Меню выделения - Исправлены ошибки вычисления Y-координаты при выделении текста, когда верхняя панель скрыта
  • Иммерсивный режим - Добавлен глобальный слушатель касаний для плавного скрытия навигационных HUD

0.4.1

19 марта 2026

Внутренний рефакторинг, повышение версии и исправления ошибок инициализации приложения и хуков компонентов.

Изменено

  • Точка входа приложения - App.tsx перемещён из src/App.tsx в корневой каталог в соответствии с конвенцией Expo
  • Инициализация приложения - Добавлена обёртка PersistGate, apiClient.init() перед синхронизацией, проверка безопасности verifyAppIntegrity() в продакшене и корректная очистка при размонтировании
  • Версия - Повышена до 0.4.1 (versionCode 23)

Исправлено

  • Порядок хуков DailySpinWheel - Определение функции checkSpinAvailability перемещено перед её использованием в useEffect
  • Импорт теста SyncService - Исправлен импорт apiClient для использования экспорта по умолчанию с корректной структурой мока

0.4.0

18 марта 2026

Крупный редизайн интерфейса чтения с новой плавающей панелью инструментов HUDMenu, удалением средства чтения с разделённым экраном и внедрением основной системы геймификации.

Добавлено

  • Плавающая панель инструментов HUDMenu - Полный редизайн от нижнего листа к компактной плавающей панели инструментов с 4 вкладками на основе иконок (Типографика, Интервал, Компоновка, Вид)
  • Основная система геймификации - Профили пользователей, статистика чтения, отслеживание Nova и еженедельные таблицы лидеров
  • Компактный режим RetroSlider - Новый компактный prop для дорожки (8px) и ползунка (24px)

Изменено

  • Анимация HUDMenu - Замена выдвижения вверх на fade+scale (200ms) для более плавного появления
  • Позиционирование HUDMenu - Теперь расположен под верхней панелью через prop topBarHeight вместо фиксированного внизу
  • ReaderScreen - Обновлён для интеграции нового HUDMenu с позиционированием topBarHeight
  • i18n - Переименование "level" в "threshold" в турецкой локализации геймификации

Удалено

  • Чтение с разделённым экраном - Удалён компонент SplitScreenReader и интерфейс режима разделённого экрана из ReaderTopBar

0.3.0

17 марта 2026

Критическое исправление бага назначения аватара, при котором пользователи отображались с неправильными маскотами высокого уровня независимо от их реального уровня Nova.

Исправлено

  • Исправление бага назначения аватара - Исправлен getAvatarIdForNova() как во frontend, так и в backend. Массив thresholds был отсортирован в порядке убывания, а MASCOT_AVATARS в порядке возрастания, что приводило к неправильному сопоставлению ID аватара с маскотами
  • Исправление базы данных - Значения avatarId для всех 39 пользователей были пересчитаны и исправлены

0.2.9

16 марта 2026

Критическое исправление бага для сохранения аватара между сеансами приложения.

Исправлено

  • Исправление бага отображения аватара - Исправлена проблема, при которой выбранный пользователем аватар случайно менялся на неправильный при запуске приложения. Редюсер updateUserProfile теперь фильтрует неопределённые значения из ответов сервера, предотвращая их перезапись существующих данных аватара

0.2.8

12 марта 2026

Улучшения чтения PDF с разделённым экраном в режиме синхронизации и уточнение системы ID аватара.

Добавлено

  • Режим синхронизации разделённого экрана - Новая кнопка переключения синхронизации для синхронизированной прокрутки между средством просмотра PDF и извлечённым текстом
  • Синхронизация страницы с прокруткой - Изменения страниц PDF автоматически прокручивают средство чтения HTML в соответствующую позицию

Изменено

  • Логика ID аватара - Упрощена для использования последовательного индекса (1-21) вместо значений порога Nova
  • Производительность - Добавлены React.memo и useCallback для оптимизации разделённого экрана

Исправлено

  • Рендеринг в Android - Режим разделённого экрана теперь использует тип программного слоя для WebView, чтобы предотвратить проблемы рендеринга

0.2.7

9 марта 2026

Улучшения плавающей панели вкладок с поддержкой планшетов и уточнение системы ID аватара.

Изменено

  • Поддержка планшетов - Плавающая панель вкладок адаптируется к размеру экрана: центрирована с фиксированной шириной (280px) на планшетах, полная ширина с отступами на телефонах
  • Уменьшение размера - Высота панели вкладок уменьшена с 65px до 50px, размер иконки уменьшен с 32px до 24px
  • Логика ID аватара - Возвращено к использованию значений порога Nova для идентификации аватара между сеансами

Исправлено

  • Выбор аватара - ID аватаров теперь правильно используют значения порога Nova, обеспечивая сохранение аватара после перезапуска приложения

0.2.6

7 марта 2026

Исправление белой вспышки в средстве чтения EPUB при переходе между главами и устранение предупреждения о зависимости React.

Исправлено

  • Переходы между главами EPUB - Устранена белая вспышка при навигации между главами путём рендеринга WebView за пределами экрана до готовности контента
  • Предупреждение React - Исправлена отсутствующая зависимость в хуке useEffect DailySpinWheel

0.2.5

6 марта 2026

Крупная реконструкция интерфейса средства чтения с режимом погружения, плавающей панелью вкладок glassmorphism, глубокими ссылками для соответствия GDPR и критическими исправлениями ошибок геймификации.

Добавлено

  • Режим погружения - Панель вкладок и заголовок автоматически скрываются при прокрутке, нажмите для переключения элементов управления, синхронизация строки состояния
  • Плавающая панель вкладок Glassmorphism - Эффекты нативного размытия с expo-blur, современный дизайн с закруглёнными углами
  • Глубокие ссылки - Обратный вызов удаления учётной записи для соответствия GDPR, автоматический выход при удалении учётной записи

Изменено

  • Множитель серии в реальном времени - Отображение Nova включает бонусы серии (1.0x - 2.5x)
  • Бонус еженедельной цели - Увеличен с 500 Nova до 10 000 Nova
  • Сохранение языка - Сохранённый языковой prefs применяется немедленно при запуске приложения

Исправлено

  • Мерцание модального окна - Модальное окно повышения уровня больше не появляется после закрытия
  • Выбор аватара - Идентификаторы аватаров теперь используют правильные последовательные номера (1-21)
  • Злоупотребление двойным вращением - Ежедневное колесо вращения немедленно сохраняет временную метку для предотвращения нескольких вращений
  • Отслеживание активности - Записывает активность в начале прокрутки для всех средств чтения

0.2.4

5 марта 2026

Критическое исправление логики расчёта очков Nova для предотвращения неконтролируемого начисления.

Исправлено

  • Исправление утечки интервалов - Исправлена серьёзная ошибка в GamificationService.ts, где несколько таймеров могли накапливаться, приводя к экспоненциально высоким очкам Nova (например, 10k Nova за 2 минуты)

0.2.3

5 марта 2026

Формула расчёта Nova переработана с линейным ростом на основе времени. Исправлена критическая ошибка, при которой прокрутка некорректно начисляла очки Nova.

Изменено

  • Переработка расчёта Nova - Переход от расчёта на основе страниц к расчёту на основе времени: Старая формула: (страницы × 10) + (минуты × 5) + 20. Новая формула: Линейный рост в минуту (10, 20, 30... до 300 Nova/мин за 30 мин). После 30 минут: ограничено 300 Nova в минуту. Пример: 30 мин чтения = 4 650 Nova (вместо непредсказуемых значений)

Исправлено

  • Ошибка Nova при прокрутке - Исправлено некорректное начисление Nova при прокрутке страниц. Ранее каждое изменение позиции прокрутки вызывало recordPageRead(), приводя к чрезмерному накоплению Nova

Удалено

  • Неиспользуемый xpService.ts - Удалён устаревший файл серверного сервиса, который больше не использовался

0.2.2

4 марта 2026

Фокус на стабильности синхронизации, улучшенной производительности и более точном отслеживании геймификации.

Добавлено

  • Кнопка синхронизации в заголовке - Минимальная выделенная кнопка синхронизации в заголовке с ретро пиксельной анимацией вращения

Изменено

  • Еженедельный тренд Nova - График теперь получает точные ежедневные данные с сервера, включая очки Nova, заработанные в ежедневном вращении

Исправлено

  • Немедленная синхронизация - Исправлена потенциальная проблема потери данных; очки чтения теперь синхронизируются немедленно при закрытии книги
  • Фоновая гидратация - Улучшено сохранение Redux для обеспечения сохранения локальных очков до успешной синхронизации с сервером
  • Исправление сериализации - Устранена ошибка 'Invalid request body' путём добавления отсутствующих временных меток в полезные нагрузки синхронизации

0.2.1

4 марта 2026

Включает исправление ошибки, связанной с системой геймификации Nova, и новые улучшения интерфейса в настройках приложения.

Добавлено

  • Ссылки в настройках — Добавлены прямые ссылки на официальный сайт (scroll.pics), страницу журнала изменений и страницу удаления аккаунта в меню настроек приложения

Исправлено

  • Ошибка синхронизации Nova — Исправлена логическая ошибка, при которой очки Nova, заработанные пользователями, оставившими приложение открытым и приостановившими чтение, отклонялись и удалялись из-за слишком строгих серверных античит-правил

0.2.0

3 марта 2026

Этот выпуск включает поддержку языков с письмом справа налево (RTL), улучшения геймификации, улучшения сборки Android и комплексное усиление безопасности.

Добавлено

  • Поддержка RTL-языков — Полная поддержка текста справа налево для арабского, персидского, урду, иврита и ещё 6 RTL-языков
  • Ежедневное колесо удачи — 8 сегментов колеса с наградами Nova (100-5000), защита серии и бустер опыта
  • Модальное окно повышения уровня — Новые уведомления о прогрессе с синхронизацией на сервере
  • API 35 — Обновление до последнего Android SDK с Kotlin 2.0.21
  • Усиление безопасности — 80+ автоматизированных модификаций безопасности, словарь ProGuard, закрепление сертификатов

Изменено

  • Улучшение загрузки EPUBReader для предотвращения белой вспышки
  • Обновление всех зависимостей до последних версий

Исправлено

  • Исправлены ошибки виджета «Чемпионы недели»
  • Повышена надёжность импорта EPUB/PDF

0.1.3

25 февраля 2026

Подготовка к Google Play Store с исправлениями критических ошибок.

Добавлено

  • Плагин Expo Secure Store — Конфигурация для безопасного хранения токенов
  • Улучшения сборщика Metro для разработки

Изменено

  • Обновление версии: 0.1.2 → 0.1.3
  • Примечания к выпуску сокращены с 16 КБ до ~3 КБ

Исправлено

  • Критическое исправление регулярного выражения — Устранено переполнение стека при обработке PDF
  • Исправлена конфигурация подписи релиза для Google Play
  • Google Web Client ID перенесён на управление через конфигурацию

0.1.2

24 февраля 2026

Значительные улучшения чтения PDF с поддержкой просмотра в режиме разделённого экрана.

Добавлено

  • Просмотр PDF в разделённом экране — Просмотр оригинального PDF и извлечённого текста бок о бок с синхронизацией прокрутки
  • 16-фазный конвейер OCR — Продвинутое извлечение текста из PDF с определением языка
  • Система верификации возраста — Фильтрация контента с приветственным окном
  • Нативный рендеринг PDF с react-native-pdf
  • Специфические исправления OCR-ошибок для турецкого языка

Изменено

  • Улучшенный интерфейс управления профилем
  • Улучшена обработка входа через Google

Исправлено

  • Множественные улучшения точности извлечения текста из PDF
  • Улучшена обработка сложных макетов PDF

0.1.1

22 февраля 2026

Усиление безопасности, система адаптивного дизайна и увеличенные лимиты файлов.

Добавлено

  • Система адаптивного дизайна — Точки останова для телефонов и планшетов с динамическим масштабированием
  • Конфигурация сетевой безопасности с закреплением сертификатов
  • Логотипы заставки в нескольких разрешениях

Изменено

  • Лимит размера PDF: 25 МБ → 30 МБ
  • Лимит размера EPUB: явные 50 МБ
  • 15+ компонентов обновлены для адаптивного поведения

Исправлено

  • Защита от ZIP-бомб при импорте EPUB
  • Защита от обхода пути
  • Названия в магазине обновлены до лимита в 30 символов

0.1.0

11 февраля 2026

Первый выпуск с полным набором функций электронной книги и ретро-RPG геймификацией.

Добавлено

  • Поддержка EPUB — Полный парсинг EPUB 2.0/3.0 с темами, шрифтами и режимом комфорта для глаз
  • Поддержка PDF — Ленивое извлечение текста с конвертацией в markdown
  • Система геймификации — 21 уровень аватара, ежедневное колесо удачи, серии, таблицы лидеров
  • Управление типографикой — Выбор шрифта, размер, высота строки, межсловный интервал
  • Система цитат — Захват, оформление и публикация цитат из книг
  • Ретро-интерфейс — Пиксельный шрифт VT323, CRT-эффекты, свечение анимации
  • Аутентификация через Google OAuth
  • Управление библиотекой с визуальной сеткой книг
  • Поддержка 67+ языков с обработкой RTL

История версий

ВерсияДатаФокус
0.4.52026-03-23Исправление двойного подсчёта времени чтения, исправление кулдауна колеса удачи
0.4.42026-03-22Извлечение PDF застревает на 99%, отслеживание прогресса, исправление предупреждения академического режима
0.4.32026-03-22Масштабирование академического режима, многоцветные выделения, исправления фильтра комфорта для глаз
0.4.12026-03-19Рефакторинг точки входа, PersistGate, исправление порядка хуков, исправление импорта теста
0.4.02026-03-18Плавающая панель HUDMenu, система геймификации, удаление разделённого экрана
0.3.02026-03-17Исправление бага назначения аватара, исправление базы данных
0.2.92026-03-16Исправление сохранения аватара между сеансами
0.2.82026-03-12Режим синхронизации разделённого экрана, уточнение ID аватара, производительность
0.2.72026-03-09Плавающая панель вкладок для планшетов, уменьшение размера, исправление ID аватара
0.2.62026-03-07Переходы глав EPUB, исправление предупреждения React
0.2.52026-03-06Режим погружения, glassmorphism UI, глубокие ссылки, исправления геймификации
0.2.42026-03-05Исправление утечки интервалов, расчёт Nova
0.2.32026-03-05Переработка формулы Nova, исправление прокрутки
0.2.22026-03-04Кнопка синхронизации, исправление еженедельного тренда, стабильность гидратации
0.2.12026-03-04Ссылки настроек, исправление синхронизации Nova
0.2.02026-03-03Поддержка RTL, API 35, усиление безопасности
0.1.32026-02-25Подготовка к Google Play, исправление regex
0.1.22026-02-24Разделённый экран PDF, 16-фазный OCR
0.1.12026-02-22Адаптивная система, безопасность
0.1.02026-02-11Первый выпуск