Conchshell 2.7.0 (macOS + Linux)
RDP в отдельном окне
Сессия открывается собственным окном системы, а не только вкладкой. Вкладка остаётся «ручкой» сессии — через неё работают восстановление, статус в дереве подключений и ⌘W. Закрытие окна закрывает сессию; захват клавиатуры следует за окном и не отбирает сочетания у главного.
Перенос файлов по SFTP наконец работает
Три из четырёх способов начать копирование молча ничего не делали:
- Правый клик по файлу → «Загрузить на сервер» срабатывал только если строку до этого выделили левым кликом: меню читало выделение, а правый клик его не создаёт.
- Выбор папки и кнопка «→» отваливались до показа уведомления — папки отфильтровывались, и функция выходила молча.
- Перетаскивание между панелями не работало в принципе: Tauri перехватывает событие раньше страницы. При этом панель подсвечивалась «перетащите сюда», обещая приём. Теперь переписано на pointer-события — тем же способом, каким в приложении уже перетаскиваются вкладки.
Добавлены уведомления об успехе и об ошибке с читаемой причиной: раньше ошибка была видна только обрезанной строкой в свёрнутой панели очереди. Папка в выборке теперь объясняет, что делать, вместо тишины.
Отдельно в клиенте: загрузка не закрывала удалённый файл, поэтому ошибка, которую сервер сообщает при закрытии, отбрасывалась и перенос всегда считался успешным.
Вкладка «Proxy» больше не вводит в заблуждение
Проксирование не реализовано ни для одного протокола — ни SSH, ни SFTP, ни RDP, ни VNC, ни FTP. При этом вкладка с выбором HTTP/SOCKS4/SOCKS5 выглядела рабочей: введённые значения никогда не покидали интерфейс. Поля убраны, на их месте объяснение; значения, сохранённые прошлыми сборками, вычищаются при открытии подключения.
Скорость RDP: что измерено
Весь путь кадра инструментирован на живом хосте. Локальная обработка занимает около 1 мс из ~100 мс задержки «нажал — увидел»: очередь кадров не заполнялась ни разу из 918 отправок, отрисовка кадра — 0.1 мс, транспорт держит 5.8 ГБ/с.
Одна настоящая потеря найдена и убрана: библиотека объединяет все изменившиеся области в один охватывающий прямоугольник, и клиент пересылал его целиком — при перетаскивании окна это давало 52 МБ переданных пикселей на 0.5 МБ реальных изменений.
Остальное — на стороне сервера: он отдаёт картинку 16 битами на пиксель старым RLE-кодеком. Клиент запрашивает 32 бита и объявляет RemoteFX, но при 16 битах RemoteFX не включается. Лечится настройкой ColorDepth в ветке Terminal Server\WinStations\RDP-Tcp на самом хосте.
Прочее
- Запрос доверия к серверу отрисовывался за пределами экрана и под окном восстановления сессий — восстановление зависало без возможности ответить.
- CI впервые заработал по-настоящему и сразу поймал два бага, невидимых на машине разработчика: тесты, не собиравшиеся под Linux, и тест, который проходил только потому, что локально выключен sshd.
Тесты: Rust 492, фронтенд 961.