[#] Собщения после указанного msgid
Andrew Lobanov(station13, 1) — All
2015-11-02 12:01:04


Я тут немного покумекал и задумался. А что нода должна возвращать, если указанного msgid нет в эхе?

Моя реализация ноды теперь умеет три фичи в методе /u/e:
1. Классическое для ii поведение.
2. Если в поеследнем аргументе указаны начальное:сообщение:смещение, то возвращает указанный диапазон.
2.1. Если начальное сообщение находится за пределами списка сообщений то берётся первое или последнее (в зависимости от знака указанного индекса).
2.2. Если начальное сообщение + смещение указывает за пределы списка сообщений в эхе, то возвращаются все сообщения с указанного начального по последнее в эхе.
3. Если в последнем аргументе указан msgid, то нода возвращает всё, что есть в эхе после него.
3.1. Если такого сообщения нет, то возвращается вся эха целиком.

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

Какие будут предложения? Нужен ли вобще такой метод?

[#] Re: Собщения после указанного msgid
vit01(mira, 1) — Andrew Lobanov
2015-11-02 12:42:54


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

> Какие будут предложения? Нужен ли вобще такой метод?

Третий пункт попахивает костылями. Во-первых, хорошо было бы указывать начальный msgid для всех запрошенных эх, т.е. в текущем варианте от него мало пользы. Во-вторых, /u/e и так смещения еле-еле в себя вобрал.

В общем, я за ещё одну схему для списка по msgid.

[#] Re: Собщения после указанного msgid
Andrew Lobanov(station13, 1) — vit01
2015-11-02 12:55:05


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

В любом случае, это опция и она пока экспериментально. Сама по себе необходимость такой схемы в стандарте представляется мне весьма сомнительной.

Кстати, как ты предполагаешь забирать свежую почту в новом стандарте? Например, клиент всегда забирает последние 50 сообщений, но новых сообщений в эхе 75. Или клиентскую часть ты пока не реализовывал?

[#] Re: Собщения после указанного msgid
vit01(mira, 1) — Andrew Lobanov
2015-11-02 13:23:09


> Кстати, как ты предполагаешь забирать свежую почту в новом стандарте? Например, клиент всегда забирает последние 50 сообщений, но новых сообщений в эхе 75. Или клиентскую часть ты пока не реализовывал?

Клиентскую часть пока не реализовывал, но скоро собираюсь. Насчёт алгоритма забора почты уже рассказывал: если все 50 сообщений из первого списка новые, то идёт забор -100:50 и так далее аналогично. А сабжевую возможность планирую сделать опциональной (галочка в настройках).