Author Topic: Пролистывание писем в цепочке при сортировке от старого к новому  (Read 14206 times)

ivanovivan

  • Newbie
  • *
  • Posts: 26
Здравствуйте.

При выставлении сортировки от старого письма к новому в цепочкам и в списке, в просмотре тела письма пролистывание писем движением справа налево работает странно. В рамках цепочки всё согласно выбранной сортировке, а вот когда последнее письмо в цепочке пролистываешь, то следующая цепочка начинается не по обычной сортировке. Т.е. если в списке цепочек выбрать последнее письмо в последней цепочке и пролистать ещё дальше(что не должно получиться по-идее), то попадёшь на предыдущую цепочку(если смотреть из списка цепочек).

Kostya Vasilyev

  • Hero Member
  • *****
  • Posts: 12740
Не могу сказать что понял на 100%.

Это как здесь?

https://www.aqua-mail.com/forum/index.php?topic=6794.0
Creating debug logs for diagnostics: https://www.aqua-mail.com/troubleshooting/

The official FAQ: https://www.aqua-mail.com/faq/

Лог-файлы для диагностики: https://www.aqua-mail.com/ru/troubleshooting/

Вопросы и ответы: https://www.aqua-mail.com/ru/faq/

ivanovivan

  • Newbie
  • *
  • Posts: 26
> Это как здесь?

Не совсем, наверное.

Допустим у нас есть следующие цепочки(T1, T2, T3) с сообщениями(T1M1 и т.п.):

- T1
  - T1M1
  - T1M2
- T2
  - T2M1
  - T2M2
- T3
  - T3M1
  - T3M2
  - T3M3

  У меня выставлен порядок от старых к новым и в цепочках и в списках сообщений. Когда я открываю T3M1 и начинаю листать далее, то я перехожу к T3M2 и после него на T3M3 - тут всё нормально. Но при попытке сделать следующий переход я попадаю на T2M1, хотя должен остаться на T3M3, т.к. оно последнее в списке сообщений. Т.е. где-то сбоит промотка в режиме чтения и всплывает обратный порядок (от нового к старому), но внутри цепочки всё норм.

ivanovivan

  • Newbie
  • *
  • Posts: 26
Т.е. если открыть T3M1 и начать мотать сообщения далее, то порядок будет следующий:

T3M1 -> T3M2 -> T3M3 -> T2M1 -> T2M2 -> T1M1 -> T1M2

При этом T1M2 будет последний,  т.е. пролистывание далее работать не будет(и по идее, так должно было случиться ещё на T3M3).

Kostya Vasilyev

  • Hero Member
  • *****
  • Posts: 12740
Ага. Я вот как раз пытаюсь понять и то что Вы написали и то что написано вот здесь:

https://www.aqua-mail.com/forum/index.php?topic=6794.0

Вполне возможно что это одна и та же ошибка (где-то не учитывается обратный порядок чего-то).
Creating debug logs for diagnostics: https://www.aqua-mail.com/troubleshooting/

The official FAQ: https://www.aqua-mail.com/faq/

Лог-файлы для диагностики: https://www.aqua-mail.com/ru/troubleshooting/

Вопросы и ответы: https://www.aqua-mail.com/ru/faq/

Kostya Vasilyev

  • Hero Member
  • *****
  • Posts: 12740
@ivanovivan

У Вас телефон или планшет?
Creating debug logs for diagnostics: https://www.aqua-mail.com/troubleshooting/

The official FAQ: https://www.aqua-mail.com/faq/

Лог-файлы для диагностики: https://www.aqua-mail.com/ru/troubleshooting/

Вопросы и ответы: https://www.aqua-mail.com/ru/faq/

Kostya Vasilyev

  • Hero Member
  • *****
  • Posts: 12740
Я меня не получилось воспроизвести "зацикливание" навигации.

Но пока тестировал увидел ошибки подсветки текущего сообщения если используется интерфейс с двумя панелями (список сообщений слева / сообщения справа) при свайпах от одного к другому. Это если включён обратный порядок раскрытых цепочек.

https://www.aqua-mail.com/staging/AquaMail-market-1.17.0-1299-dev-51733108a081.apk

Не знаю, может быть также поможет "зацикливанию" о котором Вы писали выше. Но повторюсь, у меня не получилось его воспроизвести, ни на планшете ни на телефоне.
Creating debug logs for diagnostics: https://www.aqua-mail.com/troubleshooting/

The official FAQ: https://www.aqua-mail.com/faq/

Лог-файлы для диагностики: https://www.aqua-mail.com/ru/troubleshooting/

Вопросы и ответы: https://www.aqua-mail.com/ru/faq/

Kostya Vasilyev

  • Hero Member
  • *****
  • Posts: 12740
Вот тут помогли разобраться что у Вас не "зацикливание" а неочевидный порядок "попадания в цепочку"

https://www.aqua-mail.com/forum/index.php?topic=6794.0

Наверное по Вашему случаю можно что-то исправить, но вот какое *минимальное* исправление возможно - если возможно?

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

Так что если актуально - жду предложений.

Например можно поправить конкретно "на какое сообщение попадаем когда попадаем внутрь цепочки (из другой цепочки или другого сообщения)". Наверное. Если это одно исправление будет достаточным.

Да, и я согласен что работа "свайпа" если сортировка и/или раскрытие цепочек не по умолчанию - довольно неочевидное, или даже странное.
Creating debug logs for diagnostics: https://www.aqua-mail.com/troubleshooting/

The official FAQ: https://www.aqua-mail.com/faq/

Лог-файлы для диагностики: https://www.aqua-mail.com/ru/troubleshooting/

Вопросы и ответы: https://www.aqua-mail.com/ru/faq/

ivanovivan

  • Newbie
  • *
  • Posts: 26

ivanovivan

  • Newbie
  • *
  • Posts: 26
Я меня не получилось воспроизвести "зацикливание" навигации.

Это не зацикливание, а именно не тот порядок пролистывания между цепочками(а не внутри цепочек) в режиме чтения.
Я могу видео снять, если надо.

ivanovivan

  • Newbie
  • *
  • Posts: 26
Наверное по Вашему случаю можно что-то исправить, но вот какое *минимальное* исправление возможно - если возможно?

  Это я не знаю :-). Я вижу так - порядок сообщений должен быть везде одинаковый. Если от старого к новому, то он
везде идёт так(и в цепочках и в режиме просмотра сообщения при пролистывании). Т.е. при просмотре сообщения строится то же дерево отсортированных сообщений как и в режиме цепочек и пролистывание идёт по нему. Если кому-то надо разные режимы сортировки(такие есть вообще?), то нужны тогда пара настроек сортировки(сортировка цепочек и сообщений в цепочках) отдельные для разных режимов(Т.е. 2 настройки для режима цепочек, 2 настройки для режима просмотра сообщения и какие ещё режимы есть?).
  На минимальное исправление я бы не отвлекался :-). Мне не кспеху, я подожду переделанную реализацию :-).
  И ещё хорошо бы возможность сохранять настройки в файл или знать просто где этот конфиг лежит, что бы делать бэкап его.

ivanovivan

  • Newbie
  • *
  • Posts: 26
Сейчас получается так:

В режиме цепочек сортировка такая:
- T1
  - T1M1
  - T1M2
- T2
  - T2M1
  - T2M2
- T3
  - T3M1
  - T3M2
  - T3M3

В режиме просмотра сообщения такая:
- T3
  - T3M1
  - T3M2
  - T3M3
- T2
  - T2M1
  - T2M2
- T1
  - T1M1
  - T1M2

Т.е. сообщения в цепочках отсортированы согласно настройкам, а цепочки нет.

Kostya Vasilyev

  • Hero Member
  • *****
  • Posts: 12740
Я более подробно писал вот здесь:

https://www.aqua-mail.com/forum/index.php?topic=6794.0

В частности перелистывание "от старых к новым / или наоборот" на самом деле не смотрит на даты (!). Это просто "прямой" или "обратный" порядок по сравнению с тем что делается в списке сообщений.

Однако - для сочетания сортировки "в обратном порядке" и цепочек "в обратном порядке" - и только для него - думаю что моем добавить "особенную логику" чтобы действительно было по времени...

... так же как сейчас если сортировки оставить по умолчанию, то тоже получается по времени.

У меня записано, правда это не значит что смогу заняться этим "вот прямо вот сейчас".
Creating debug logs for diagnostics: https://www.aqua-mail.com/troubleshooting/

The official FAQ: https://www.aqua-mail.com/faq/

Лог-файлы для диагностики: https://www.aqua-mail.com/ru/troubleshooting/

Вопросы и ответы: https://www.aqua-mail.com/ru/faq/

ivanovivan

  • Newbie
  • *
  • Posts: 26
Я более подробно писал вот здесь:

https://www.aqua-mail.com/forum/index.php?topic=6794.0

В частности перелистывание "от старых к новым / или наоборот" на самом деле не смотрит на даты (!). Это просто "прямой" или "обратный" порядок по сравнению с тем что делается в списке сообщений.

Даты тут вообще ни при чём. Я (буду за себя говорить :-)) имею ввиду нормальную сортировку по
Message-ID/In-Reply-To, которая и определяет последовательность писем (вне зависимости от кривых часов оконечных компьютеров). Т.е.:

- собираем цепочки по Message-ID/In-Reply-To
- сообщения с одинаковым In-Reply-To сортируем по дате
- собранные и отсортированные цепочки собираем в список с порядком по дате первого сообщения цепочки

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

Quote
У меня записано, правда это не значит что смогу заняться этим "вот прямо вот сейчас".

Без проблем :-).
« Last Edit: November 15, 2018, 06:15:05 pm by ivanovivan »

Kostya Vasilyev

  • Hero Member
  • *****
  • Posts: 12740
Quote
- собираем цепочки по Message-ID/In-Reply-To
- сообщения с одинаковым In-Reply-To сортируем по дате
- собранные и отсортированные цепочки собираем в список с порядком по дате первого сообщения цепочки

Ну в целом оно так и работает.

Просто Вы захотели чтобы сортировка писем была в обратном порядке (и цепочек тоже).

Если вернётесь на порядок "новые сверху" (и для общего списка и для цепочек), то как раз увидите что оно всё "просто работает" без "выкрутасов".

Сложность именно в том что у Вас - особый случай.
Creating debug logs for diagnostics: https://www.aqua-mail.com/troubleshooting/

The official FAQ: https://www.aqua-mail.com/faq/

Лог-файлы для диагностики: https://www.aqua-mail.com/ru/troubleshooting/

Вопросы и ответы: https://www.aqua-mail.com/ru/faq/