Dashchan icon indicating copy to clipboard operation
Dashchan copied to clipboard

Баги в 3.0.0

Open kotoshii opened this issue 5 years ago • 24 comments

Пропала кнопка загрузки в видео, вебм загружен полностью. В mp4 так же. Screenshot_2020-09-17-23-56-17-977_com.mishiranu.dashchan.png

При загрузке картинки показывает оповещение "необходимо подтверждение" и лоадер. Раньше просто загружало. При этом когда загрузка начинается, не даёт свернуть изображение кнопкой "назад" на телефоне до окончания загрузки. Screenshot_2020-09-17-23-56-55-934_com.mishiranu.dashchan.png Screenshot_2020-09-17-23-56-58-078_com.mishiranu.dashchan.png

kotoshii avatar Sep 17 '20 21:09 kotoshii

А про что последние 2 скриншота?

Mishiranu avatar Sep 17 '20 21:09 Mishiranu

А про что последние 2 скриншота?

При загрузке картинки показывает оповещение "необходимо подтверждение" и лоадер. Раньше просто загружало. При этом когда загрузка начинается, не даёт свернуть изображение кнопкой "назад" на телефоне до окончания загрузки.

Лоадер с надписью "обработка данных"

kotoshii avatar Sep 17 '20 21:09 kotoshii

Теперь вижу. Насколько долго это окно висит, интересно?

Mishiranu avatar Sep 17 '20 21:09 Mishiranu

Насколько долго это окно висит, интересно?

До начала загрузки, секунды 2-3 Иногда немного дольше, может 5.

kotoshii avatar Sep 17 '20 21:09 kotoshii

Ого. Ну ка, а сколько у тебя файлов в той директории, куда сохранить пытаешься?

Mishiranu avatar Sep 17 '20 21:09 Mishiranu

Ого. Ну ка, а сколько у тебя файлов в той директории, куда сохранить пытаешься?

Много, больше 11к. Но суть в том что до апдейта при нажатии на кнопку оно просто в фоне сохраняло (хоть и был полсекундный затуп, но при этом никаких окон и оповещений не было)

kotoshii avatar Sep 17 '20 21:09 kotoshii

Да, теперь это по-другому работает. Впрочем, такая длинная задержка вполне объяснима, если в одной директории 11 тысяч файлов. Надо будет придумать, что с этим сделать.

Сделано это лишь для того, чтобы проверить, не существует ли ещё файлов с таким именем, и если существует — предложить перезаписать, сохранить рядом или отменить. Обход 11 тысяч файлов с SAF это довольно трудоёмкая процедура.

Mishiranu avatar Sep 17 '20 22:09 Mishiranu

Сделано это лишь для того, чтобы проверить, не существует ли ещё файлов с таким именем, и если существует — предложить перезаписать, сохранить рядом или отменить. Обход 11 тысяч файлов с SAF это довольно трудоёмкая процедура.

А разве раньше этого не было? Но проверялись только недавние файлы или как? А то иногда замечал, что если картинка была загружена давно, то предупреждения что файл существует не было

kotoshii avatar Sep 17 '20 22:09 kotoshii

А разве раньше этого не было?

Раньше я напрямую к файловой системе через обычные обёртки POSIX API обращался, а теперь я использую медленный SAF. Я в треде написал, почему я так делаю. У него есть существенный недостаток в виде пониженной производительности (в несколько десятков раз), из-за этого диалог так долго висит.

Но проверялись только недавние файлы или как?

Все проверялись.

Вообще я бы посоветовал разбить свои файлы на директории, это гарантированно повысит производительность. Даже со стандартным апи, как ты говоришь, у тебя были зависания, и это на самом деле не окей. Если у тебя андроид ниже 8 (т.е. вместо sdcardfs используется тормозной fuse-драйвер), то там всё совсем плохо будет.

Mishiranu avatar Sep 17 '20 22:09 Mishiranu

На тему обновления Страшно обновляться) Знакомый только что написал, что перестали работать видео вообще. Сидит откатывается на мои версии...

IS2511 avatar Sep 17 '20 22:09 IS2511

Конечно страшно, я там половину кода переписал.

Но вот про то, что видео перестали работать, впервые слышу вообще.

Хотя мне кое-что на почту приходило, там не вполне адекватный баг связанный с видео, я с ним попозже разберусь. Наверное, этот знакомый как раз и писал.

Mishiranu avatar Sep 17 '20 22:09 Mishiranu

Проблема с отсутствием кнопок должна быть исправлена в 3.0.1 (коммит https://github.com/Mishiranu/Dashchan/commit/946063dadf6b12771eaa656fe4b51a5509946548)

Mishiranu avatar Sep 18 '20 01:09 Mishiranu

Screenshot_Настройки_20200918-064547 Не могу дать разрешение на доступ к памяти. Пробовал удалить все (проверил осталась ли папка), но ничего не помогло. Даже вручную нельзя дать доступ, в списке тупо нет дашчана. А без доступа не грузит картинки. Версия 3.0.1. андроид 8.1

vradchen avatar Sep 18 '20 03:09 vradchen

То же самое все. Не могу дать разрешение. Та же версия, тот же андроид

shinji2009 avatar Sep 18 '20 04:09 shinji2009

Вообще я бы посоветовал разбить свои файлы на директории

Ок, тогда пока буду сохранять в вообще другую папку.

Ещё кстати заметил, при разворачивании приложения где то секунду висит чёрный экран (или просто обои чёрные делаются) и тогда уже открывается дешчан. Скриншот в это время не делает.

UPD: это происходит не всегда. UPD2: теперь вообще не происходит, забей пока короче

kotoshii avatar Sep 18 '20 05:09 kotoshii

На двух Meizu вот такая фигня, когда делаю всё по инструкции. https://yadi.sk/i/IHIgH5S83KdyWg

LLlOZAHAX avatar Sep 19 '20 06:09 LLlOZAHAX

Полагаю, оно так крашится. Лог будет?

Mishiranu avatar Sep 19 '20 21:09 Mishiranu

Полагаю, оно так крашится. Лог будет?

error-1600407131713.txt

LLlOZAHAX avatar Sep 20 '20 08:09 LLlOZAHAX

Это точно не то, такой краш происходил на 3.0.0 и сейчас не актуален. Поставь 3.0.2, удали все файлы в директории errors и попробуй снова лог сними.

Mishiranu avatar Sep 20 '20 16:09 Mishiranu

Прошу прощения, но лог не пишется. Обновился на 3.0.2, ситуация с вылетами на приложенном видео. https://yadi.sk/i/CgNk-6XQm_GUGQ

LLlOZAHAX avatar Sep 20 '20 16:09 LLlOZAHAX

Что значит не пишется? Не появляются новые файлы?

Mishiranu avatar Sep 20 '20 17:09 Mishiranu

По рекомендации удалил предыдущий лог - новые не пишутся.

LLlOZAHAX avatar Sep 20 '20 18:09 LLlOZAHAX

Если не пишутся, значит не крашится. А в таком случае я совершенно не понимаю, что происходит. Выглядит как краш, потому что сбрасывается состояние экрана. Могу разве что предложить полный лог системы через adb снять.

Mishiranu avatar Sep 20 '20 19:09 Mishiranu

Проблема с долгой загрузкой, блокируещем лоадере и фризящим UI остается, бесит и мешает браузингу даже если в папке загрузки мало файлов (<1к). Как вариант, можно загружать файлы в фоне, давая юзеру браузить дальше и в случае если окажется что такой файл в папке уже есть - сделать всплывашку, возможно с названием файла и превьюшкой, промтящей юзера на перезапись, пропуск или ренейминг. Или же при запуске приложения обходить всю папку с загрузками в фоновом потоке, строить хешсет, которую будет использовать загрузчик, и тогда проверка на наличие файла будет O(1) вместо текущего O(n) которое может быть очень долгим и выполняется при каждой загрузке. В таком случае будут проблемы если пользователь что-то наделал с папкой загрузок между запуском приложения и нажатия на кнопку загрузки, но в таком случае можно дефолтить на молчаливую перезапись, молчаливый пропуск или вывод ошибки через нотификации, опционально чтобы поведение это выбиралось в настройках. Ну и соответсвенно хешсет должен обновляться с каждым новым загруженным файлом.

N0D4N avatar Jun 29 '21 09:06 N0D4N