michaellukashov / Far-NetBox

SFTP/SCP/FTP/FTPS/WebDAV/S3 client for Far Manager 3 (http://farmanager.com/)
https://forum.farmanager.com/viewtopic.php?t=6317
GNU General Public License v2.0
155 stars 52 forks source link

Проблема при работе с рекурсивными сессиями #430

Closed ssvine closed 3 months ago

ssvine commented 4 months ago

Файлы *.netbox позволяют подключаться к серверу при нажатии Enter на них. Если на удалённом сервере содержится подобный файл, то мы можем в одной и той же панели подключиться к двум сессиям. Кроме того, файл сессии может находиться в архиве, на временной или любой другой плагинной панели. Итого, у нас есть возможность произвольной рекурсии подключений в разных вариациях.

Для целей дальнейшего повествования слова "выход из сессии" означают нажатие Enter на элементе .. или Ctrl-PgUp в корневой директории.

Если подключиться по цепочке сессия -> архив -> сессия, то выход из последней сессии происходит в архив, выход из которого возвращает в первоначальную сессию, что логично (возможен выход в список сессий вместо архива, см. ниже).

Если же подкючаться по цепочке сессия -> сессия (-> сессия)*, выход из последней сессии завершает все остальные, что уже нелогично.

Если подключиться к сессии через файл, то выход из неё приводит к переходу в список сессий, что тоже нелогично. Примечание: для некоторых типов подключений может не выходить в список сессий.

Помимо этого, можно поймать падение плагина (или зависание):

В пулл реквесте исправлены упомянутые выше проблемы и ошибки: