Repository navigation
Shellit v0.9.1
Pre-release
Pre-release
🚀 Shellit v0.9.1 — Архитектура невмешательства и устойчивость рабочих сессий (Non-Interference Architecture & Workspace Resilience)
📌 О релизе / Release Overview
Релиз v0.9.1 концентрируется на надежности и уважении к пользовательскому окружению:
- Архитектура невмешательства в семантической интеграции (
BUG-050): Полностью ликвидирована автоматическая фоновая отправка управляющих скриптов в поток ввода PTY удаленных SSH-сессий, создававшая визуальный шум и паразитное многострочное эхо. Разметка выключена по умолчанию, а управление интеграцией переведено на прозрачный модальный диалогShellIntegrationSetupDialog. - Восстановление и перезапуск локальных терминалов (
BUG-049): Устранено зависание восстановленных локальных консолей (PowerShell, CMD, WSL) в спящем режиме после перезапуска программы. Добавлена привязка профилей шелла при десериализации, запуск PTY в существующую вкладку (launchLocalTerminalForTab) и адаптирован экран ожиданияTerminalConnectingView.
Release v0.9.1 focuses on connection hygiene, non-interference, and workspace session resilience:
- 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). - 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 adaptedTerminalConnectingView.
🔒 Ключевые изменения / 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