Когда количество сессий большое, например больше тысячи, то загрузка панели с сессиями может занимать несколько секунд. После загрузки тормозит и навигация по папкам, в которые разложены сессии.
Фикс длительной загрузки, которая происходит из-за того, что в функции TSessionData::PrepareProxyData читаются данные системного прокси для каждой сессии (и при каждом чтении происходит загрузка DLL, вызов функции, выгрузка библиотеки, что весьма долго). Раньше чтение происходило только когда тип прокси был pmSystem, который больше не существует. Условие закомментили, а тело осталось.
Сделано так, чтобы сессии не перегружалась когда данные для них были загружены ранее. Это повышает скорость последующих загрузок панели сессий и навигацию по подпапкам до мгновенной. Единственный минус в том, что если вы работатете с несколькими Far'ами, то вам не будут видны изменения существующей сессии, сделанные в другом Far'е (но будут видны любые добавления/удаления сессий, сделанные в другом экземпляре). В обычном сценарии использования, когда у вас есть много сессий, которые редко меняются, это будет незаметно.
Для принудительного обновления списка сессий сделана обработка стандартного сочетания клавиш Ctrl-R, что полезно по причинам, изложенным в предыдущем пункте.
Сделано так, чтобы при первоначальной загрузке сессии не загружались повторно.
Когда количество сессий большое, например больше тысячи, то загрузка панели с сессиями может занимать несколько секунд. После загрузки тормозит и навигация по папкам, в которые разложены сессии.
Пулл реквест фиксит эти проблемы.
TSessionData::PrepareProxyData
читаются данные системного прокси для каждой сессии (и при каждом чтении происходит загрузка DLL, вызов функции, выгрузка библиотеки, что весьма долго). Раньше чтение происходило только когда тип прокси былpmSystem
, который больше не существует. Условие закомментили, а тело осталось.Ctrl-R
, что полезно по причинам, изложенным в предыдущем пункте.