AquaMail Forum
На Русском языке => Предложения что-либо добавить => Topic started by: ruslangaripov on August 27, 2018, 08:00:48 pm
-
Подробное описание проблемы, подтолкнувшей меня к созданию описываемой ниже "хотелки", я написал в теме "Reverse ordering doesn't affect conversation view (https://www.aqua-mail.com/forum/index.php?topic=5376.msg40946#msg40946)". Повторяться не буду, просто напишу что именно я хотел бы получить в итоге.
Исходим из того, что список сообщений отображает сообщения от более старых (наверху) к более новым (внизу); при просмотре сообщения переход слева направо также идёт от более старых к более новым сообщениям.
- Список сообщений. Заголовок группы сообщений ("Conversation") должен отображать дату первого сообщения (самого старого) в группе, не последнего как это делается сейчас. На сортировке сообщений это не должно отражаться: для примера смотрите вложение "tb_message_list.png" (это скриншот из Thunderbird; для информации: свёрнутая группа сообщений в строке (6) начинается первым сообщением от 26.08.2018 в 12:08 и заканчивается сообщением от 27.08.2018 в 7:10). В общем-то, сейчас в AquaMail всё так и есть, за исключением даты, которая отображается в заголовке группы.
- Просмотр сообщений. Пусть на данный момент на экране отображается "одиночное" сообщение (не в группе) или последнее сообщение в группе. Следом за этим текущим сообщением в списке идёт (другая) группа сообщений. После перехода с текущего отображаемого сообщения (после удаления сообщения, после его сдвига (swipe) справа налево и прочее), необходимо отобразить первое (читай: самое раннее) сообщение в следующей группе. Не последнее, как это происходит сейчас. Соответственно, устранятся все проблемы, описанные в "Reverse ordering doesn't affect conversation view (https://www.aqua-mail.com/forum/index.php?topic=5376.msg40946#msg40946)".
Подобное поведение реализовано в Thunderbird. Это на случай, если я непонятно описал процесс.
-
Re: Заголовок группы сообщений ("Conversation") должен отображать дату первого сообщения (самого старого) в группе, не последнего как это делается сейчас.
Это вряд ли.
Я просто не понимаю почему дата / время самого старого сообщения вообще важны.
Re: Пусть на данный момент на экране отображается "одиночное" сообщение (не в группе) или последнее сообщение в группе
Извините не совсем понятно - "последнее" это самое старое или самое новое?
Я попробовал прочитать и осмыслить Ваше сообщение в теме "reverse ordering..." - но просто увяз и потерялся, извините.
Вы можете попробовать сформулировать более коротко?
- Какие именно у Вас настройки (сортировка "старые сначала" это я понял, и "при перелистывании пред. сообщения - старше" выключено это я тоже понял).
- Какие-то ещё?
- Пара простых сценариев что именно делаем, что получаем, что хотим
- Мне было бы проще понять если бы кроме слов "первое", "последнее" (сообщение) Вы бы дублировали также "самое старое" / "самое новое", чтобы я мог хоть как-то ориентироваться.
-
Я просто не понимаю почему дата / время самого старого сообщения вообще важны.
Потому что это "старое" сообщение является первоисточником, причиной появления группы сообщений. Если отображение даты первого (самого старого) сообщения в заголовке группы требует масштабного изменения принципов работы и/или переработки кода, то пусть остаётся как есть. Если нет -- буду не против новой настройки в установках.
Извините не совсем понятно - "последнее" это самое старое или самое новое?
Самое новое, поскольку у меня всё отсортировано от старого к новому.
Вы можете попробовать сформулировать более коротко?
Попробую :-)
> Какие именно у Вас настройки (сортировка "старые сначала" это я понял, и "при перелистывании пред. сообщения - старше" выключено это я тоже понял)
В общем-то все те, которые вы перечислили. Кроме них, насколько я помню, остальные отношения к сортировке не имеют. Но если нужно, я могу указать свои кокретные настройки.
> Пара простых сценариев что именно делаем, что получаем, что хотим
Попробую описать всё в "картинках".
- Исходное состояние: "67940_step_0.png". Сортировка от самого старого наверху к самому новому внизу. Всё так, как я и хотел бы.
- Открываем первое (самое старое) сообщение "simply awesome stuff": "67940_step_1.png".
- Переходим к следующему (более старому) сообщению по порядку. В данном случае порядок хронологический, от более старого к более новому. Перейти к следующему сообщению можно удалив текущее сообщение (то есть сообщение, которое отображено на "67940_step_1.png"), либо "сдвинув" его справа налево: "67940_step_2.png".
- После перехода открывается сообщение "Re: Trying to convert to LRA, running into an ICE (infinite reload loop)", полученное в 7:31 утра: "67940_step_3.png". Как видно на "67940_step_0.png" это сообщение является вторым в группе "Trying to convert to LRA, running into an ICE (infinite reload loop)", то есть самым новым сообщением в группе. Мне же необходимо, чтобы после третьего шага, я видел первое сообщение в группе, то есть самое старое, полученное в 4:41: "67940_step_4.png".
- Если от сообщения на "67940_step_3.png" на предыдущем шаге перейти (удалив его или "сдвинув" справа налево) на следующее сообщение, то увидим "67940_step_4.png". Поскольку же я на предыдущем шаге хотел бы видеть именно "67940_step_4.png", то на этом этапе (то есть перейдя от "67940_step_4.png") я хотел бы видеть именно "67940_step_3.png", потому что оно более новое относительно "67940_step_4.png".
Теперь у меня получилось объяснить то, что я хочу получить? :o
Добавлено позже Моё предложение в некоторой степени нарушает хронологический порядок перехода от сообщения к сообщению, но это нарушение допустимо именно из-за пересечения "границы" группы сообщений.
И ещё добавлено Таким образом, текущая реализация не учитывает порядок сортировки "от более старых к более новым" в пределах группы сообщений. Внутри группы сообщений при моих настройках переход идёт от более нового к более старому сообщению (понятие переход "определено" выше, во втором пункте).
-
Руслан,
Спасибо за подробное объяснение. Я завёл задачу чтобы не пропало - но пока что не понимаю, это реальная ошибка или просто работает не так как Вы хотели бы. Сочетание настроек у Вас довольно экзотическое.
Насчёт того чтобы показывать для цепочек в "нераскрытом" виде не самую новую дату а самую старую - это вряд ли, там действительно существующий код работает определённым образом.
Остальное попытаюсь осмыслить. Когда смогу.
-
Спасибо, Константин. Буду ждать :-)
-
Хмммм... Я сегодня очень старался понять эту проблему, также вот эту, кажется похожей:
https://www.aqua-mail.com/forum/index.php?topic=6818.0
В той теме есть новая сборка, не знаю поможет ли, но думаю стоит попробовать.
Также у меня появилась мысль - что то что Вы описываете, "что не так и чего хочется" - это Вам хочется какого-то "умного" поведения настройки "предыдущее старше", чтобы эта настройка, когда включена, "понимала" также и порядок сортировки (общий) и обратный порядок раскрытия цепочек.
Правильно?
Так вот, проблема в том что "предыдущее - старше" работает сильно проще. Она просто меняет "право / лево" в свайпах. И всё.
И совершенно не смотрит ни на общий порядок сортировки, ни на обратный порядок раскрытых цепочек.
( историческая справка - эти три настройки и код который их учитывает появились в разное время )
И если чтобы смотрела на цепочки ещё можно было бы сделать (хотя не очевидно) - то учитывать порядок сортировки будет сложно, так как порядок бывает не только по дате (обычный или обратный) а ещё несколько штук которые не имеют никакого отношения к датам.
Если мысленно убрать "предыдущее - старше" то у нас и так есть:
Общий порядок сортировки (2) * Прямой или обратный порядок раскрытия цепочек = 4 варианта.
Три из этих четырёх - лично для меня вообще совсем не интуитивны (я использую "новые сверху", по умолчанию).
Далее, эти 4 варианта * "предыдущее - старше" (или нет) = всё равно те же 4 варианта, только перелистывание идёт в другую сторону.
Если "предыдущее - старше" будет учитывать порядок сортировки (два, общий и раскрытых цепочек) - то лично я вообще уже не понимаю что и как там "должно быть", так как не понимаю и текущие 3 из 4 вариантов.
И плюс к этому - что делать если "общий" порядок сортировки скажем "сначала со звёздочкой" или там "вложениями", или даже "по имени отправителя" то есть он не имеет отношения к дате.
-
Я сегодня очень старался понять эту проблему, также вот эту, кажется похожей:
https://www.aqua-mail.com/forum/index.php?topic=6818.0
Константин, да: моя проблема и проблема "Пролистывание писем в цепочке при сортировке от старого к новому (https://www.aqua-mail.com/forum/index.php?topic=6818.0)" -- это одно и тоже.
Мы с Иваном† описали одну и ту же историю, но небольшой разницей в наших настройках:
- Settings / Message list / Default sort order: By date/time (reverse).
- Settings / Conversations / Reverse when expanded: включено.
- Settings / Message view / Previous message is older: у меня выключено, у Ивана включено.
† Я прошу прощения, если ошибся с именем.
Если обратиться к сообщению 41146 (https://www.aqua-mail.com/forum/index.php?topic=6818.msg41146#msg41146) в указанной теме, то у меня порядок будет такой (листаем "по экрану" справа налево):
T1M2 -> T1M1 -> T2M2 -> T2M1 -> T3M3 -> T3M2 -> T3M1
Впрочем, поведение своих настроек я уже описал выше; здесь я их повторил просто для сравнения. Собственно ``Previous message is older'' я выключил только потому, чтобы на "выходе" из группы сообщений попадать в следующую (более новую по времени) группу, а не в предыдущую (более старую). Но за это я "расплачиваюсь" тем, что внутри группы сообщений я теряю сортировку "От более старого к более новому".
Но пока тестировал увидел ошибки подсветки текущего сообщения если используется интерфейс с двумя панелями (список сообщений слева / сообщения справа) при свайпах от одного к другому. Это если включён обратный порядок раскрытых цепочек.
Да, я видел эту ошибку. Но поскольку Aqua Mail использую только на телефоне, на пяти дюймах которого "горизонтальный" режим работы с почтовым клиентом лично для меня не очень актуален, я не стал акцентироваться на этом.
Так вот, проблема в том что "предыдущее - старше" работает сильно проще. Она просто меняет "право / лево" в свайпах. И всё.
Это всё объясняет :-)
Константин, вы всё подробно объяснили, спасибо! Я соглашусь, что в рамках существующей схемы работы программы (я имею в виду эти три отдельные настройки) менять и исправлять ничего не стоит.
"Ноги" моей просьбы растут из почтового клиента Thunderbird, в котором нужная мне сортировка по дате и навигация по сообщениям/группам сообщений как в списке писем, так и в отдельном окне работает именно так, как я описал в своей "хотелке" в этой теме. В принципе, в силу описанной здесь же проблемы я давно пришёл к "разделению труда" между Aqua Mail и Thunderbird, то есть попросту в Aqua Mail избегаю работы с группами сообщений, а в основном использую для отправки заранее заготовленных черновиков и для "коротких" личных переписок. Поэтому выносим вердикт и этой теме, и теме Reverse ordering doesn't affect conversation view (https://www.aqua-mail.com/forum/index.php?topic=5376): "Закрыть в результате обсуждения" :-)
-
Re: Settings / Message view / Previous message is older: у меня выключено, у Ивана включено.
Да, это я видел.
Re: Мы с Иваном† описали одну и ту же историю
Мне кажется не совсем - Иван также описывает "зацикливание" - т.е. "свайп вперёд" и "свайп назад" не симметричны
Перечитал - да, то же самое. Спасибо что помогли разобраться.
Re: выносим вердикт
Отлично (для меня) - спасибо за понимание!
Когда слишком много настроек - то сложность начинает множиться по законам комбинаторики... И я даже не могу чётко представить что именно можно было бы поправить и при этом не сломать какую-то комбинацию которая сейчас работает (пускай неочевидно).