AquaMail Forum
На Русском языке => Ошибки => Topic started by: ivanovivan on September 13, 2018, 12:57:02 pm
-
Здравствуйте.
При выставлении сортировки от старого письма к новому в цепочкам и в списке, в просмотре тела письма пролистывание писем движением справа налево работает странно. В рамках цепочки всё согласно выбранной сортировке, а вот когда последнее письмо в цепочке пролистываешь, то следующая цепочка начинается не по обычной сортировке. Т.е. если в списке цепочек выбрать последнее письмо в последней цепочке и пролистать ещё дальше(что не должно получиться по-идее), то попадёшь на предыдущую цепочку(если смотреть из списка цепочек).
-
Не могу сказать что понял на 100%.
Это как здесь?
https://www.aqua-mail.com/forum/index.php?topic=6794.0
-
> Это как здесь?
Не совсем, наверное.
Допустим у нас есть следующие цепочки(T1, T2, T3) с сообщениями(T1M1 и т.п.):
- T1
- T1M1
- T1M2
- T2
- T2M1
- T2M2
- T3
- T3M1
- T3M2
- T3M3
У меня выставлен порядок от старых к новым и в цепочках и в списках сообщений. Когда я открываю T3M1 и начинаю листать далее, то я перехожу к T3M2 и после него на T3M3 - тут всё нормально. Но при попытке сделать следующий переход я попадаю на T2M1, хотя должен остаться на T3M3, т.к. оно последнее в списке сообщений. Т.е. где-то сбоит промотка в режиме чтения и всплывает обратный порядок (от нового к старому), но внутри цепочки всё норм.
-
Т.е. если открыть T3M1 и начать мотать сообщения далее, то порядок будет следующий:
T3M1 -> T3M2 -> T3M3 -> T2M1 -> T2M2 -> T1M1 -> T1M2
При этом T1M2 будет последний, т.е. пролистывание далее работать не будет(и по идее, так должно было случиться ещё на T3M3).
-
Ага. Я вот как раз пытаюсь понять и то что Вы написали и то что написано вот здесь:
https://www.aqua-mail.com/forum/index.php?topic=6794.0
Вполне возможно что это одна и та же ошибка (где-то не учитывается обратный порядок чего-то).
-
@ivanovivan
У Вас телефон или планшет?
-
Я меня не получилось воспроизвести "зацикливание" навигации.
Но пока тестировал увидел ошибки подсветки текущего сообщения если используется интерфейс с двумя панелями (список сообщений слева / сообщения справа) при свайпах от одного к другому. Это если включён обратный порядок раскрытых цепочек.
https://www.aqua-mail.com/staging/AquaMail-market-1.17.0-1299-dev-51733108a081.apk
Не знаю, может быть также поможет "зацикливанию" о котором Вы писали выше. Но повторюсь, у меня не получилось его воспроизвести, ни на планшете ни на телефоне.
-
Вот тут помогли разобраться что у Вас не "зацикливание" а неочевидный порядок "попадания в цепочку"
https://www.aqua-mail.com/forum/index.php?topic=6794.0
Наверное по Вашему случаю можно что-то исправить, но вот какое *минимальное* исправление возможно - если возможно?
Я справшиваю потому что если Вы прочитете ту, другую, тему - увидите что есть довольно сложное взаимодействие нескольких настроек.
Так что если актуально - жду предложений.
Например можно поправить конкретно "на какое сообщение попадаем когда попадаем внутрь цепочки (из другой цепочки или другого сообщения)". Наверное. Если это одно исправление будет достаточным.
Да, и я согласен что работа "свайпа" если сортировка и/или раскрытие цепочек не по умолчанию - довольно неочевидное, или даже странное.
-
@ivanovivan
У Вас телефон или планшет?
Телефон.
-
Я меня не получилось воспроизвести "зацикливание" навигации.
Это не зацикливание, а именно не тот порядок пролистывания между цепочками(а не внутри цепочек) в режиме чтения.
Я могу видео снять, если надо.
-
Наверное по Вашему случаю можно что-то исправить, но вот какое *минимальное* исправление возможно - если возможно?
Это я не знаю :-). Я вижу так - порядок сообщений должен быть везде одинаковый. Если от старого к новому, то он
везде идёт так(и в цепочках и в режиме просмотра сообщения при пролистывании). Т.е. при просмотре сообщения строится то же дерево отсортированных сообщений как и в режиме цепочек и пролистывание идёт по нему. Если кому-то надо разные режимы сортировки(такие есть вообще?), то нужны тогда пара настроек сортировки(сортировка цепочек и сообщений в цепочках) отдельные для разных режимов(Т.е. 2 настройки для режима цепочек, 2 настройки для режима просмотра сообщения и какие ещё режимы есть?).
На минимальное исправление я бы не отвлекался :-). Мне не кспеху, я подожду переделанную реализацию :-).
И ещё хорошо бы возможность сохранять настройки в файл или знать просто где этот конфиг лежит, что бы делать бэкап его.
-
Сейчас получается так:
В режиме цепочек сортировка такая:
- T1
- T1M1
- T1M2
- T2
- T2M1
- T2M2
- T3
- T3M1
- T3M2
- T3M3
В режиме просмотра сообщения такая:
- T3
- T3M1
- T3M2
- T3M3
- T2
- T2M1
- T2M2
- T1
- T1M1
- T1M2
Т.е. сообщения в цепочках отсортированы согласно настройкам, а цепочки нет.
-
Я более подробно писал вот здесь:
https://www.aqua-mail.com/forum/index.php?topic=6794.0
В частности перелистывание "от старых к новым / или наоборот" на самом деле не смотрит на даты (!). Это просто "прямой" или "обратный" порядок по сравнению с тем что делается в списке сообщений.
Однако - для сочетания сортировки "в обратном порядке" и цепочек "в обратном порядке" - и только для него - думаю что моем добавить "особенную логику" чтобы действительно было по времени...
... так же как сейчас если сортировки оставить по умолчанию, то тоже получается по времени.
У меня записано, правда это не значит что смогу заняться этим "вот прямо вот сейчас".
-
Я более подробно писал вот здесь:
https://www.aqua-mail.com/forum/index.php?topic=6794.0
В частности перелистывание "от старых к новым / или наоборот" на самом деле не смотрит на даты (!). Это просто "прямой" или "обратный" порядок по сравнению с тем что делается в списке сообщений.
Даты тут вообще ни при чём. Я (буду за себя говорить :-)) имею ввиду нормальную сортировку по
Message-ID/In-Reply-To, которая и определяет последовательность писем (вне зависимости от кривых часов оконечных компьютеров). Т.е.:
- собираем цепочки по Message-ID/In-Reply-To
- сообщения с одинаковым In-Reply-To сортируем по дате
- собранные и отсортированные цепочки собираем в список с порядком по дате первого сообщения цепочки
Всё. Этот упорядоченный список и есть единственный и для режима списка сообщений и для режима пролистывания при чтения сообщения. Обратное пролистывание само-собой просто идёт в обратную сторону по этому же упорядоченному списку, без всякой хитрости, которая сейчас приводит как раз к сбитому порядку между цепочками и ошибке, о которой я писал в другой теме.
У меня записано, правда это не значит что смогу заняться этим "вот прямо вот сейчас".
Без проблем :-).
-
- собираем цепочки по Message-ID/In-Reply-To
- сообщения с одинаковым In-Reply-To сортируем по дате
- собранные и отсортированные цепочки собираем в список с порядком по дате первого сообщения цепочки
Ну в целом оно так и работает.
Просто Вы захотели чтобы сортировка писем была в обратном порядке (и цепочек тоже).
Если вернётесь на порядок "новые сверху" (и для общего списка и для цепочек), то как раз увидите что оно всё "просто работает" без "выкрутасов".
Сложность именно в том что у Вас - особый случай.
-
- собираем цепочки по Message-ID/In-Reply-To
- сообщения с одинаковым In-Reply-To сортируем по дате
- собранные и отсортированные цепочки собираем в список с порядком по дате первого сообщения цепочки
Ну в целом оно так и работает.
Не совсем :-). В режиме списка ещё да, а в режиме чтения сообщения твориться мистика:
1. в одной цепочке я видел сообщение, которое было по времени, вместо In-Reply-To. Т.е. вместо
M1->M2->M3(вот тут время отправки было раньше M2, но по In-Reply-To это был ответ на M2)
я увидел:
M1->M3->M2
2. как писал ранее, после промотки вперёд и возвращении назад получаются другие сообщение совершенно.
Что говорит о том, что используется не единый отсортированный список для списка сообщений и для режима чтения сообщений.
3. Порядок цепочек обратный, вместо прямого(хотя в списке опять же, всё нормально)
4. Номера сообщений в цепочках идут в обратную сторону
Просто Вы захотели чтобы сортировка писем была в обратном порядке (и цепочек тоже).
Я как раз хочу, что б в прямом была :-). Как страницы книги или как шкала времени.
Если вернётесь на порядок "новые сверху" (и для общего списка и для цепочек), то как раз увидите что оно всё "просто работает" без "выкрутасов".
Проблема 2 осталась. 1 сейчас не могу проверить. 3 и 4 работает.
Сложность именно в том что у Вас - особый случай.
Возможно. Но вся его особенность в том, что хочется просто полного инвертирования умолчальной сортировки.