Skip to content

Releases: wyrtensi/wystore

v0.2.1

Choose a tag to compare

@github-actions github-actions released this 10 Sep 04:20

Исправлено

  • «Передать обновления Wy Store» больше не качает APK впустую. Если в каталоге версия старше
    установленной, поставить её поверх нельзя — Android не устанавливает версию ниже той, что на
    телефоне. Кнопка всё равно предлагалась, скачивала APK целиком, получала отказ и молча стирала
    и файл, и строку очереди: ни сообщения, ни ошибки, кнопка на месте. Нажать её можно было сколько
    угодно раз подряд. Теперь карточка сначала сравнивает версии и подписи и предлагает то, что
    действительно может сработать: установку поверх — когда она возможна, удаление и установку
    заново — когда нет.

  • «Передать обновления Wy Store» вообще ни разу не срабатывала без root. Загрузка разрешала
    установить ту же самую версию поверх — именно она и делает Wy Store владельцем обновлений, — а
    проверка перед установкой запускалась заново уже без этого разрешения и отвечала «эта версия не
    новее установленной — обновлять нечего». Файл скачан, проверен, лежит в «готовых к установке», и
    на последнем шаге отвергается. Признак «этот файл запросил человек» теперь доходит до установки,
    а не теряется по дороге — во всех трёх местах, где проверка повторяется: обычная установка,
    установка из карточки и тихая установка через root.

  • Передача с удалением работает не только для приложений из Google Play. Раньше её предлагала
    одна кнопка «Принять» в библиотеке и только по признаку «установщик — Google Play». Причин, по
    которым установка поверх невозможна, две: чужая подпись и версия в каталоге ниже установленной, —
    и теперь обе ведут к одному и тому же предложению, прямо с карточки приложения.

  • Скачанное и отвергнутое обновление перестало исчезать беззвучно. Загрузка, которую запросил
    человек, заканчивается понятной ошибкой «в источнике версия старше установленной». Фоновая
    проверка по-прежнему выбрасывает такое тихо — приложение, опередившее каталог, не повод для
    красной строки, — но запись в журнал теперь остаётся в обоих случаях и попадает в отчёт
    диагностики.

  • Карточка перестала утверждать «у вас уже актуальная версия», когда в каталоге версия старше
    установленной.
    Теперь так и написано: какая версия в каталоге и почему она не встанет.

  • Библиотека показывает, кто на самом деле отвечает за обновления приложения. Бейдж строки
    говорит, где ищутся обновления, и у принятого приложения это всегда «RuStore» или «GitHub» —
    так строка приложения из Google Play сообщала «RuStore» и тут же предлагала переключатель,
    который существует только для приложений из Google Play. Владелец установки теперь назван
    отдельной строкой.

  • GitHub-карточка не предлагает поставить релиз старше установленного. Раньше «установлено это
    же или новее» считалось одним состоянием, и на релизе постарше установленного кнопка вела в ту же
    молчаливую яму.

  • Красная строка «удалите и поставьте заново» теперь может это сделать. При несовпадении
    подписи установка поверх невозможна ни для кого — это единственная ошибка, которую «Повторить»
    не может пройти, а больше на строке ничего не предлагалось. Рядом появилась кнопка «Удалить и
    поставить»: приложение удаляется, и та же строка очереди ставится заново из своего источника —
    включая релиз GitHub с его репозиторием, номером релиза и отбором файлов, которые именем пакета
    не заменишь.

  • Кнопки на экранах GitHub и на карточке приложения молчали. Сообщения приложения показываются
    в подложке, которая живёт внутри основного экрана, а страница приложения, страница релиза и
    страница GitHub рисуются вместо него — поэтому всё, что приложение говорило, пока открыта одна из
    них («поставлено в очередь», «нужно разрешение», ошибка), уходило в подложку, которой нет на
    экране. Нажатие выглядело так, будто ничего не произошло. Подложка теперь есть и на этих экранах.

  • «Открыть релизы» показывает результат там, где нажали. Загруженные релизы выводились ниже
    всего встроенного каталога из двадцати семи проектов, то есть за пределами экрана: кнопка
    срабатывала, а увидеть это было нельзя. Теперь список и индикатор загрузки идут сразу под кнопкой.

  • «Все релизы» на странице GitHub-приложения открывали вкладку GitHub, а не релизы. Кнопка
    вела на список репозиториев, то есть посмотреть или поставить любой релиз, кроме последнего, со
    страницы приложения было нельзя — при том что все релизы уже загружены. Теперь список
    раскрывается на месте: тег, дата, число файлов, пометка предрелиза; нажатие открывает страницу
    релиза.

  • Приложения из встроенного каталога GitHub опознаются как установленные. Имя пакета было
    указано у одной записи из двадцати семи, поэтому карточка предлагала «Установить» тому, у кого
    приложение уже стоит, и не могла отличить установленную версию от релиза на экране. Добавлено для
    тринадцати записей, каждая подтверждена двумя независимыми источниками — исходниками самого
    проекта и метаданными F-Droid либо пакетом на устройстве. Остальные оставлены пустыми: у части
    проектов идентификатор зависит от сборки (у Orbot в build-файле лежит .nightly, у Proton VPN —
    com. вместо ch.), а неверное имя пакета хуже отсутствующего — оно объявит установленным
    чужое приложение.

  • Приложения, установленные самим Wy Store, помечались как «Прочее». Значение WY_STORE в
    перечислении источников не выдавалось никогда: источник определялся сравнением с одним
    com.android.vending, а всё остальное сваливалось в «другой источник».

Изменено

  • Переключатель «Форсировать Wy Store» называется «Обновлять вместо Google Play». Он всегда делал
    именно это: разрешал фоновой проверке смотреть на приложение, установленное Google Play.
  • Описание обновлений переписано честно. В README и в обзоре было сказано, что на Android 12 и
    новее обновления ставятся сами и без root. Это половина правды. Условия Android теперь выписаны
    поимённо, и названа вторая проверка, о которой раньше не было ни слова: на телефоне с сервисами
    Google каждый APK, которого Play Protect раньше не видел, останавливается его собственным окном
    поверх тихой установки. Запоминает он файл, а не приложение. Итог сформулирован без прикрас: с root тихо
    всегда, без root — чаще всего работает, но гарантии нет. Проверено на Android 16, а не выведено
    из документации.
  • Там же исправлено давнее утверждение, что на Android 9, 10 и 11 тихо обновлять не может ни один
    магазин, включая Google Play. Play может на любой версии: он системное привилегированное
    приложение с разрешением INSTALL_PACKAGES, недоступным обычному приложению. Не может ни один
    сторонний магазин.

Файлы релиза

В релизе два файла, wystore-0.2.1.apk и wystore.apk, — это один и тот же APK, собранный один
раз и подписанный одним ключом. Второй нужен только для постоянной ссылки на последнюю версию.

Full Changelog: v0.2.0...v0.2.1

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 09 Sep 13:32

Важно: приложение сменило идентификатор

Wy Store переехал с dev.wystore на app.wystore. Для Android это другое приложение, а не
обновление, поэтому:

  • Установленная версия не обновится сама. Скачайте APK и поставьте вручную — это единственный
    раз, когда так нужно сделать; дальше самообновление работает как раньше.
  • Старое приложение останется на телефоне. Удалите его после переноса — два магазина, следящих
    за одними и теми же приложениями, будут спорить за обновления.
  • Данные не переезжают сами. В старом приложении: Настройки → «Резервная копия и перенос» →
    «Экспорт», сохраните файл. В новом — там же «Импорт», выберите его. Перенесутся принятые
    приложения, добавленные репозитории GitHub и все настройки.
  • Исключение из оптимизации батареи придётся выдать заново. Оно привязано к приложению, а
    приложение для Android теперь другое: Настройки → Центр разрешений → «Фоновая активность». Без
    него проверки в фоне приходят не по расписанию, а когда система сочтёт нужным.
  • Обновления придётся передать заново. Android разрешает тихо обновлять только тому, кто
    приложение установил, а установил их старый Wy Store. После переноса нажмите «Передать обновления
    Wy Store» на карточке — или просто дождитесь первого обновления, оно спросит подтверждение один
    раз.

Зачем: dev.wystore читалось как черновая сборка, хотя это обычное доменное имя. Менять
идентификатор позже, с большим числом установок, было бы дороже.

Добавлено

  • Отзывы с разбором по оценкам. Карточка показывала отзывы одним списком, новые сверху, — а
    человек перед установкой обычно ищет плохие, и найти их можно было только пролистав все хорошие.
    Теперь видно, сколько отзывов на каждую оценку, и есть фильтр по звёздам. Выбор оценки сначала
    догружает остальные отзывы: отвечать «однозвёздочных нет» по пяти встроенным в карточку нечестно.

Изменено

  • Карточки заметнее отделены от фона. Material разводит их на пару единиц светлоты — этого
    хватает на хорошем экране при полной яркости и не хватает на дешёвом, на солнце и тем, кто плохо
    различает тёмное. Шаг увеличен, порядок и оттенки сохранены, так что Material You по-прежнему
    выглядит собой.

Минимальная версия Android — 9

Была 8.0. Поднята вместе со сменой идентификатора, чтобы никого не отрезать от обновлений дважды.

Дело не в чистоте кода: читать подпись APK — signingInfo, историю ротации ключа,
longVersionCode — Android умеет с девятой версии. На восьмой всё это возвращало пустоту, то есть
проверка подписи там молча ничего не проверяла: обновление принималось без сверки с тем
сертификатом, которым подписано установленное приложение. Теперь такой дыры нет ни на одном
поддерживаемом устройстве.

Побочный эффект, о котором честно: APK вырос примерно с 11 до 31 МБ. Начиная с девятой версии
Android читает код приложения прямо из APK, и сборщик перестаёт его сжимать — установка от этого
быстрее, а место на устройстве расходуется экономнее, но скачивать приходится больше.

Файлы релиза

В релизе два файла — wystore-0.2.0.apk и wystore.apk. Это один и тот же APK с одной
подписью; второе имя постоянное, чтобы ссылка «Скачать APK» не ломалась с каждым выпуском.
Скачивайте любой.

Full Changelog: v0.1.27...v0.2.0

v0.1.27

Choose a tag to compare

@github-actions github-actions released this 09 Sep 10:02

Исправлено

  • Установка предлагается для каждого скачанного обновления, а не для одного. При включённой
    установке сразу после скачивания первое приложение уходило системе, а остальные складывались в
    список, который никто не двигал, и заявки на них стирались все разом. Десять принятых приложений
    давали одно окно подтверждения и девять молча скачанных файлов. Теперь они идут той же чередой,
    что и «Обновить все», и заявка тратится в момент передачи Android — не показанные переживают
    закрытие приложения.
  • Приложение, исключённое из автообновлений, действительно исключено. Проверка всё равно его
    смотрела и ставила в очередь; ничто его не качало, но оно там висело и предлагалось. Теперь оно
    не проверяется вовсе, а строка, оставшаяся от прежней версии, убирается. Для тех, кому такие
    обновления всё же нужно видеть, есть настройка — по умолчанию выключена. Проверка у самой
    карточки работает всегда: это уже спрос, а не «без спроса».
  • Настройки сети и зарядки действуют на весь раунд. Первая загрузка получала ограничения из
    настроек, а всё, что очередь запускала следом, шло по любой сети и без зарядки — то есть
    большинство загрузок раунда обходило «только Wi-Fi».
  • Пустые квадраты вместо иконок. Иконка искалась в кэше страниц каталога, который вытесняется и
    не пополняется ни поиском, ни открытием карточки. Теперь она помнится по имени пакета, а если её
    нет нигде — один раз спрашивается у источника.
  • Остановленную строку очереди можно убрать. «Пропустить» и «Отмена» оставляли её навсегда
    висеть как «Отменено» с единственной кнопкой «Повторить», вместе с файлом на диске.
  • APK удаляется после установки, а не дожидается следующей загрузки, которая запустит уборку.
  • «Установить все» дополняет очередь, а не заменяет её, и не предлагает заново то, от чего
    только что отказались в системном окне.
  • Проверка считает то, что действительно смотрела. В «проверено: N» попадали приложения, которые
    цикл пропускал по дороге.
  • В журнале сбоев имя приложения, а не идентификатор строки очереди.
  • Кружки крутятся спокойнее.

Добавлено

  • Вопрос перед загрузкой по мобильному интернету. Загрузка, которую человек запросил сам, всегда
    шла по любой сети — то есть «только Wi-Fi» молча тратилось. Теперь при платном соединении
    спрашивают: «Скачать» действует до перезапуска приложения, галочка «Всегда качать по мобильному»
    меняет саму настройку, «Отмена» ничего не запускает. Платный Wi-Fi тоже считается платным.
  • Очередь установки. Android подтверждает по одной установке за раз, и несколько нажатий подряд
    теряли все окна, кроме одного. Теперь нажатия становятся в очередь, следующее уходит, как только
    система освободилась, а над навигацией видно, чего очередь ждёт.
  • «Установить все» на вкладке обновлений. Раньше это было только на главной, а кнопка в
    библиотеке считала скачанные, писала «Установить (5)» и запускала проверку.
  • Проверка называет приложения, с которыми не справилась. Был только счётчик и слово
    «недоступно» — оно описывало приложение, тогда как не удавалась проверка. Теперь видно, какие это
    приложения и что с ними: источник не ответил, приложения нет в RuStore, или разработчик сменил
    ключ подписи. Последнее вообще молчало и выглядело как «обновлений нет», хотя обновиться на месте
    такое приложение уже не может. Про отсутствующее в каталоге говорится один раз, а не каждую
    проверку.
  • В строке библиотеки видно, что проверка нашла обновление, и рядом кнопка, чтобы его получить.

Изменено

  • Приложение принимается с включённым автообновлением независимо от того, откуда оно установлено.
    Принятое из Google начинало с выключенным, и Wy Store больше на него не смотрел — а значит и не
    мог сказать, что в каталоге есть версия, ради которой его стоит перенести.

Файлы релиза

В релизе два файла — wystore-0.1.27.apk и wystore.apk. Это один и тот же APK с одной
подписью; второе имя постоянное, чтобы ссылка «Скачать APK» не ломалась с каждым выпуском.
Скачивайте любой.

Full Changelog: v0.1.26...v0.1.27

v0.1.26

Choose a tag to compare

@github-actions github-actions released this 08 Sep 22:35

Исправлено

  • Очередь принимает сколько угодно. Второе нажатие «Передать» или «Обновить», пока идёт первая
    загрузка, отвечало «Сбой самого Wy Store, а не сети» — очередь пускает по одному, и стоять
    вторым считалось ошибкой. Теперь строка спокойно ждёт, а тот, кто освободил слот, запускает
    следующую: после загрузки, после ошибки и после установки. Раньше следующий элемент не запускался
    вообще, пока не нажмёшь «Запустить».
  • «Передать обновления Wy Store» и «Переустановить» снова работают. Это просьба поставить ту же
    версию — сама установка и есть то, что переводит контроль к Wy Store, — а проверка отклоняла её
    как «не новее установленной». Строку, которую создал человек, разрешено переустанавливать своей
    же версией; строку от автопроверки — нет, и версия старее отклоняется всегда.
  • Проверка больше не говорит «всё актуально», когда всё упало. Ошибка запроса к RuStore
    проглатывалась и читалась как «у этого приложения обновлений нет»: раунд, где не прошёл ни один
    запрос, докладывал ноль проблем. Теперь такие приложения считаются и называются.
  • Приложение, которого нет в RuStore, не заставляет проверку повторяться вечно. Любой не-2xx
    считался «магазин недоступен», то есть временным сбоем, и одного такого приложения хватало, чтобы
    вся проверка уходила в бесконечный retry с удваивающимся ожиданием. Ответ 4xx — это ответ про
    конкретный запрос, и он окончательный; а повторяется только тот раунд, где провалились все
    попытки.

Добавлено

  • Отчёт для сообщения об ошибке — Настройки → О Wy Store. Одна кнопка: системное окно отдаёт и
    файлом, и текстом. В отчёте версия Android и патч, модель и ABI, экран с sw-dp и масштабом шрифта,
    состояние root, разрешения на установку и уведомления, состав библиотеки, последняя проверка,
    очередь, настройки и последние сбои. Root спрашивается в момент нажатия, а не берётся из памяти.
    Ни аккаунтов, ни ссылок, ни путей к файлам в отчёте нет.
  • Журнал сбоев. Раньше отказ уходил в Logcat, куда человеку с проблемой не добраться, и в строку
    очереди, которая исчезает при первом же повторе. Теперь пишутся отказ установки, повторяемый сбой
    загрузки, сорванная отправка в очередь, сбой проверки по конкретному приложению и сбой регистрации
    после установки — последний оставлял приложение, которое больше никогда не обновится, при внешне
    успешной установке.

Файлы релиза

В релизе два файла — wystore-0.1.26.apk и wystore.apk. Это один и тот же APK с одной
подписью; второе имя постоянное, чтобы ссылка «Скачать APK» не ломалась с каждым выпуском.
Скачивайте любой.

Full Changelog: v0.1.25...v0.1.26

v0.1.25

Choose a tag to compare

@github-actions github-actions released this 08 Sep 19:33

Исправлено

  • Приложение с GitHub больше не предлагается обновить само на себя. Проверка сравнивала только
    id релиза: у принятого приложения его нет вовсе, а старые установки записывали на его место id
    файла — число из другого ряда, которое не совпадёт никогда. Поэтому каждая проверка ставила в
    очередь релиз, который уже стоит на телефоне, качала его и падала на проверке «версия не новее
    установленной». Теперь сравниваются версии, а id файла больше не пишется вместо id релиза.
  • Отказ проверки объясняется по существу. Все десять причин — от «в комплекте нет базового APK»
    до «версия уже установлена» — показывались одной фразой «Подпись APK не прошла проверку». Причина
    записывалась всё это время и выбрасывалась на последнем шаге. Теперь у каждой свой текст, а у тех
    двух, с которыми человек реально сталкивается, — что с этим делать.
  • Смена ключа подписи больше не считается подлогом. С v3-подписью разработчик может сменить ключ,
    и APK несёт цепочку, доказывающую преемственность; Android такое обновление принимает, а мы
    сравнивали только текущего подписанта и отклоняли.
  • Очередь не держит строку про обновление, которого не было. Архив не новее установленного — это
    не упавшая загрузка, а отсутствие работы. Показанный как сбой, он оставлял красную карточку про
    приложение, с которым всё в порядке, и скачанный впустую APK на диске. Строка и файлы удаляются.

Добавлено

  • Приложение из Google можно принять — заменой. Обновить его поверх нельзя ничем: Google
    подписывает свои сборки своим ключом, и Android отказывает с INSTALL_FAILED_UPDATE_INCOMPATIBLE.
    Теперь Wy Store ищет это же приложение в каталоге, показывает найденное и предлагает удалить и
    поставить заново, честно предупреждая, что данные при этом, как правило, не сохраняются. Тот же
    package name — совпадение точное и предлагается одно; иначе показываются ближайшие три, первое
    крупнее. Не нашлось — так и сказано.
  • Карточка предупреждает заранее. Если приложение установил не Wy Store, на странице написано,
    что первое обновление придётся подтвердить вручную и что после него контроль перейдёт к Wy Store.
    А если источник объявляет другой ключ подписи — что обновление отсюда поверх не встанет.

Изменено

  • Резервная копия обновляется сама. Android стирает запись «кто установил приложение» у всех
    приложений, как только удалён сам установщик — проверено на устройстве. Значит после переустановки
    Wy Store библиотеку неоткуда взять, кроме как из файла. Раньше копию нужно было делать руками, и
    она устаревала с первого же изменения; теперь выбранный однажды файл запоминается и
    перезаписывается при каждом запуске. Если файл удалить, Wy Store просто перестаёт его вести.
  • Автоматическая проверка не скачивает обновление, чей отпечаток заведомо не сойдётся с установленным
    приложением. Раньше это выяснялось после того, как файл был скачан целиком. Загрузка, запущенная
    вручную, по-прежнему идёт: только сам архив несёт цепочку подписей, способную доказать смену ключа.
  • Бейдж источника называется «Google», а не «Play».

Файлы релиза

В релизе два файла — wystore-0.1.25.apk и wystore.apk. Это один и тот же APK с одной
подписью; второе имя постоянное, чтобы ссылка «Скачать APK» не ломалась с каждым выпуском.
Скачивайте любой.

Full Changelog: v0.1.24...v0.1.25

v0.1.24

Choose a tag to compare

@github-actions github-actions released this 08 Sep 16:45

Исправлено

  • Проверка больше не висит в очереди. Ручная проверка наследовала настройку «только Wi‑Fi»,
    хотя тянет несколько килобайт номеров версий: на мобильном интернете задача ждала сеть, которой
    не будет, и «в очереди» держалось до следующего Wi‑Fi. Проверка, которую нажал человек, идёт по
    тому соединению, какое есть; скачивание настройку по-прежнему соблюдает. Проверка, уже висевшая
    в очереди до обновления, остаётся там со старым ограничением — нажмите «Проверить» один раз, и
    она заменится.
  • Кнопка проверки блокировалась, пока проверка «активна» — в том числе пока она стояла в очереди.
    Зависшая проверка отключала единственную кнопку, которой её можно было перезапустить. Теперь
    кнопка гаснет только на время самой проверки.
  • Удаление из библиотеки требовало root и молча отвечало отказом. Оно идёт через системный диалог
    Android — тот же, что и кнопка в карточке; свой диалог-подтверждение убран, Android спрашивает
    сам.
  • Кружок загрузки не крутился, если в системе выключены анимации: Material считает его длительность
    через системный множитель, и при нуле он рисуется один раз. Индикаторы прогресса теперь идут от
    кадрового таймера. Всё остальное — переходы, ripple — настройку по-прежнему соблюдает.

Изменено

  • «Раскрыть всё» переехало в строку поиска, справа, в один столбец со стрелками самих карточек.
    Раньше это была голая стрелка рядом с фильтрами, под которую уезжала их прокрутка и обрезала
    последний фильтр. Заодно в поле появилась очистка запроса.
  • Обновления, которые проверка нашла сама, качаются по правилам фоновых загрузок, даже если
    проверку запустил человек. Нажатие «Проверить» — это запрос номеров версий, а не сотни мегабайт
    по мобильному интернету; «Обновить» и «Скачать сейчас» начинают загрузку сразу, как и раньше.

Файлы релиза

В релизе два файла — wystore-0.1.24.apk и wystore.apk. Это один и тот же APK с одной
подписью; второе имя постоянное, чтобы ссылка «Скачать APK» не ломалась с каждым выпуском.
Скачивайте любой.

Full Changelog: v0.1.23...v0.1.24

v0.1.23

Choose a tag to compare

@github-actions github-actions released this 08 Sep 15:52

Исправлено

  • Обновление больше не трогает настройки, которые вы меняли сами. Сохранение одного
    переключателя записывало на диск все двадцать пять — и настройка, к которой никто не прикасался,
    превращалась в записанный ответ. Телефон навсегда оставался на тех значениях, которые были
    умолчаниями в день, когда вы впервые открыли настройки, а единственным способом донести
    до него новое умолчание была перезапись всей записи. Именно так в 0.1.22 на уже установленных
    телефонах включилась автоустановка и выключилось «только на зарядке» — независимо от того, что
    там стояло. Если это было вашим решением, проверьте настройки: значения не восстановятся сами,
    но переписаны они больше не будут.
  • Теперь пишется только то, что действительно изменилось. Нетронутый переключатель не хранит
    ничего, поэтому следующее умолчание доезжает до телефона само; тронутый — хранит ваш ответ, и
    обновление к нему не прикасается.

Удалено

  • Механизм принудительного подъёма умолчаний. Он не умел отличить «так решил пользователь» от
    «так лежало по умолчанию», и различать это должно хранилище, а не разовая миграция.

Файлы релиза

В релизе два файла — wystore-0.1.23.apk и wystore.apk. Это один и тот же APK с одной
подписью; второе имя постоянное, чтобы ссылка «Скачать APK» не ломалась с каждым выпуском.
Скачивайте любой.

Full Changelog: v0.1.22...v0.1.23

v0.1.22

Choose a tag to compare

@github-actions github-actions released this 08 Sep 13:30

Добавлено

  • Обновления устанавливаются без системного диалога. Android с двенадцатой версии разрешает это
    тому, кто приложение установил, — Wy Store просто никогда об этом не просил. Первая установка
    по-прежнему спрашивает всегда, и чужое приложение тоже.
  • Обновление ставится и когда приложение свёрнуто. Раньше скачанный файл ждал, пока Wy Store
    окажется на экране: диалогу нужна была активность, а установке сессии — нет.
  • Карточка приложения говорит, кто отвечает за его обновления, и предлагает передать это Wy Store,
    если отвечает кто-то другой.
  • Кнопка удаления прямо в карточке. Прежняя жила только в библиотеке и работала через root, то есть
    без root не работала вовсе.
  • Проверка обновлений сообщает результат: «Проверено: 7 — обновлений: 1» и ход проверки по мере
    работы. Раньше она молча заканчивалась, ничего не показав.
  • Найденное обновление сразу скачивается, а скачанное сразу предлагается установить. Обе настройки
    включены по умолчанию, обе отключаются.
  • В библиотеке появилась кнопка «раскрыть / скрыть всё».

Исправлено

  • Кнопка «Установить» на главной и в категориях открывала карточку вместо установки: она была
    привязана к тому же обработчику, что и нажатие на строку.
  • Приложение, удалённое снаружи, оставалось в списке установленных. Сброс кеша был привязан к
    экрану, а системное окно удаления как раз уводит приложение с экрана.
  • Карточка приложения с GitHub предлагала «Обновить» при уже установленной той же версии и качала
    тот же файл заново. Теперь версии сравниваются, и стоит «Открыть» и «Переустановить».
  • Приложение с GitHub, установленное не через Wy Store, не опознавалось как установленное вовсе.
  • Загрузка, падавшая с ошибкой сети, перепланировалась бесконечно и будила телефон всю ночь: в
    пути через JobScheduler не было ограничения попыток, в отличие от пути через WorkManager.
  • Сбой очереди с внутренней ошибкой не оставлял в логах ничего — приложение сообщало «сбой самого
    Wy Store» и не давало ни строчки для разбора.
  • Свободное место сверху на каждом экране: отступ под статус-бар применялся дважды.
  • Пустая полоса под панелью навигации — контент теперь идёт под неё.

Изменено

  • Уведомления приложения оформлены по его теме, а не инвертированным чёрным, и подняты к панели
    навигации.
  • «Только на зарядке» выключено по умолчанию: обновление, которое ждёт зарядника, не приходит.
  • Отпечаток подписи в карточке помечен точнее: он заявлен RuStore и сверяется перед установкой, а
    не просто «не проверен».

Удалено

  • Мёртвая проверка подлинности ответа установщика: токен генерировался и передавался, но не читался,
    а второй путь колбэка был недостижим сразу по двум причинам. Канал и без неё закрыт — приёмник
    не экспортирован, интент явный.

Файлы релиза

В релизе два файла — wystore-0.1.22.apk и wystore.apk. Это один и тот же APK с одной
подписью; второе имя постоянное, чтобы ссылка «Скачать APK» не ломалась с каждым выпуском.
Скачивайте любой.

Full Changelog: v0.1.21...v0.1.22

v0.1.21

Choose a tag to compare

@github-actions github-actions released this 07 Sep 22:50

Исправлено

  • Строка приложения больше не растягивается на треть экрана. Длинная версия вроде
    «2026.08.4 #162.1gpr» забирала всю ширину, а бейдж источника, которому не оставалось места,
    раскладывался в столбик из букв. Теперь укорачивается версия, а бейдж занимает своё слово.
  • Технический хвост версии в списках не показывается: в строке остаётся «2026.08.4», полная версия
    видна на странице приложения.
  • У приложений, для которых каталог не сообщает версию, вместо неё стоял одинокий прочерк.
  • Собственное обновление Wy Store подписано своим именем: в «Обновлениях» карточка
    называлась «wystore», по имени репозитория.

Добавлено

  • Страница «О Wy Store» показывает, что происходит с её собственным обновлением: очередь, ход
    скачивания и кнопка «Установить», когда файл скачан и проверен. Загрузку можно отменить там же.
  • Проверка обновления запускается при открытии страницы, поэтому после самообновления она сразу
    сообщает, что установлена последняя версия, вместо пустой карточки.
  • Пока источник не сообщил размер файла, вместо застывших «0%» идёт неопределённая
    полоса загрузки.

Изменено

  • Кнопка «Скачать APK» в README ведёт прямо на файл последнего релиза.

Файлы релиза

В релизе два файла — wystore-0.1.21.apk и wystore.apk. Это один и тот же APK с одной
подписью; второе имя постоянное, чтобы ссылка «Скачать APK» не ломалась с каждым выпуском.
Скачивайте любой.

Full Changelog: v0.1.20...v0.1.21

v0.1.20

Choose a tag to compare

@github-actions github-actions released this 07 Sep 19:44

Исправлено

  • Разделы на главной переведены. Названия подборок Wy Store были записаны в коде по-русски, поэтому
    в английском интерфейсе рядом с «Home» и «Search» стоял ряд плиток на русском.

Изменено

  • Скриншоты в README сняты заново, на текущем интерфейсе и отдельно для каждого языка.

Full Changelog: v0.1.19...v0.1.20