Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

«Подарочек» под ёлочку... или новый release форка от ZZZConsulting #244

Open
ZZZConsulting opened this issue Dec 3, 2023 · 4 comments

Comments

@ZZZConsulting
Copy link
Contributor

Тут образовался небольшой «подарочек» под ёлочку, и не сказать, чтобы очень уж приятный во всех отношениях… Кому не интересно читать лирику, к прочтению предлагается следующий пост, ибо тут флуд и офтопик.

Для начала должен извиниться перед уважаемым YaR229 за то, что влез своими грязными ручонками и… то ли всё испортил, то ли сломал, то ли всё переписал. В общем, чем дальше вникал в проект, тем больше вносил правок тут и там, иногда до полного не узнавания, и все это в чужом вроде бы проекте. За что и приношу свои извинения.
Намерения забрать проект или тем более присвоить никогда не было, да и вообще желания в нем разбираться было не много, пока он не сломался и не потребовал починки. А как инструмент мной он очень даже востребован. Так что пришлось, что называется, засучить рукава, и макнуться с головой.
Изменений в последней версии настолько много, что не уверен, что merge request будет хорошей идеей. В дополнение ко всему были изменения вида – сначала туда, а потом все обратно.
Так что, вероятно, сначала лучше проанализировать изменения между комитами, и в целом сравнить обе последние версии проектов, выделив полезные и не очень изменения. Ну, или просто взять и все слить, а потом разбираться что работает, а что сломалось.
Чтобы отмести лишние вопросы, можно сразу декларировать, что шаринг папок и ссылки (LinkManager) не были поняты, были отключены, не проверялись и не переделывались, потому в чем-то могут вообще даже не работать. Разобраться руки не дошли за невостребованностью и недостатком времени в совокупности.
Наверно, если постараться припомнить, найдется еще что-то подобное, но пока в голову не приходит.
Теперь про изменения.

На заглавной странице форка
обновлено описание, большинство разделов переведены на русский.
Надо заметить, что и раньше было мало вероятно наличие пользователей чисто российских облаков, которые при этом читают на английском, но не читают на русском, а при текущей ситуации разделения на зоны по возможности заплатить за место на сервере, хорошо, если из стареньких кто остался, а новеньких не будет точно. Так что в целом принят ориентир на русскоязычную аудиторию. Хотя по большей части просто по той причине, что на написание текстов на английском уходит несколько больше времени.
Учитывая общее направление, и что «комбайн» по имени WebDavMailRuCloud сейчас точно не про Mail.Ru, и даже вряд ли в пропорции 50 на 50 между Mail.Ru и Яндекс.Диском, скорее сейчас он даже больше в сторону Диска.
По этой причине я бы предложил смену названия с WebDavMailRuCloud на что-нибудь типа WebDavRuClouds, подразумевая два самых больших RU-облака. Отчасти даже сделал шаг в этом направлении и обозвал проект в шапке – «The WebDAV emulator for RU-clouds: Cloud.Mail.Ru & Disk.Yandex.Ru». Репозиторий и названия файлов менять не рискнул. Во-первых, без спроса, а во-вторых, все может разъехаться, а этого хочется меньше всего. Но как идею предлагаю.
Хочу немного обрисовать момент с протоколом YadWebV2 и его фактическим удалением. Этот протокол создавался только с одной целью – не ломать уже имеющийся и работающий YadWeb. Предполагалось, что сделанное в YadWebV2 будет оценено и интегрировано полностью или частично в YadWeb, но он почему-то был оставлен как есть.
Отличия были и после интеграции YadWebV2 в YadWeb отличия были оставлены. Хотя тут скорее можно говорить не об интеграции, а о расширении, построенном на базе YadWeb. Сейчас YadWeb – базовый класс, а остатки YadWebV2 стали наследников с некоторыми отличиями, активатором которых является использование браузерной аутентификации.
Пожелание объединения путем замены отдельных частей YadWeb на новые все еще в силе, если будут признаны полезными.
И, кстати, приношу свои извинения, за то, что о выходе новой версии пишу не «у себя», а здесь. Не корысти ради, а ради более широкого освещения данного события.
Да и нет у меня желания перетягивать проект «к себе». Я хоть в него и влез с головой. Но все же он тутошний.

@ZZZConsulting
Copy link
Contributor Author

Release 1.14.2.0 от ZZZConsulting.
Это форк! Не путать с оригинальным проектом от yar229.

Перечень изменений в версии 1.14.2.0 (перепечатка со страницы билда):
Самые важные изменения с предыдущей версии:

  • Поддержка .NET 8.0 (включая установку сервисом Windows).
  • Для одновременного использования обоих облаков Cloud.Mail.Ru и Disk.Yandex.Ru больше нет необходимости в установке двух отдельных экземпляров, облако определяется при подключении.
  • Для Cloud.Mail.Ru восстановлена работоспособность, потерянная почти год назад (возможно не для всех или не во всех случаях).
  • Проверка показала, что Cloud.Mail.Ru дает прямое подключение по WebDAV, однако, эмулятор WebDAV с включенным кешированием может быть какое-то ускорение для клиентов, не имеющих самостоятельного кеширования - проверяйте у себя.
  • Протокола YadWebV2 больше нет, теперь для Яндекса только один протокол - YadWeb, но с вариациями (про них ниже).
  • Полностью переписано кеширование названий файлов и папок, значительно сокращено количество и длительность обращений к облачным серверам за названиями. После создания папок, загрузки файлов, удаления файлов больше не перечитываются папки целиком, только отдельные части, что существенно ускорило операции массовых загрузок или чисток файлов.
  • От протокола YadWebV2 в протокол YadWeb перенесено ускоренное чтение больших папок, но только при браузерной аутентификации (в целях совместимости). Если количество записей в папке более порогового значения, чтение содержимого папки с сервера происходит в несколько параллельных запросов (максимально до 10), что в разы сокращает общее время на папках в десятки тысяч файлов.
  • Еще одним отличием в протоколе YadWeb при браузерной аутентификации после интеграции в него протокола YadWebV2 стал механизм периодической проверки изменений в облаке сторонним приложением (например, самим пользователем через браузер). При обнаружении изменений весь кеш папок моментально сбрасывается чтобы получить обновление с сервера.
  • Еще одно отличие в протоколе YadWeb при браузерной аутентификации и без нее в том, когда делается ожидание завершения удаления - в исходном протоколе YadWeb без браузерной аутентификации нет ожидания завершения удаления, оно делается при попытке чтения содержимого папки; в варианте с браузерной аутентификацией после каждой операции ожидается ее завершение в разумных пределах (15 минут).
  • Для протокола YadWeb исправлена потенциальная проблема с паролями, содержащими символы типа %, ", ' и др.

@ZZZConsulting
Copy link
Contributor Author

Желающие проверить новую версию форка, пожалуйста, проверяйте её с осторожностью, т.к. изменений действительно много, а тестирования – наоборот мало. И, пожалуйста, пишите сюда какое облако с каким протоколом работает, а какое нет. Как показывает практика, работает или нет часто бывает очень индивидуальным.

@ZZZConsulting
Copy link
Contributor Author

ВАЖНО!
По части облака Яндекса (disk.yandex.ru) тут обнаружилась очень неприятная особенность.
Это касается всех, кто НЕ использует аутентификацию через браузер.

Немного цитируя, немного перефразируя то, что сообщает Яндекс, получается так:
Выбор в настройках учетной записи опцией входа «обычный пароль» и
Требование пройти дополнительную проверку при входе (с кодом через СМС или email) не связаны. Это две разные сущности.

В случае, когда пользователь выбирает вход «по паролю и смс», подтверждение кодом будет при каждом входе. А когда «обычный пароль», то в случаях, когда проверка спровоцирована.

Проверку может «спровоцировать» полный выход из аккаунта (устройство перестаёт считаться доверенным), использование разных браузеров, разных устройств, очистка файлов cookie, использование режима «Инкогнито» и VPN.

Отсюда вытекает, что примеряющие к себе релиз fork'а от ZZZConsulting имеют шансы попасть на дополнительную проверку и уже не вернуться к обычному входу по логину и паролю.
По этой причине, если для Яндекса используете только логин+пароль, не тестируйте на важных учетных записях!

@ZZZConsulting
Copy link
Contributor Author

Вышло обновление 1.14.2.1 с интегрированным внутрь бубном (с костылем под Яндекс), когда сервер начинает запрашивать подтверждение по коду для учетной записи, где в настройках вход только по логину и паролю. Подробнее на странице релиза.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant