Сборка про фильтр, закладки и профиль: жанры можно искать и комбинировать, в закладках появились сортировка по рейтингу и фильтр анонсов, а обновления теперь приходят без Cloudflare — и в России тоже.
Фильтр и поиск
- НовоеПараметры фильтра выбираются в шторке с поиском — жанр или студию больше не нужно искать глазами в длинном списке.
- НовоеРежимы жанров: «Хотя бы один», «Все выбранные» и «Без выбранных» — с подсказкой, что именно покажет фильтр.
- УлучшеноФильтр предупреждает, если выбрано слишком много жанров, и показывает, что он включён.
- Исправлено«Популярное» больше не путает вкладки: «Онгоинги», «Фильмы» и «OVA» показывают то, что написано, а не весь каталог и анонсы.
Закладки
- НовоеСортировка «По рейтингу» по убыванию и по возрастанию.
- НовоеВо «Избранном» и «В планах» — фильтр анонсов: только анонсы или без них.
- УлучшеноКарточки коллекций держат пропорцию 16:9 и на планшете больше не сплющиваются.
Профиль и коллекции
- НовоеТап по значку у ника показывает его название.
- НовоеУдалённый профиль показывает заглушку оригинала, а если он был в друзьях — кнопку «Удалить из друзей».
- НовоеЕсли аккаунт стоит на удалении, на своём профиле видна дата удаления и переход к отмене.
- Новое«Здоровье аккаунта»: запись, возвращённую модератором на доработку, видно с дедлайном и кнопкой «К записи».
- НовоеКоллекция: счётчики символов в названии (60) и описании (5000), кнопка комментариев в шапке.
- УдаленоПоле Instagram убрано из соцсетей профиля, как в оригинале.
Ссылки и обновления
- БезопасностьПеред переходом по ссылке на чужой сайт приложение переспросит — «Перейти по ссылке …?».
- УлучшеноРейтинг на странице релиза — с двумя знаками после запятой.
- УлучшеноПроверка обновлений идёт на xartlife.app без Cloudflare — обновления приходят и в России.
Сборка про надёжность: ошибки объясняются словами, а не английским стеком, картинки живут на диске, а ссылки и обновления открываются только оттуда, откуда должны.
Понятнее
- НовоеОшибка показывается причиной — «Сетевое подключение недоступно», «Превышено время ожидания сети», «Ошибка сервера (код 502)» — вместо английского текста исключения. На всех трёх языках.
- НовоеСсылки в комментариях нажимаются. Кнопка отправки загорается с 5 символов, а поле не даёт набрать больше 720 — как у сервера, раньше он просто отказывал.
- ИсправленоСклонения и даты идут за языком интерфейса: по-английски больше нет «21 subscriber», голосовой поиск слушает на выбранном языке.
- УлучшеноЕсли следующая страница списка не загрузилась, внизу появляется «Повторить», а не пустота или ошибка на весь экран. Догрузка начинается за 10 карточек до конца, как у оригинала.
Картинки и загрузки
- НовоеПостеры и аватары кэшируются на диске и не качаются заново после каждого запуска. «Лимит кэша» теперь действительно ограничивает, а очистка показывает освобождённый объём.
- ИсправленоОффлайн-сетка показывает постер скачанного релиза.
- ИсправленоТап по скачанной серии предлагает удалить копию, а не скачать её ещё раз из самой себя. Скачивание больше не попадает в историю просмотра.
- ИсправленоПотоки в формате fMP4 честно сообщают, что их нельзя скачать, вместо битого файла.
Безопасность
- УлучшеноСсылки из чужих профилей, заметок и комментариев открываются только как веб-адрес:
intent://, market:// и файлы одним тапом больше не открыть. - УлучшеноAPK обновления скачивается только с наших адресов и во внутреннее хранилище, где его не подменить.
- УлучшеноТокен входа не попадает в отчёты об ошибках и в резервную копию Android.
Исправления
- ИсправленоВидео во вкладке профиля открываются по нажатию.
- ИсправленоГлавная и страница релиза больше не обращаются к закрытому экрану после ответа сети — ушли утечки и редкие падения.
- УлучшеноКаталог загрузок называется xartlife_downloads; старый переносится сам при первом запуске, скачанное не теряется.
Сборка про внешний вид и удобство: экраны переведены на токены оригинала, поиск наконец стал одним компонентом, а плеер на ПК ведёт себя как плеер, а не как мобильный экран. Плюс несколько находок, которые ломали приложение молча.
Плеер на ПК
- ИсправленоКлик по кадру больше не прячет кнопки — он ставит паузу, как в браузере. Панель показывается движением мыши и прячется бездействием.
- ИсправленоКлавиатура перестала замолкать после нажатия любой кнопки внутри плеера.
- НовоеРаскладка как на ютубе: пробел и K — пауза, J/L и стрелки — перемотка, M — звук, цифры 0–9 — прыжок по ролику, «,» и «.» — скорость, F и F11 — полный экран.
Внешний вид
- УлучшеноЭкраны переведены на токены оригинала: чисел «из головы» стало 184 вместо 2070. Попутно выправлены аватар в шапке профиля, цвет галочки верификации и трекинг в статистике.
- ИсправленоПоиск стал одним компонентом: одинаковая высота и отступы на всех вкладках вместо пяти разных реализаций.
- НовоеУ страницы релиза появилась двухпанельная раскладка на планшете в альбоме.
Исправления
- ИсправленоЗаявка в друзья читалась наоборот на половине профилей: кнопка предлагала отправить запрос тому, кто его уже прислал.
- ИсправленоВозрастной рейтинг в фильтре искал не тот диапазон: «18+» показывал 16+, а настоящий 18+ был недоступен.
- ИсправленоЗакрытая подсказка больше не мелькает при каждом открытии экрана.
- ИсправленоСсылки из заметки релиза открываются только по http и https.
Сборка собрана из трёх параллельных веток: нативная картинка-в-картинке на iOS, полноценный оффлайн-режим и большая внутренняя перестройка. Плюс починен запуск релизной сборки на Android и выправлены иконки по оригиналу.
Оффлайн
- НовоеБез сети главная показывает сетку скачанных релизов вместо пустых списков — сразу видно, что можно смотреть.
- НовоеОчередь загрузок: серии качаются строго по одной, прогресс виден по каждой.
- НовоеПостеры кэшируются на устройство — оффлайн-список больше не серый.
- НовоеПереключатель «Принудительный оффлайн» в отладочном меню — проверить поведение без выключения Wi-Fi.
Плеер
- НовоеКартинка-в-картинке на iOS — нативная, через системный плеер: видео продолжает играть в плавающем окне.
Интерфейс
- ИсправленоПланшеты: боковое меню включается с 600 dp в портрете и 960 dp в альбомной — как в оригинале. Раньше телефон, положенный набок, получал меню на пол-экрана.
- УлучшеноУ выбранного пункта нижней панели вернулась подложка-«таблетка», над панелью — тонкая линия. Обе детали есть в оригинале и потерялись при портировании.
- Исправлено32 иконки не совпадали с оригиналом: закладка была залитой вместо контурной, у замка уехала грань, а в справочных файлах и вовсе лежали чужие картинки. Все выправлены по ресурсам APK.
- УлучшеноЧасть иконок теперь берётся из шрифта Material вместо картинок — приложение весит меньше и рисует их быстрее.
Стабильность
- ИсправленоРелизная сборка Android не запускалась — стартовый экран искали в чужом пакете. Критично: отладочная версия при этом работала, поэтому баг долго жил незамеченным.
- ИсправленоСплеш показывал «9.0 BETA 11» — версию чужого приложения. Теперь и сплеш, и настройки берут настоящую версию сборки.
- ИсправленоОшибка входа через Google звала приложение чужим именем.
Под капотом
- УлучшеноКод разложен на семь слоёв с проверкой границ на каждой сборке: экраны больше не ходят в сеть и в базу напрямую. Удалено больше пяти тысяч строк, до которых нельзя было добраться.
- УлучшеноТексты интерфейса переехали в файлы переводов — до этого они были вписаны прямо в код. Язык пока зафиксирован на русском: перевод покрывает не весь интерфейс.
- УлучшеноСхема версий сменилась на год.месяц.выпуск: по номеру сразу видно, насколько свежая сборка.
Починили воспроизведение Kodik и AniLibria под новые серверы XartLife и прокачали плеер: горячие клавиши, громкость и перемотка.
Воспроизведение
- ИсправленоВоспроизведение Kodik снова работает — добавили новые зеркала XartLife (старые ссылки тоже поддерживаются).
- УлучшеноAniLibria переведена на новый источник серий — качества подтягиваются стабильнее.
Плеер
- НовоеГорячие клавиши: Space/K — пауза, ←/→ — ±10 сек, ↑/↓ — громкость, M — без звука, Esc — выход.
- НовоеРегулятор громкости прямо в плеере (на вебе и десктопе).
- НовоеУдержание пробела ускоряет воспроизведение — как долгое нажатие по экрану.
- ИсправленоПочинена перемотка перетаскиванием по видео и по полосе прогресса.
Большое обновление: оффлайн-видео теперь собирается в
MP4 и играет на любом устройстве. Подробности — в
Telegram.
Загрузки и оффлайн
- НовоеОффлайн-серии теперь сохраняются сразу в MP4 — видео открывается и на телефоне, и на других устройствах (больше нет ошибки «формат не поддерживается»).
- НовоеПрямо в списке серий видно прогресс загрузки и сборки — нажмите, чтобы отменить.
- НовоеПосле старта загрузки появляется кнопка «Перейти к загрузкам».
- ИсправленоОшибка загрузки теперь сразу показывается уведомлением, а не остаётся незаметной.
- УлучшеноТехнические адреса (frame.php, m3u8 и прочее) больше не показываются — они не нужны при просмотре.
Стабильность и диагностика
- НовоеПодключён сбор отчётов о сбоях (Sentry) — баги находятся и чинятся быстрее.
- УлучшеноДобавлены таймауты на сетевые запросы загрузки — зависший сегмент больше не блокирует повторное скачивание.
Приложение и бренд
- НовоеВ версии приложения теперь показывается идентификатор сборки (commit) — удобно при сообщении о проблеме.
- УлучшеноСервер по умолчанию — оригинальный api.anixart.app. Если вы уже выбирали свой сервер, ваш выбор сохраняется.
- УлучшеноВсе ссылки на сообщество ведут в Telegram; «Сообщить об ошибке» открывает наш канал.
- ИсправленоУдалены забытые служебные файлы с данными пользователя.
Сборка iOS
- ИсправленоПочинена сборка под iOS (конфликт Sentry и Swift Package Manager).
Стабильность
- ИсправленоУстранены гонки при подгрузке списков на 8 экранах — больше нет дублей и устаревших данных при обновлении.
- ИсправленоПлеер больше не зависает в бесконечной загрузке при смене серии; добавлен поворот в альбомную ориентацию при разблокировке.
- ИсправленоСчётчик уведомлений пересчитывается при возврате на экран, а не по таймеру.
- ИсправленоИсправлены проценты статусов в коллекциях (без падений на пустых данных).
Качество кода
- НовоеДобавлены юнит-тесты на ключевую логику, сама логика вынесена из виджетов.
API
- ИсправленоИсправлены тела запросов для редактирования профиля и соцсетей (camelCase) — изменения теперь сохраняются.
Оффлайн-просмотр
- ИсправленоПочинено воспроизведение скачанного HLS на телефоне — локальный сервер и плейлист с byte-range.
Запуск
- УлучшеноУскорен старт приложения: событийная готовность вместо опроса каждые 100 мс.
Год до первого релиза, с июля 2025 по июнь 2026. Записей по версиям тогда не вели — вот что было сделано, одним куском.
Что было сделано до 1.0
- НовоеПриложение переписано с Android на Flutter: один код на Android, iOS, Windows, macOS и веб.
- НовоеКаталог, поиск, фильтры и подборки; страница релиза с описанием, кадрами, связями и комментариями.
- НовоеПлеер с источниками Kodik и AniLibria, выбор озвучки и качества, пропуск опенинга, продолжение с места остановки.
- НовоеПрофиль, закладки по спискам, коллекции, друзья, уведомления и лента.
- НовоеЗагрузка серий на устройство и просмотр без сети.