Сообщения в Re: idec mobile

Re: idec mobile

Ответ на сообщение
Спасибо, вроде заработало!
Насчет окна дебага, раз уж идет обсуждение, выскажу свои мысли.

В любом случае, принимает решение всегда автор -- так как ты пишешь клиент, тебе и решать каким ему быть.
Ты можешь учитывать или нет опыт использования, вполне может быть, что мое мнение не соответствует оптимальному решению.

Если мы хотим, что бы клиент воспринимался не как тул для маргиналов, то:
1) следует избегать "жаргонов" и обращений на "ты" в сообщениях (окно дебуга, сообщение про слеш в конце урл) итд,
2) следует облагородить окно дебага (если ты хочешь его оставить в релизе) и назвать его окно вывода или как то так.
3) с убиранием кнопки "<" стало лучше! Но все таки, введение специальной задержки в конце операций -- выглядит как фуззи решение. Почему 2-3 секунды? Чтобы успеть сделать скриншот? Как то странновато. Варианты:
- если нет ошибок -- закрывать сразу;
- если есть ошибки -- ждать нажатия на кнопку закрыть;
- Но самое прекрасное, по моему, лог и фетчер в фоне.

Кажется, в psi, это окно называется консоль. Вот можно сделать так, что консоль можно включить и выключить. Обычно от консоли нет никакого толку юзеру.
Peter to vit01 (2017-05-07 07:04:10) [ссылка]

Re: idec mobile

Ответ на сообщение
Но в целом, клиент радует! Пробую дальше. :)
Peter to Peter (2017-05-07 07:17:17) [ссылка]

Re: idec mobile

Ответ на сообщение
Peter> 1) следует избегать "жаргонов" и обращений на "ты" в сообщениях (окно дебуга, сообщение про слеш в конце урл) итд,
Надо сказать, разговорная речь есть не только в этих местах, а раскидана по всему клиенту. Изначально хотелось, чтобы приложение для "уютной секточки" общалось с пользователем не официально-деловым стилем, а было немного "проще в выражениях".

Это можно взять и поменять. А можно и не менять ;)

Тут пусть народ выскажется. Как решит большинство, так и будет.
Peter> 3) с убиранием кнопки "<" стало лучше!
Коммитить так и не стал, потому что статусбар исчезает, а это не есть красиво. Рано или поздно всё равно придётся что-то делать.
Peter> Почему 2-3 секунды?
Ровно 2 секунды. Чтобы успеть всё прочитать. И скриншот, конечно.
Peter> Кажется, в psi, это окно называется консоль. Вот можно сделать так, что консоль можно включить и выключить.
Это наиболее подходящий вариант с точки зрения компромисса
Peter> В любом случае, принимает решение всегда автор -- так как ты пишешь клиент, тебе и решать каким ему быть.
Peter> Ты можешь учитывать или нет опыт использования
Если изменения кому-то нужны, то они рано или поздно будут. Пока что хочется угодить всем, но некоторые вещи (вроде окна дебага) кажутся нецелесообразными, чтобы их разгребать здесь и сейчас.

Коль народу не лень, можете продвигать свои хотелки сразу в виде исходников:
https://github.com/vit1-irk/idec-mobile

Линус Торвальдс сказал однажды: "Talk is cheap, show me the code".
Так что любой пулл-реквест и патч имеет больше ценности, чем наши обширные разглагольствования. На Гитхаб захожу регулярно, стараюсь всё мержить побыстрее.
vit01 to Peter (2017-05-07 08:07:39) [ссылка]

Re: idec mobile

Ответ на сообщение
> Пока что хочется угодить всем, но некоторые вещи (вроде окна дебага) кажутся нецелесообразными, чтобы их разгребать здесь и сейчас.
Я немного вырву из контекста. Я наблюдаю уже не первый год за инстедом и потихоньку попиливаю репозиторий игр для него. Всем не угодить. Ты просто растеряешь силы на это, а в итоге останешься на месте. Делай так, как считаешь нужным, а советы или просьбы оставь разве что на обдумывания в свободное от проекта время. В малом проекте только диктатура даёт результат.
> Коль народу не лень, можете продвигать свои хотелки сразу в виде исходников:
> https://github.com/vit1-irk/idec-mobile
> Линус Торвальдс сказал однажды: "Talk is cheap, show me the code".
Эх. Когда-нибудь, я найду достаточно свободного времени, чтобы изучить Java и попробую помочь какому-нибудь проекту. Меня и Sergey Poziturin 2:5020/2140 aka 2:5020/2141 (мой фидобосс) к java (точнее к kotlin) склонял уже. Но пока по душе python3, golang и lisp. И их опыт мало помогает в разработке под андроид.
> Так что любой пулл-реквест и патч имеет больше ценности, чем наши обширные разглагольствования.
Это, безусловно, так. Однако:

«Делам надо поклоняться, а не статуям. А может быть, даже и делам поклоняться не надо. Потому что каждый делает, что в его силах. Один – революцию, другой – свистульку. У меня, может, сил только на одну свистульку и хватает, так что же я – говно теперь?»

Аркадий и Борис Стругацкие, «Град обреченный».

Это я к тому, что я и рад бы слать патчи тебе, но у меня iing и цезий. И они отнимают много свободного времени.
Andrew Lobanov to vit01 (2017-05-07 08:29:44) [ссылка]

Re: idec mobile

Ответ на сообщение
Обновление

Новая фича в настройках - включите галочку "Скрывать верхнюю панель при прокрутке во время чтения эх"
Это должно понравиться тем, у кого маленький экран.

Качать APK как обычно
vit01 to vit01 (2017-05-07 08:53:34) [ссылка]

Re: idec mobile

Ответ на сообщение
Как-то сильно сабж стал после обновлений тормозить при переходе на список конференций. Он точно в базу не лезет за каждым разом? Просто на моей кукурузе каждое открытие списка эх приводит к гарантированному фризу на несколько секунд. Как будто он каунты в базе без индекса считает.
Andrew Lobanov to vit01 (2017-05-11 03:00:52) [ссылка]

Re: idec mobile

Ответ на сообщение
AL> Как-то сильно сабж стал после обновлений тормозить при переходе на список конференций. Он точно в базу не лезет за каждым разом?
Вообще-то лезет. Раньше запросы в базу делались асинхронно, и лично ты жаловался, что у тебя при прокрутке список дёргается.
Решил сделать так, чтобы информация в эхах делалась в один момент, а затем кэшировалась, чтобы не мешать прокрутке.

2016-10-17: зарождение проблемы
https://ii-net.tk/ii/ii-point.php?q=/m/PrfA3gIzuoLcJxBxNWDA
https://ii-net.tk/ii/ii-point.php?q=/m/S8EjA80dlL7gXAlQSiGq

2017-04-14: изменил поведение
https://ii-net.tk/ii/ii-point.php?q=/m/FTPVc3A8jLmx6tGxxRX0

И ведь специально написал, что оно поменялось. Но тогда всем было пофиг.
AL> Как будто он каунты в базе без индекса считает.
Именно так и происходит. Могу в обновлении индекс создать, благо API это позволяет безболезненно сделать.

И да, именно к тебе обращаюсь. В обновлённых сборках я добавил Toast с надписью "Debug: update echolist". Ты уже попользовался клиентом, так что описывай мне теперь его поведение.
Когда ты наблюдал это сообщение, обновлялись ли счётчики в списках (или через раз), и так далее.
vit01 to Andrew Lobanov (2017-05-11 05:06:48) [ссылка]

Re: idec mobile

Ответ на сообщение
>> Как-то сильно сабж стал после обновлений тормозить при переходе на список конференций. Он точно в базу не лезет за каждым разом?
> Вообще-то лезет. Раньше запросы в базу делались асинхронно, и лично ты жаловался, что у тебя при прокрутке список дёргается.
> Решил сделать так, чтобы информация в эхах делалась в один момент, а затем кэшировалась, чтобы не мешать прокрутке.
Вроде недавно как раз ты говорил, что у тебя эта информация обновляется только при старте и после фетча, а теперь выходит, что всегда.
> И ведь специально написал, что оно поменялось. Но тогда всем было пофиг.
Мне не пофиг, но я понял так, что ты сделал это оптимизировано.
>> Как будто он каунты в базе без индекса считает.
> Именно так и происходит. Могу в обновлении индекс создать, благо API это позволяет безболезненно сделать.
Индексы существенно ускоряют обращение к базе. Проверял на толстой базе от цезия и EeePC 701 4G. Подсчёт числа сообщений каждой эхи отдельно (включая lenta.rss) выходил меньше секунды.
> И да, именно к тебе обращаюсь. В обновлённых сборках я добавил Toast с надписью "Debug: update echolist". Ты уже попользовался клиентом, так что описывай мне теперь его поведение.
Если бы я знал что это такое, то описал бы обязательно.
> Когда ты наблюдал это сообщение, обновлялись ли счётчики в списках (или через раз), и так далее.
Я ничего нового в поведении клиента не наблюдал с тех пор, как понял, что он у меня не обновлялся.
Andrew Lobanov to vit01 (2017-05-11 05:46:40) [ссылка]

Re: idec mobile

Ответ на сообщение
AL> Вроде недавно как раз ты говорил, что у тебя эта информация обновляется только при старте и после фетча, а теперь выходит, что всегда.
Я говорил, что эта информация *должна* обновляться всегда, в том числе там, где ты сейчас написал. А ты говорил, что после фетча и ещё когда-то она НЕ обновляется, хотя надо бы.
AL> Я ничего нового в поведении клиента не наблюдал с тех пор, как понял, что он у меня не обновлялся.
Тогда какие вопросы? Если клиент старой версии, то багрепорты протухли. Придётся добавлять в каждый клиент запись: собрано dd:MM:YYYY HH:mm, чтобы таких недоразумений больше не возникало
>> И да, именно к тебе обращаюсь. В обновлённых сборках я добавил Toast с надписью "Debug: update echolist". Ты уже попользовался клиентом, так что описывай мне теперь его поведение.
AL> Если бы я знал что это такое, то описал бы обязательно.
Теперь, когда выяснилось, что твой багрепорт с "недообновлением" списка оказался ложным, то смысла в этом деле уже не вижу. Уберу потом.
AL> Индексы существенно ускоряют обращение к базе.
Окей, будет индекс. Но не раньше выходных.
vit01 to Andrew Lobanov (2017-05-12 03:46:20) [ссылка]

Re: idec mobile

Ответ на сообщение
>> Вроде недавно как раз ты говорил, что у тебя эта информация обновляется только при старте и после фетча, а теперь выходит, что всегда.
> Я говорил, что эта информация *должна* обновляться всегда, в том числе там, где ты сейчас написал.
Нафига её обновлять когда она заведомо не меняется? Количество сообщений меняется только после фетча. Зачем их считать каждый раз?
> А ты говорил, что после фетча и ещё когда-то она НЕ обновляется, хотя надо бы.
Я писал, что проблема была в кривом обновлении, которое возникает без смены версии. Ты ж не предупреждал нигде, что перед обновлением нужно сносить старую версию.
>> Я ничего нового в поведении клиента не наблюдал с тех пор, как понял, что он у меня не обновлялся.
> Тогда какие вопросы? Если клиент старой версии, то багрепорты протухли. Придётся добавлять в каждый клиент запись: собрано dd:MM:YYYY HH:mm, чтобы таких недоразумений больше не возникало
Эху не читай @ сразу отвечай. Я таки смог обновить сабж, хотя и не без матюков (кто ж знал, что он не обновляется при обновлении?). И проблема не о том вообще.
>>> И да, именно к тебе обращаюсь. В обновлённых сборках я добавил Toast с надписью "Debug: update echolist". Ты уже попользовался клиентом, так что описывай мне теперь его поведение.
>> Если бы я знал что это такое, то описал бы обязательно.
> Теперь, когда выяснилось, что твой багрепорт с "недообновлением" списка оказался ложным, то смысла в этом деле уже не вижу. Уберу потом.
Так что это за тост такой? За здравие?
>> Индексы существенно ускоряют обращение к базе.
> Окей, будет индекс. Но не раньше выходных.
Круто!
Andrew Lobanov to vit01 (2017-05-12 05:07:30) [ссылка]

Re: idec mobile

Ответ на сообщение
AL> Нафига её обновлять когда она заведомо не меняется? Количество сообщений меняется только после фетча. Зачем их считать каждый раз?
После чистки по ЧС, после удаления/обрезки эх. А ещё счётчики непрочитанных имеются, но тут всё понятно.

Если основательно взяться за ускорение алгоритма, то надо будет не мгновенный кэш, а постоянный делать + усложнять некоторые штуки. Посмотрим сначала, как оно с индексами вести себя будет.
AL> Ты ж не предупреждал нигде, что перед обновлением нужно сносить старую версию.
AL> Я таки смог обновить сабж, хотя и не без матюков (кто ж знал, что он не обновляется при обновлении?).
Старую версию и не надо сносить. Новая всегда должна вставать поверх без всяких проблем.
А какие там циферки при установке APK отображаются (1.0 или 1.1), абсолютно не имеет значения. Считайте, что они для красоты.
AL> Так что это за тост такой? За здравие?
Я имел в виду вот этот тост: https://developer.android.com/guide/topics/ui/notifiers/toasts.html

И засунул таковой при обновлении счётчиков. Правда, мы так и не поняли друг друга нормально (на выходных), поэтому надо его оттуда убрать за ненадобностью.
vit01 to Andrew Lobanov (2017-05-12 06:19:59) [ссылка]

Re: idec mobile

Ответ на сообщение
>> Нафига её обновлять когда она заведомо не меняется? Количество сообщений меняется только после фетча. Зачем их считать каждый раз?
> После чистки по ЧС, после удаления/обрезки эх. А ещё счётчики непрочитанных имеются, но тут всё понятно.
Ну так и дёргать пересчёт из этих функций. Счётчики вот да, но я не знаю как ты их реализовал. Даже если это просто флаг в базе, то всё равно выходит в два раза меньше селектов, если общее число кешировать и пересчитывать только по необходимости.
>> Ты ж не предупреждал нигде, что перед обновлением нужно сносить старую версию.
>> Я таки смог обновить сабж, хотя и не без матюков (кто ж знал, что он не обновляется при обновлении?).
> Старую версию и не надо сносить. Новая всегда должна вставать поверх без всяких проблем.
> А какие там циферки при установке APK отображаются (1.0 или 1.1), абсолютно не имеет значения. Считайте, что они для красоты.
Тем не менее, эта проблема встречается и не только у меня. Может, дело в старом ведре, а может в кривой вендорской прошивке, но я и андроид-версию инстеда так же тестил: сперва сносить, потом ставить. Как раз потому, что из-за статичной версии оно криво обновлялось.

Я бы всё таки такие вещи учитывал, так как андроид - это всегда зоопарк.
>> Так что это за тост такой? За здравие?
> Я имел в виду вот этот тост: https://developer.android.com/guide/topics/ui/notifiers/toasts.html
Понял. Я просто в терминологии андроидной не силён =)
> И засунул таковой при обновлении счётчиков. Правда, мы так и не поняли друг друга нормально (на выходных), поэтому надо его оттуда убрать за ненадобностью.
Я только видел "Получено n новых сообщений" после фетча, но он и раньше был. А то, о чём ты говоришь, я не заметил. Может потому, что каждый переход к списку эх вызывает некислые фризы.
Andrew Lobanov to vit01 (2017-05-12 07:32:01) [ссылка]

Re: idec mobile

Ответ на сообщение
Обновление

1. Добавлен индекс в базу данных. Фризы при переходе на список эх должны уменьшиться.
2. Изменено версионирование. Теперь это дата и время сборки. Кстати, их можно посмотреть из менюшки NavDrawer'а (в самом низу). Специально сделал, чтобы убрать путаницу, когда присылают багрепорты.

Можно спокойно обновляться поверх, клиент сам всё сделает (sqlite имею в виду)

Андрею обновляться обязательно. Борису просьба посмотреть build.gradle и высказаться в скрытоэхе

APK: https://ii-net.tk/ii/files/app-debug.apk
vit01 to vit01 (2017-05-13 08:25:56) [ссылка]

Re: idec mobile

Ответ на сообщение
Спасибо за индексы. Теперь оно просто молниеносно открывает список конференций. Шикарно.
Andrew Lobanov to vit01 (2017-05-13 09:47:46) [ссылка]

Re: idec mobile

Ответ на сообщение
Обновился. Вроде баг. В списке эх нажал пометить все как прочитанные а в меню слева -- счетчик новых сообщений остался 84. При нажатии на них -- пишет, что новых сообщений нет.
Peter to vit01 (2017-05-13 10:16:29) [ссылка]

Re: idec mobile

Ответ на сообщение
Есть небольшой вопрос. У меня дважды настроена таверна: для глобала и локала. Соответственно при фетчинге один из узлов валится по таймауту. Если при этом нет новых сообщений, то появляется сообщение о проблеме со связью:

http://spline-online.tk/stuff/docs/pics/Screenshot_2017-05-13-15-18-06.png

Это от таймаута?
Andrew Lobanov to vit01 (2017-05-13 10:25:10) [ссылка]

Re: idec mobile

Ответ на сообщение
> Обновился. Вроде баг. В списке эх нажал пометить все как прочитанные а в меню слева -- счетчик новых сообщений остался 84. При нажатии на них -- пишет, что новых сообщений нет.
У себя такого не заметил. Странно.
Andrew Lobanov to Peter (2017-05-13 10:26:38) [ссылка]

Re: idec mobile

Ответ на сообщение
AL> Соответственно при фетчинге один из узлов валится по таймауту. Если при этом нет новых сообщений, то появляется сообщение о проблеме со связью:
AL> Это от таймаута?
Да. По тексту на скриншоте ты мог и сам догадаться :)

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

А коль у тебя рутованный телефон, то можно оставить всего одну таверну, подменяя айпишник парой тыков в приложении Hosts Editor (есть в F-Droid). Там это очень удобно галочкой сделано. На твоём месте я именно так и организовал бы фетч.
vit01 to Andrew Lobanov (2017-05-13 10:56:26) [ссылка]

Re: idec mobile

Ответ на сообщение
Точный алгоритм воспроизведения.
1. Потянули вниз список эх. Фетч.
2. Справа вверху пометили все как прочитанные
3. Выдвинули шторку слева
4. Видим что там счетчик не изменился (не 0)
Peter to Andrew Lobanov (2017-05-13 11:03:10) [ссылка]

Re: idec mobile

Ответ на сообщение
Этот баг я уже исправил у себя в IDE.
Подождите немного, сегодня ещё сборка будет.
vit01 to Peter (2017-05-13 11:20:58) [ссылка]

Re: idec mobile

Ответ на сообщение
В новой сборке:

1. Черновики проверяются по хэшу. Так что если вы случайно что-то процитировали или просто ничего не написали (и нажали кнопку назад), то такие "пустышки" будут автоматически удалены при отправке.

Вообще, для такого специально есть кнопка удаления в меню, но ведь всякое бывает.

// Однако если отправлять сообщения стрелочкой во внутреннем редакторе, то оно уйдёт в принудительном порядке. Спамерам на заметку :)

2. Починил функцию "Пометить почту прочитанной" на главном экране. Теперь очищаются непрочитанные в NavDrawer'е, да и сама операция запускается в отдельном потоке, дабы не раздражать юзера.

APK как обычно: https://ii-net.tk/ii/files/app-debug.apk
vit01 to vit01 (2017-05-13 12:41:00) [ссылка]

Re: idec mobile

Ответ на сообщение
>> Соответственно при фетчинге один из узлов валится по таймауту. Если при этом нет новых сообщений, то появляется сообщение о проблеме со связью:
>> Это от таймаута?
> Да. По тексту на скриншоте ты мог и сам догадаться :)
Да я и догадался, но решил уточнить =)

В любом случае, ситуация достаточно редкая.
> Если это напрягает, то можешь либо уменьшить таймаут в настройках клиента, либо периодически отключать одну из станций от фетча.
Видимо, так и сделаю.
> А коль у тебя рутованный телефон, то можно оставить всего одну таверну, подменяя айпишник парой тыков в приложении Hosts Editor (есть в F-Droid). Там это очень удобно галочкой сделано. На твоём месте я именно так и организовал бы фетч.
К сожалению, телефон у меня не рутованный и мне как ламеру тщедушному рутовать его боязно.
Andrew Lobanov to vit01 (2017-05-13 16:01:56) [ссылка]

Re: idec mobile

Ответ на сообщение
Обновился.
У меня вопрос по использованию.
В левой шторке выбрал непрочитанные. Меня бросает на первое сообщение (самое старое). Но как перейти к следующему? Кнопки перейти вперед вроде не видно (кроме той, что в конец прыгает сразу).
Peter to vit01 (2017-05-13 17:43:31) [ссылка]

Re: idec mobile

Ответ на сообщение
Все. Разобрался. :) клиент радует.
Peter to Peter (2017-05-13 17:54:09) [ссылка]

Re: idec mobile

Ответ на сообщение
AL> Ну я других вариантов даже придумать не могу. Нужно оставить функцию, но не захламлять панель же.
>>> http://192.168.1.2:3000/x/file/idec-mobile0.png
>>> http://192.168.1.2:3000/x/file/idec-mobile1.png
>> Если много раз повторять хорошие шутки (с айпи-адресами), то эти хорошие шутки уже становятся приевшимися :)
AL> Ай да я. Привык с ноута, где у меня в /etc/hosts всё прописано и на андроиде по привычке даже не проверил ссылки.
AL> http://idec.spline-online.tk/x/file/idec-mobile0.png
AL> http://idec.spline-online.tk/x/file/idec-mobile1.png
Кстати, по этому поводу. Может есть какое-то уникальное уже универсальное
решение: для работы из локалки с локальным серваком и для работы с внешки???

Маршрутизатор слишком хил и не поддерживает правильный NAT, с которым какбы не было бы
подобных проблем, который мог бы нормально определять имя сервака и
переносить все запросы по имени на прописанные виртуальные хосты, чтобы не
приходилось постоянно-периодически править /etc/hosts проставляя локальный
статический айпи в соответствие к адресам.
1i8r4 to Andrew Lobanov (2017-05-14 18:10:42) [ссылка]

Re: idec mobile

Ответ на сообщение
Сегодняшнее обновление:

1. Новая настройка: открывать непрочитанные сразу после фетча. По умолчанию выключено.
2. В NavDrawer'е появился счётчик у черновиков. Цифры 0 в этих же счётчиках больше не показываются. А ещё запросы к БД там настроил асинхронно, что должно уменьшить задержки.
3. Попытался починить баги с падением клиента, о которых мне сообщали Борис и Андрей по почте. Не зря фичу ввёл, уже плоды приносит!
4. Починил баг с падением клиента после открытия уже удалённого/отправленного черновика.

Прошу обновиться
vit01 to vit01 (2017-05-21 15:30:11) [ссылка]

Re: idec mobile

Ответ на сообщение
Дорогая При... Тьфу блин!

Дорогие пользователи, следящие за клиентом! Сегодня (а точнее за эти 2 дня) я усвоил один неплохой урок насчёт Андроида. Если вы собираетесь поддерживать зоопарк устройств от 4.4 до 7.1, то не надо ударяться в перфекционизм, используя сторонние библиотеки и совмещая их со стандартным styles.xml, @color, и.т.д. Достаточно сделать по-минимуму, т.е. "шоб работало".

Итак, в обновлении:

1. Новая активити настроек. Спасибо Борису за вручную составленный settings.xml и за текстовые описания. Мне было бы это лень делать самому.

2. Тема оформления теперь меняется на лету, без перезагрузки

Несмотря на отсутствие фактически полезных изменений, прошу народ протестировать, потому что мне пришлось сделать несколько неочевидных трюков.

Ссылка на APK здесь: https://ii-net.tk/ , а текущие юзеры могут просто нажать на кнопку "Обновиться"
vit01 to vit01 (2017-06-06 12:18:12) [ссылка]

Re: idec mobile

Ответ на сообщение
Сегодня снова обновление! И оно тоже требует тестирования.

Попробуйте

1. Зайти в список эх
2. Повернуть девайс на 90 градусов

Если размер экрана будет достаточным, то трюк сработает.
Проверял на планшете и на своей лопате. Вроде бы пашет.
vit01 to vit01 (2017-06-07 16:48:20) [ссылка]

Re: idec mobile

Ответ на сообщение
К сожалению, сегодня вряд ли смогу протестировать это дело, так как поздно попаду домой и буду сильно уставший.
Andrew Lobanov to vit01 (2017-06-08 07:31:12) [ссылка]

Re: idec mobile

Ответ на сообщение
Да там тестировать-то нечего.

Просто обновишься поверх, повернёшь телефон туда-сюда.
И в настройки зайди, если в предыдущий раз не смотрел.
vit01 to Andrew Lobanov (2017-06-08 07:46:54) [ссылка]