Skip to content

STORM SWITCH BOX 5.0.14

Choose a tag to compare

@ReiKatari ReiKatari released this 30 Sep 23:28
· 6 commits to main since this release

💡 Релиз 5.0.14 — Профессиональный комбайн для обработки, слияния, конвертации и компрессии образов Nintendo Switch и 3DS


🚀 Ключевые изменения и улучшения

  • 🌟 [Изоляция Solid-компрессии]: Устранена критическая ошибка сжатия nsz.exe при сохранении в каталоги с существующими играми. Процесс компрессии переведен в изолированную временную директорию, что полностью исключает падения из-за предварительного сканирования библиотеки и поврежденных PFS0 разделов.
  • 🌟 [Устранение дедлоков консоли]: Запуск nsz.exe в режиме Solid-компрессии переведен на безопасный пайплайн ExternalProcessRunner с автоматическим закрытием потока StandardInput, регистрацией в JobObjectManager и корректной кодировкой UTF-8.
  • 🌟 [Сохранность журнала задач]: Устранено случайное затирание логов этапов распаковки и конвертации перед стартом компрессии — журнал выполнения задач теперь строго аккумулирует историю всех стадий.
  • 🌟 [Глубокая диагностика ошибок]: Полностью переработана подсистема перехвата сбоев в обработчиках задач: при пустом сообщении исключения теперь всегда отображаются его точный тип, внутреннее исключение и стек вызова.
  • 🌟 [Отказоустойчивое логирование]: Запись логов сессий перенесена в гарантированно доступную пользовательскую директорию %LOCALAPPDATA%\StormSwitchBox\logs, предотвращая отказы доступа при установке программы в Program Files.
📋 Полный список изменений (нажмите, чтобы развернуть)
  • 🔹 [NszCompressionService]: Режим сжатия CompressSolidViaNszAsync переработан для создания изолированной временной папки STORM_TMP на целевом томе или в системном каталоге Temp. Сжатый файл атомарно перемещается в каталог назначения через SafeFileOperations.SafeMoveOrReplaceFileAsync.
  • 🔹 [NszCompressionService]: Исправлено накопление логов задачи — заменено затирающее присвоение task.LogDetails = ... на безопасное конкатенирование task.LogDetails += ....
  • 🔹 [ExternalProcessRunner]: Поток стандартного ввода StandardInput теперь гарантированно закрывается перед началом вычитывания вывода, защищая консольные утилиты от блокировок ожидания ввода пользователя.
  • 🔹 [MultiContentService]: В блоке перехвата ошибок обработки образов добавлено резервное формирование сообщения с именем класса исключения и InnerException, исключая отображение пустых ошибок.
  • 🔹 [TasksViewModel]: Добавлена расширенная детализация исключений очереди задач для мгновенной локализации любых нештатных ситуаций.
  • 🔹 [LogService]: Файлы журнала приложения теперь создаются в папке локального профиля пользователя с безопасной fallback-маршрутизацией во временную системную папку.
🌐 English Changelog (click to expand)
  • 🔸 [Solid Compression Isolation]: Resolved a critical issue in nsz.exe solid compression where scanning existing destination library directories containing corrupt or non-standard PFS0 partitions led to OSError: Not a valid PFS0 partition. Compression now executes within an isolated temporary staging directory before atomic placement.
  • 🔸 [Console Deadlock Prevention]: Solid compression subprocess execution is now managed through ExternalProcessRunner with guaranteed StandardInput closure, JobObjectManager tracking, and UTF-8 environment configuration.
  • 🔸 [Task Log Preservation]: Fixed premature overwriting of task log details across multi-stage operations, ensuring complete extraction and pre-processing history is retained.
  • 🔸 [Enhanced Error Reporting]: Upgraded exception handlers across task and processing pipelines to surface full exception types, inner exceptions, and stack traces whenever a primary error message is empty.
  • 🔸 [Resilient Session Logging]: Re-routed application session log files to %LOCALAPPDATA%\StormSwitchBox\logs, eliminating unauthorized access exceptions when running from protected Program Files locations.
📦 Файлы и вложения к релизу (нажмите, чтобы развернуть)
  • 📁 Прикреплённые файлы: Исполняемые файлы, инсталляторы и архивы доступны в секции Assets ниже.
  • 🛡️ Контроль целостности: Все бинарные файлы собраны из официального исходного кода, заверены цифровой подписью STORM TEAM Authenticode SHA-256 с меткой времени RFC 3161 и проверены перед публикацией.
  • 💻 Установка: Скачайте соответствующий архив или инсталлятор из списка Assets и следуйте стандартным инструкциям.