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

idec mobile

Никак не разберусь с сабжем. Чистка кеша x/c не даёт результата. Если эху в список я добавил после первого забора сообщений с ноды, то не получаю в неё ничего. При получении списка эх с ноды имею в конце эху null.

Как всё это пофиксить.
Andrew Lobanov to All (2017-03-21 05:29:59) [ссылка]

Re: idec mobile

Ответ на сообщение
А если в настройках ноды выставить галку на "качать индекс дальше, если все сообщения новые", не помогает?

У меня было несколько раз, что в ноду, в которую никто ничего давно не писал, клиент зачем-то начинает скачивать старые сообщения. Хотя вышеназванная настройка выключена.
btimofeev to Andrew Lobanov (2017-03-21 06:15:22) [ссылка]

Re: idec mobile

Ответ на сообщение
btimofeev> А если в настройках ноды выставить галку на "качать индекс дальше, если все сообщения новые", не помогает?
В этом случае получается поведение равнозначное отключенной поддержке x/c и он начинает сосать всё, до чего дотянется.
btimofeev> У меня было несколько раз, что в ноду, в которую никто ничего давно не писал, клиент зачем-то начинает скачивать старые сообщения. Хотя вышеназванная настройка выключена.
Вот такого не наблюдал пока.

UPDATE: А вот как только значение x/c для эхи на узле меняется, он начинает выкачивать сообщения из новых эх. Поведения для меня совершенно загадочное. Ещё при изменении количества сообщений для забора он не забирает пока не изменится x/c для каждой эхи.

2vit01: А почему ты не сделал что-то типа как у меня в мейлере к цезию? Чтобы он получал все x/c по подпискам и сравнивал с кешем для минимизации индекса? Или я опять что-то не уловил?

Вообще, задел на будущее хороший, но сабж несколько путаный. Я из-за этого не могу его рекомендовать друзьям, с которыми не могу встретиться в реале. Есть ли возможность экспорта/импорта конфига? Я бы тогда поступал как с цезием для поинтов - высылал готовый конфиг и всё.
Andrew Lobanov to btimofeev (2017-03-21 06:56:42) [ссылка]

Re: idec mobile

Ответ на сообщение
AL> Есть ли возможность экспорта/импорта конфига?
Открой боковое меню -> дополнительно -> вкладка база данных -> в самом низу экспорт/импорт конфига. Вообще этому функционалу место в настройках приложения, имхо.
btimofeev to Andrew Lobanov (2017-03-21 07:29:42) [ссылка]

Re: idec mobile

Ответ на сообщение
AL> Чистка кеша x/c не даёт результата. Если эху в список я добавил после первого забора сообщений с ноды, то не получаю в неё ничего.
Вот это странно. Скорее всего, баг.
AL> При получении списка эх с ноды имею в конце эху null.
Ничего необычного. В конце list.txt сервер наверняка выдал пустую строку, а клиент посчитал её за настоящую. Могу починить, если критично.
btimofeev>> А если в настройках ноды выставить галку на "качать индекс дальше, если все сообщения новые", не помогает?
AL> В этом случае получается поведение равнозначное отключенной поддержке x/c и он начинает сосать всё, до чего дотянется
Включай принудительную обрезку индекса (в Цезии это включено по умолчанию, в сабже - нет)
AL> UPDATE: А вот как только значение x/c для эхи на узле меняется, он начинает выкачивать сообщения из новых эх. Поведения для меня совершенно загадочное. Ещё при изменении количества сообщений для забора он не забирает пока не изменится x/c для каждой эхи.
Да, это имеет место быть, особенно второй пункт. С "архитектурной" точки зрения я не смог придумать ничего лучше.
AL> А почему ты не сделал что-то типа как у меня в мейлере к цезию? Чтобы он получал все x/c по подпискам и сравнивал с кешем для минимизации индекса? Или я опять что-то не уловил?
Выражайся яснее, пожалуйста. Совсем не понял, что здесь имеется в виду. База данных у меня единая, кэша индекса нет.
AL> Есть ли возможность экспорта/импорта конфига?
Да, есть, уже было сказано ранее
vit01 to Andrew Lobanov (2017-03-21 08:05:45) [ссылка]

Re: idec mobile

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

Реальность оказалась гораздо хуже: сдох не процессор, а сама материнская плата. Это значит, что писать андроид-софт через IDE я больше не могу. А нетбук, в свою очередь, студию не потянет.

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

Если найдётся какой-нибудь дельный совет, готов принять во внимание.
vit01 to vit01 (2017-03-21 08:50:26) [ссылка]

Re: idec mobile

Ответ на сообщение
AL>> При получении списка эх с ноды имею в конце эху null.
vit01> Ничего необычного. В конце list.txt сервер наверняка выдал пустую строку, а клиент посчитал её за настоящую. Могу починить, если критично.
Эта ситуация вполне обычная и тянется ещё с ii-03. Я имел в виду, что почему сюда не присобачить фильтр?
AL>> В этом случае получается поведение равнозначное отключенной поддержке x/c и он начинает сосать всё, до чего дотянется
vit01> Включай принудительную обрезку индекса (в Цезии это включено по умолчанию, в сабже - нет)
Это несколько неочевидно.
AL>> А почему ты не сделал что-то типа как у меня в мейлере к цезию? Чтобы он получал все x/c по подпискам и сравнивал с кешем для минимизации индекса? Или я опять что-то не уловил?
vit01> Выражайся яснее, пожалуйста. Совсем не понял, что здесь имеется в виду. База данных у меня единая, кэша индекса нет.
Я ж уже объяснял тебе эту фичу. Берём x/c с ноды, берём локальный x/c. Вычисляем максимальную разницу между каунтерами и её передаём в расширенный u/e. Если новая эха и в локальном x/c по ней информации, то выставляем длину индекса на умолчальную, если максимальная разница меньше.
Andrew Lobanov to vit01 (2017-03-21 09:04:46) [ссылка]

Re: idec mobile

Ответ на сообщение
vit01> Если вы все помните, я обещал поправить все баги в клиенте как можно скорее, когда куплю замену к процессору для сдохшего компа.
vit01> Реальность оказалась гораздо хуже: сдох не процессор, а сама материнская плата. Это значит, что писать андроид-софт через IDE я больше не могу. А нетбук, в свою очередь, студию не потянет.
Голимо. Всё таки раньше в этом плане было лучше. Братья фидошники выручали и железом на поюзать. А сейчас я донатнуть даже не могу толком - ремонт не за горами.
Andrew Lobanov to vit01 (2017-03-21 10:01:58) [ссылка]

Re: idec mobile

Ответ на сообщение
AL> Я ж уже объяснял тебе эту фичу. Берём x/c с ноды, берём локальный x/c. Вычисляем максимальную разницу между каунтерами и её передаём в расширенный u/e. Если новая эха и в локальном x/c по ней информации, то выставляем длину индекса на умолчальную, если максимальная разница меньше.
Вот теперь вспомнил. Да, ты рассказывал, но я не счёл её раньше сильно интересной. По странному скачиванию сообщений с только что добавленной эхи - это недоработка, надо бы исправить.

Режим "максимальной экономии через /x/c" надо бы тоже реализовать, только наиболее прозрачно для настройки.
Думаю просто галочку прикрутить вроде "минимизировать запросы индекса" и выставить её по умолчанию для включённого /x/с

Добавил себе в TODO: https://github.com/vit1-irk/idec-mobile/projects/
AL>>> При получении списка эх с ноды имею в конце эху null.
vit01>> Ничего необычного. В конце list.txt сервер наверняка выдал пустую строку, а клиент посчитал её за настоящую. Могу починить, если критично.
AL> Эта ситуация вполне обычная и тянется ещё с ii-03. Я имел в виду, что почему сюда не присобачить фильтр?
Раньше никогда не задумывался о такой проблеме (с пустой строкой). Окей, прикручу проверку. Добавил в TODO.
AL> Голимо. Всё таки раньше в этом плане было лучше. Братья фидошники выручали и железом на поюзать. А сейчас я донатнуть даже не могу толком - ремонт не за горами.
Да ладно, не преувеличивай. Мне для разработки хватит даже самой простой виртуалки с VNC+ssh, ни в каких донатах необходимости нет.

Что-нибудь придумаю. Может быть, сделаю "раздельный процесс" вроде написания кода в емаксе и сборки APK вручную. Это будет занимать гораздо больше времени и телодвижений, зато можно будет кое-как работать.

Из фич IDE, которые сильно сокращали время, могу отметить дизайнер интерфейсов (эксклюзивная штука, которая очень нужна и которой нигде больше нет), Instant Run, "прибитую гвоздями" интеграцию с ADB (с подсветкой ошибок, через обычный cli-запуск ADB так вроде нельзя), прекрасное автодополнение по куче фишек конкретно андроида, мгновенный lint по коду и умный подсказыватель, который определяет deprecated-методы и даёт советы по обратной совместимости кода между версиями ОС.
vit01 to Andrew Lobanov (2017-03-22 13:52:06) [ссылка]

Re: idec mobile

Ответ на сообщение
Сегодня на компе с андроид-студией заменили блок питания, и он снова рабочий! И что это значит?

Правильно, это значит, что
1. Работа над клиентом возобновляется и будет идти как обычно
2. Цифровая подпись для сборки APK снова в деле, и я снова могу выкладывать сборки
3. Сломанный комп был мне уроком, что надо делать бэкапы (особенно закрытых ключей)

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

1. Исправлена недоработка с пустыми строками в list.txt
2. Фетчер теперь не валится, если были ошибки парсинга некоторых сообщений
3. Экспорт и импорт бандлов теперь учитывает избранные! Так что можно не бояться переустанавливать клиент и экспериментировать с ним: вся годнота при переносе БД сохраняется и подлежит восстановлению.

Скачать APK: http://ii-net.tk/ii/files/app-debug.apk

Замечание насчёт фичи под пунктом 3: используется стандартный механизм тегов ii, который совместим со всеми реализациями. Так что пользователи клиентов и тулз для работы с бандлами (ii-db-utils, idec-utils) этих изменений даже не заметят.

А ещё я смог настроить Emacs для разработки под андроид. Так что в экстренных ситуациях уже могу работать с этим делом и на своём нетбуке, без андроид-студии.
Посмотрите на этот милый скриншот, кто его ещё не видел: https://ii-net.tk/files/screen-emacs-01.png

P.S. Серьёзные баги чиню только на выходных
vit01 to vit01 (2017-04-03 17:16:06) [ссылка]

Re: idec mobile

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

1. Изменил способ запроса статистики из БД на списке эх, чтобы тот не дёргался при прокрутке. Теперь он синхронный (как в Цезии). Помню, Андрей мне несколько раз говорил про этот баг. По ощущениям отзывчивость клиента поуменьшилась, но проблема должна уйти.

2. При отсутствии интернет-соединения клиент чётко даст об этом знать, а не просто напишет, что зафетчил 0 сообщений (о баге сообщил Борис)

Качать APK по прежней ссылке
vit01 to vit01 (2017-04-14 16:14:08) [ссылка]

Re: ii-php

Ответ на сообщение
Теперь на ноде наконец-то обрезаются длинные сообщения ("Читать далее").

И ещё в админке (sysop.php) стало удобнее удалять содержимое эх да чистить базу по ЧС
vit01 to vit01 (2017-04-14 16:18:44) [ссылка]

Re: idec mobile

Ответ на сообщение
Не могу прицепить клуб http://ii.club.syscall.ru/ к idec mobile. Вроде все поля заполнил, а оно пишет чот не может получить список эх. Памагити!
Kerbal to vit01 (2017-04-15 07:59:17) [ссылка]

Re: idec mobile

Ответ на сообщение
Kerbal> Вроде все поля заполнил, а оно пишет чот не может получить список эх. Памагити!
Посмотрел список эх на станции и всё понял. Парсер не хочет съедать пустые описания.
Так что пусть либо сисоп заполнит описания, либо я выпущу обновление, либо ты выставишь нужные эхи в клиенте вручную.
vit01 to Kerbal (2017-04-15 10:59:21) [ссылка]

Re: idec mobile

Ответ на сообщение
> Посмотрел список эх на станции и всё понял. Парсер не хочет съедать пустые описания.
> Так что пусть либо сисоп заполнит описания, либо я выпущу обновление, либо ты выставишь нужные эхи в клиенте вручную.
Там это кодом генерится, подправил, чтоб в качестве названия была сама эха. Так норм?
http://club.syscall.ru/list.txt
Peter to vit01 (2017-04-15 11:35:51) [ссылка]

Re: idec mobile

Ответ на сообщение
Да, так должно заработать. Но вообще странно как-то
Всегда вроде вручную заполняли описания
vit01 to Peter (2017-04-15 12:13:01) [ссылка]

Re: idec mobile

Ответ на сообщение
Клиент хорошо бы исправить все-равно, имхо. Стандарт вроде не нарушен.
Эха:счетчик:пустое описание
Peter to vit01 (2017-04-15 12:42:35) [ссылка]

Re: idec mobile

Ответ на сообщение
Peter> Клиент хорошо бы исправить все-равно, имхо. Стандарт вроде не нарушен.
Peter> Эха:счетчик:пустое описание
Исправил клиент, обновляйся
Ещё, кстати, поправил пиктограмму для уведомлений
vit01 to Peter (2017-04-15 13:09:22) [ссылка]

Re: idec mobile

Ответ на сообщение
vit01> Ещё, кстати, поправил пиктограмму для уведомлений
Ты её кажется не закоммитил, программа теперь из-за этого не собирается.
btimofeev to vit01 (2017-04-15 13:50:33) [ссылка]

Re: idec mobile

Ответ на сообщение
Добавил в Navigation Drawer кнопку для загрузки обновления. Она просто открывает браузер, чтобы скачать APK

Это на будущее, чтобы мне не писать постоянно ссылку на клиент в своих сообщениях
vit01 to vit01 (2017-04-15 13:58:46) [ссылка]

Re: idec mobile

Ответ на сообщение
vit01>> Ещё, кстати, поправил пиктограмму для уведомлений
btimofeev> Ты её кажется не закоммитил, программа теперь из-за этого не собирается.
Всё, теперь закоммитил, должно заработать

// Теперь при загрузке через /x/file размер загруженного файла отображается адекватно, через 1.5 секунды
vit01 to btimofeev (2017-04-15 14:41:15) [ссылка]

Re: idec mobile

Ответ на сообщение
Крупное обновление клиента

1. Теперь сабж может запоминать последнее прочитанное сообщение в эхе и переходить к нему в обход списка. Включайте галочку в настройках

2. Переработано меню в режиме чтения. Можете попробовать перевернуть телефон и посмотреть, что получится. Ещё в меню добавлена возможность написать новое сообщение (то есть не ответ, а просто новое) специально для любителей пункта 1. И ещё кнопка возврата к списку (см. пункт 1)

3. На Android версий 6 и 7 появился разъяснительный экран, который вылезет, если пользователь запретил доступ к карте памяти

4. Значки на плавающих кнопках (список сообщений и правка эх) стали более аккуратными

5. Обновлены зависимости, проведена чистка кода от дублирования и вообще чистка

Обновляйтесь, товариши, и тестируйте.

Вот Андрею я фичу под номером 1 пообещал, например. Так что, надеюсь, она без внимания не обойдётся.
vit01 to vit01 (2017-04-16 17:56:21) [ссылка]