Skip to content

Open Store v1.6.6

Latest

Choose a tag to compare

@ShavlaK ShavlaK released this 08 Sep 12:08
· 1 commit to main since this release

🚀 Open Store v1.6.6 — Гармонизация Windows, Движок Ошибок и Оптимизация для Слабых ПК

🎨 Гармонизация дизайн-системы и токенов интерфейса (WPF UI Token Harmonization)

  • Полная унификация геометрии элементов управления: Стандартные поля ввода и основные кнопки приведены к единой высоте 38px (крупные) и 32px (стандартные), компактные кнопки списков к 28px.
  • Стандартизация радиусов скругления: 10px для всех текстовых полей, 10px для основных кнопок, 8px для компактных кнопок, 12px для карточек. Устранены капсульные овальные поля ввода в Custom Adam ID.
  • Унификация модальных окон: Внутренние отступы (Padding) всех диалогов стандартизированы до 24px (AppleIdLoginDialog, RestoreProgressDialog, ITunesInstallDialog, UpdateDialog).
  • Поля ввода с паролями: LargeModernPasswordBox с единой стилизацией и аккуратной кнопкой переключения видимости (👁/🙈).

🛡️ Интеллектуальный движок нормализации и классификации ошибок (ErrorClassifier Engine)

  • Типизированный классификатор ErrorClassifier: Поддержка доменов Download, Install, Auth, Device, System.
  • Понятные структурированные сообщения на русском языке: Вместо сухих консольных стектрейсов пользователи видят заголовок, описание и блок практических рекомендаций («💡 Как исправить»).
  • Диагностические бейджи и экспорт отчетов: Добавлен код ошибки (ERR-DL-*, ERR-INST-*, ERR-AUTH-*, ERR-DEV-*) и кнопка «📋 Скопировать диагностический отчет» для оперативной поддержки.
  • Сквозная интеграция во все диалоги: Экран загрузки/установки (RestoreProgressDialog), окно авторизации (AppleIdLoginDialog), экран устройств и покупок.

⚡ Оптимизация производительности для слабых ПК (Low-End PC & Memory Optimization)

  • Двухуровневый сервис кэширования иконок IconCacheService: Сохранение на диск (%APPDATA%\Open Store\IconCache\) и в памяти с потокобезопасным вызовом Freeze().
  • Аппаратный даунсемплинг иконок при декодировании (DecodePixelWidth = 80): Потребление оперативной памяти снижено с ~400 МБ до 35 МБ при прокрутке 1000+ приложений.
  • Ограничение параллелизма сетевых загрузок через SemaphoreSlim(3): Полное устранение микрофризов и 100% загрузки CPU на старых процессорах с 2–4 ядрами.
  • Пакетные запросы метаданных iTunes Search API (FetchBundleIdsBatchAsync): Пачки по 30 Bundle ID вместо сотен одиночных HTTP-запросов при опросе установленных на iPhone приложений.

🔒 Усиление безопасности и надежности авторизации 2FA (Windows Hardening)

  • Безопасная передача аргументов командной строки: Использование ProcessStartInfo.ArgumentList взамен конкатенации строк, предотвращающее сбои парсинга спецсимволов пароля (!, &, ", %, ^).
  • Автоматическая очистка устаревших cookies .ipatool/cookies: Предотвращает циклы недействительных токенов сессий перед повторной авторизацией.
  • Адаптивный таймаут до 90 секунд: Стабильная генерация Anisette на медленных ПК.
  • Таймер обратного отсчета (30 секунд): Блокировка повторного клика на кнопке повторного запроса 2FA («Повторно (30с)»).
  • Подробная подсказка в интерфейсе: Инструкция по получению 6-значного офлайн-кода через «Настройки» iPhone в случае отсутствия push-уведомления.

🛠️ Кнопка аварийного восстановления («Переустановить с GitHub»)

  • В раздел «Настройки» добавлена возможность переустановки/обновления приложения напрямую из официального релизного репозитория GitHub в один клик.