yar229 / WebDavMailRuCloud

WebDAV cloud.mail.ru ...& Yandex.Disk | WebDAV Облако Mail.Ru Сетевой Диск
MIT License
485 stars 58 forks source link

link check и мертвые ссылки #133

Closed pasha-zzz closed 6 years ago

pasha-zzz commented 6 years ago

По крайней мере на папках не работает: по ссылкам, на которые в браузере выдает 404 команда >>link check не реагирует. Ссылки не чистятся и не попадают в хистори. Также при входе в удаленную уже папку - отображает пустую папку, а не ошибку.

pasha-zzz commented 6 years ago

На файлах тоже не работает link check. Файл так и остается в списке, при попытке копирования такого файла - думает и вываливается по таймауту.

yar229 commented 6 years ago

Принято, спасибо, скорее всего на неделе погляжу

yar229 commented 6 years ago

Не получилось воспроизвести, на версии 1.10.1.11 у меня под Windows Commander F7 >>link check отрабатывает нормально.

Нужен тестовый пример, на котором воспроизводится.

pasha-zzz commented 6 years ago

Он оказывается просто вылетает:

[5]: MKCOL:http://127.0.0.1:6443/%3e%3elink%20check/:127.0.0.1:6443 - Finished (2713ms, HTTP 201)

Необработанное исключение: [5]: PROPFIND:http://127.0.0.1:6443/:127.0.0.1:6443 - Processing System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в YaR.MailRuCloud.Api.Base.Repos.WebM1RequestRepo.GetDownloadStreamInternal(File afile, Nullable1 start, Nullable1 end) в YaR.MailRuCloud.Api.Base.Repos.WebM1RequestRepo.GetDownloadStream(File afile, Nullable1 start, Nullable1 end) в YaR.MailRuCloud.Api.MailRuCloud.DownloadFileAsString(File file) в YaR.MailRuCloud.Api.MailRuCloud.d54.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) в YaR.MailRuCloud.Api.Links.LinkManager.d14.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) в YaR.MailRuCloud.Api.MailRuCloud.d__63.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) в System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() в System.Threading.ThreadPoolWorkQueue.Dispatch() [5]: Cache hit: /

pasha-zzz commented 6 years ago

Если все ссылки живы - >>link check отрабатывает нормально. Если хотя бы 1 ссыль мертвая - WDMRC вылетает вообще. Вот например весь items...

{
  "Items": [
    {
      "Href": "/FA3z/bhuLjCLks",
      "MapTo": "/link",
      "Name": "Paragon-799-PMR_WinInstallx64_10.1.25.1137_000.exe",
      "IsFile": true,
      "Size": 285432968,
      "CreationDate": "1900-01-01T00:00:00"
    }
  ]
}
pasha-zzz commented 6 years ago

Клиент любой, пробовал тотал, фар, винсцп

yar229 commented 6 years ago

Не воспроизводится, закрываю. Если таки повторится, будем разбираться