Skip to content

Shellit v0.9.1

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 30 Sep 13:29
· 8 commits to main since this release

🚀 Shellit v0.9.1 — Архитектура невмешательства и устойчивость рабочих сессий (Non-Interference Architecture & Workspace Resilience)

📌 О релизе / Release Overview

Релиз v0.9.1 концентрируется на надежности и уважении к пользовательскому окружению:

  1. Архитектура невмешательства в семантической интеграции (BUG-050): Полностью ликвидирована автоматическая фоновая отправка управляющих скриптов в поток ввода PTY удаленных SSH-сессий, создававшая визуальный шум и паразитное многострочное эхо. Разметка выключена по умолчанию, а управление интеграцией переведено на прозрачный модальный диалог ShellIntegrationSetupDialog.
  2. Восстановление и перезапуск локальных терминалов (BUG-049): Устранено зависание восстановленных локальных консолей (PowerShell, CMD, WSL) в спящем режиме после перезапуска программы. Добавлена привязка профилей шелла при десериализации, запуск PTY в существующую вкладку (launchLocalTerminalForTab) и адаптирован экран ожидания TerminalConnectingView.

Release v0.9.1 focuses on connection hygiene, non-interference, and workspace session resilience:

  1. Non-Interference Shell Integration Architecture (BUG-050): Eliminated automated background injections into remote SSH PTY input streams that caused command echoing and line wrapping. Markers are disabled by default, and setup is now driven by an explicit modal dialog (ShellIntegrationSetupDialog).
  2. Local Terminal Restoration & Relaunch (BUG-049): Fixed workspace tab restore for local shells (PowerShell, CMD, WSL) which previously hung in an idle state without starting. Added shell profile re-association, dedicated PTY injection into existing tabs (launchLocalTerminalForTab), and adapted TerminalConnectingView.

🔒 Ключевые изменения / Key Changes

1. Архитектура невмешательства в шелл-интеграции (BUG-050)

  • Удаление фонового спама в PTY: Из TerminalSessionRegistry вырезаны фоновые таймеры и автоматическая отправка скриптов в inputStream. Клиент гарантирует нулевую отправку служебных команд без прямого волеизъявления пользователя.
  • Выключено по умолчанию: Отображение маркеров в левом поле и на полосе скроллбара по умолчанию отключено (_showGutterMarkers = false), кнопка тулбара [⚡ Markers] отображается в спокойном приглушенном сером цвете.
  • Модальный диалог настройки (ShellIntegrationSetupDialog):
    • Активировать в текущей сессии: Выполняет компактный хук, завершающийся немедленной очисткой буфера (; clear\n). Экран сервера остается кристально чистым, а все последующие команды получают цветные маркеры статуса и хронометраж.
    • Установить навсегда (~/.bashrc): Дописывает хук в конфигурационный файл пользователя на сервере с последующим применением. При последующих подключениях маркеры подхватываются автоматически.
    • Скопировать скрипт: Копирует шелл-скрипт в буфер обмена для ручной инспекции или вставки.
  • Адаптивная верстка: Диалог обернут в SingleChildScrollView, исключая ошибки переполнения RenderFlex overflow на экранах любого разрешения.

2. Оживление и перезапуск локальных терминалов (BUG-049)

  • Резолв профилей шеллов: При вызове restoreWorkspaceTabs передаются доступные системные профили localShellProfiles и defaultShellProfile. Вкладка безошибочно находит свой шелл по saved.localShellId с автоматическим фолбэком на стандартный шелл ОС при отсутствии профиля.
  • Запуск PTY в существующую вкладку: В SessionManagerNotifier реализован метод launchLocalTerminalForTab, который запускает процесс псевдотерминала прямо в восстановленную вкладку без создания дубликатов.
  • Разблокировка обработчиков повторного запуска: Снята привязка к tab.host != null в _handleRetryConnection, контекстном меню TopBarTabs.onReconnectTab и фоновом автоконнекте.
  • Адаптированный экран ожидания (TerminalConnectingView): Для локальных консолей отображается неоновый значок >_, название и путь к шеллу, кнопка «Запустить терминал» (Icons.play_arrow_rounded) и скрыты сетевые этапы SSH.

3. Веб-портал и Хроника: дополнение Акта XII

  • В Акт XII летописи на официальном сайте shellit.top добавлены Запись 57 (Оживление локальных терминалов) и Запись 58 (Архитектура невмешательства).
  • Счётчик подтвержденных постмортемов в StatsHUD увеличен до 50+, а сьют тестов монорепозитория превысил 450+ зелёных тестов.

📦 Сборка и верификация / Verification

  • Flutter & Dart Analysis: 0 ошибок, 0 предупреждений (flutter analyze — All clear).
  • Unit & Regression Tests: Все тесты успешно пройдены (150/150 тестов в packages/terminal_ui, 61/61 тест в apps/shellit).
  • Сборка Windows: Собран свежий исполняемый файл build\windows\x64\runner\Debug\shellit.exe.
  • Сайт и документация: Полная статическая сборка Astro (npm run build) успешно генерирует 59 страниц без предупреждений.

📦 Git Commits & Changes

🚀 Features & Enhancements

  • feat(release): v0.9.1 local terminals revival (BUG-049), conscious shell integration (BUG-050) & Act XII sync (52c61ee)

Full Changelog: v0.9.0...v0.9.1