subject: spnet проапгрейдился до iii-php v0.9
02.11.2024 09:51
shaos (spnet, 2)
Смотрим если вдруг вылезут косяки с веб-интерфейсом либо пинтовым апи. Новый поинтовый апи доступен всё так же по https://sprinternet.io/iii/ (что через rewrite вызывает iii-point.php?q=/ и если кто-то напрямую дёргает ii-point.php, то с него надо будет слазить т.к. там старый код). Основное нововведение, это насильственные действия в отношении /u/e/ в особо извращённой форме :)
Я вчера показывал свой шедевральный код, который я сегодня ещё более усугубил - ща объясню.
Всё также можно делать запросы в стародавнем стиле ii:
https://sprinternet.io/iii/u/e/retro.talks/english.talks
Всё также можно делать запросы со "слайсами" в стиле IDEC (когда диапазон указанный в конце распространяется на все перечисленные эхи):
> curl -XGET https://sprinternet.io/iii/u/e/retro.talks/english.talks/-1:1
retro.talks
XOjs0DTBN77YYkJT2drY
english.talks
HOYW7nXXHb3HPKAFLz1w
Но теперь появляется возможность писать диапазоны не только в конце, но и в середине списка эх (как я уже вчера докладывал):
> curl -XGET https://sprinternet.io/iii/u/e/retro.talks/-2:2/english.talks/-1:1
retro.talks
5B3Tra1DRJEcymDcA6Gi
XOjs0DTBN77YYkJT2drY
english.talks
HOYW7nXXHb3HPKAFLz1w
Причём вместо -1:1 можно написать волшебное слово last:
> curl -XGET https://sprinternet.io/iii/u/e/retro.talks/zx.spectrum/-2:2/english.t…
retro.talks
5B3Tra1DRJEcymDcA6Gi
XOjs0DTBN77YYkJT2drY
zx.spectrum
1cKGi833VgPtcN7D7uDs
ZryriIaG5IJqKHX3C6kl
english.talks
HOYW7nXXHb3HPKAFLz1w
Также в середине списка можно указать волшебное слово all если вдруг какую-то среднюю эху надо выкачать целиком:
> curl -XGET https://sprinternet.io/iii/u/e/retro.talks/-3:3/english.talks/all/zx.…
retro.talks
yceDK3BmBJnfAZQlktjd
5B3Tra1DRJEcymDcA6Gi
XOjs0DTBN77YYkJT2drY
english.talks
Nw9ofK5x70iFMTrHzjHp
HOYW7nXXHb3HPKAFLz1w
zx.spectrum
ZryriIaG5IJqKHX3C6kl
И это уже похоже на то, что revoltech предлагал вот тут ii://El8TC509rAzTVxpWWAaa
А сегодня я даже сделал возможным указывать хеш, начиная с которого надо возвращать список хешей как revoltech предлагал вот тут ii://KmXTgt056WiPcGcdA9Mv т.е.
> curl -XGET https://sprinternet.io/iii/u/e/retro.talks/5B3Tra1DRJEcymDcA6Gi/engli…
retro.talks
5B3Tra1DRJEcymDcA6Gi
XOjs0DTBN77YYkJT2drY
english.talks
Nw9ofK5x70iFMTrHzjHp
HOYW7nXXHb3HPKAFLz1w
zx.spectrum
ZryriIaG5IJqKHX3C6kl
Более того - можно указывать только первые символы хеша ;)
> curl -XGET https://sprinternet.io/iii/u/e/retro.talks/5B3T/english.talks/all/zx.…
retro.talks
5B3Tra1DRJEcymDcA6Gi
XOjs0DTBN77YYkJT2drY
english.talks
Nw9ofK5x70iFMTrHzjHp
HOYW7nXXHb3HPKAFLz1w
zx.spectrum
ZryriIaG5IJqKHX3C6kl
Главное чтобы оно было не цифрой, иначе оно будет ругаться.
Ну и конечно же анонсированный вчера /u/e/lim/N/... :)
> curl -XGET https://sprinternet.io/iii/u/e/lim/3/retro.talks/english.talks/zx.spe…
retro.talks
yceDK3BmBJnfAZQlktjd
5B3Tra1DRJEcymDcA6Gi
XOjs0DTBN77YYkJT2drY
english.talks
Nw9ofK5x70iFMTrHzjHp
HOYW7nXXHb3HPKAFLz1w
zx.spectrum
MPaCqYswUePWAAfiioBL
1cKGi833VgPtcN7D7uDs
ZryriIaG5IJqKHX3C6kl
Я вчера написал, что lim нельзя использовать вместе со слайсами, а сегодня понял, что можно, но только если lim указывается правее слайсов :)
> curl -XGET https://sprinternet.io/iii/u/e/retro.talks/-4:4/lim/3/english.talks/z…
retro.talks
H50pJyclcYjeJbXBAi8k
yceDK3BmBJnfAZQlktjd
5B3Tra1DRJEcymDcA6Gi
XOjs0DTBN77YYkJT2drY
english.talks
Nw9ofK5x70iFMTrHzjHp
HOYW7nXXHb3HPKAFLz1w
zx.spectrum
MPaCqYswUePWAAfiioBL
1cKGi833VgPtcN7D7uDs
ZryriIaG5IJqKHX3C6kl
т.е. [-]N:M действует влево (как и all, last и hash), а lim действует вправо!
Ну и напоследок - выдача сообщений сохранённых позже какого-то времени :)
> curl -XGET https://sprinternet.io/iii/u/e/retro.talks/english.talks/zx.spectrum/…
retro.talks
english.talks
HOYW7nXXHb3HPKAFLz1w
zx.spectrum
(если время совпадает, то такое сообщение тоже возвращается)
Кода это заняло не так много ( чуть больше, чем я вчера показывал ) - я больше кода выкинул, когда довыпиливал файлэхи :)
Кому интересно, то можно посмотреть на коммиты тут https://gitlab.com/shaos/iii-php
--------------------------------------------------------------------------------
subject: Re: spnet проапгрейдился до iii-php v0.9
02.11.2024 10:18
ahamai (blackcat, 2) => 2SuPPA6hFPjlM5IH6sne
Так. Я могу задать срез последней, я могу задать каждой. А если я задам не каждой, а некоторым, что будет тогда?
--------------------------------------------------------------------------------
subject: Re: spnet проапгрейдился до iii-php v0.9
02.11.2024 10:38
shaos (spnet, 2) => 2SuPPA6hFPjlM5IH6sne
Сделал хак для поддержки /lim/N/u/e/...
> curl -XGET https://sprinternet.io/iii/lim/3/u/e/retro.talks/english.talks
retro.talks
yceDK3BmBJnfAZQlktjd
5B3Tra1DRJEcymDcA6Gi
XOjs0DTBN77YYkJT2drY
english.talks
Nw9ofK5x70iFMTrHzjHp
HOYW7nXXHb3HPKAFLz1w
работает также как и
> curl -XGET https://sprinternet.io/iii/u/e/lim/3/retro.talks/english.talks
retro.talks
yceDK3BmBJnfAZQlktjd
5B3Tra1DRJEcymDcA6Gi
XOjs0DTBN77YYkJT2drY
english.talks
Nw9ofK5x70iFMTrHzjHp
HOYW7nXXHb3HPKAFLz1w
--------------------------------------------------------------------------------
subject: Re: spnet проапгрейдился до iii-php v0.9
02.11.2024 10:42
shaos (spnet, 2) => QbWnLH9srLUQ8u8IuGX9
> Так. Я могу задать срез последней, я могу задать каждой. А если я задам не каждой, а некоторым, что будет тогда?
Когда ты задаёшь "срез" в конце, то он распространяется на весь список
Если надо чтобы что-то из списка брало по своему, то там надо указать свой "срез" либо волшебное слово all либо волшебное слово last
типа /u/e/echo.1/echo.2/all/echo.3/last вернёт всё для echo.1 и echo.2, но только хеш последнего сообщения для echo.3
ну ещё lim можно воткнуть в середину - вот такая запись сделает тоже самое:
/u/e/echo.1/echo.2/lim/1/echo.3
короче полная гибкость и свобода выбора :)
--------------------------------------------------------------------------------
subject: Re: spnet проапгрейдился до iii-php v0.9
02.11.2024 11:02
shaos (spnet, 2) => pNU7DLncj2LikcrcX2AN
По ходу пьесы удалил около 500 строк отвечающих за файлэхи - это было порядка 20% всего кода ii-php (сейчас осталось чуть больше 2000 строк), а чтобы поддержать в /u/e/ слайсы где попало, lim/N, выдача по хешу, выдача по времени сохранения плюс хак /lim/N/e/u потребовалось добавить меньше 50 строк...
--------------------------------------------------------------------------------
subject: Re: spnet проапгрейдился до iii-php v0.9
02.11.2024 11:05
shaos (spnet, 2) => KGhCKxNm6PKzd0xDidwl
> сейчас осталось чуть больше 2000 строк
там ведь ещё есть неиспользуемый сейчас транспорт MySQL - я пока думаю стоит туда вообще залезать или остаться в рамках файлового представления
наверное надо пересаживаться на MySQL хотя бы для хранения метаданных типа цепочек тредов, таблиц поиска и т.д.
--------------------------------------------------------------------------------
subject: Re: spnet проапгрейдился до iii-php v0.9
02.11.2024 11:04
ahamai (blackcat, 2) => JxFzdGq3uz9fAY5J86ma
Жесть. Ты теперь обязан жениться на u/e
--------------------------------------------------------------------------------
subject: Re: spnet проапгрейдился до iii-php v0.9
02.11.2024 11:41
hugeping (ping,1) => JxFzdGq3uz9fAY5J86ma
shaos> Если надо чтобы что-то из списка брало по своему, то там надо указать свой "срез" либо волшебное слово all либо волшебное слово last
Просто на всякий случай. В слайсах, установка limit в 0 означает безлимит.
https://hugeping.tk/u/e/idec.talks/0:0 - всё
https://hugeping.tk/u/e/idec.talks/-1:0 - последнее (ну или -1:1)
--------------------------------------------------------------------------------
subject: Re: spnet проапгрейдился до iii-php v0.9
02.11.2024 18:46
shaos (spnet, 2) => A48Rs8ZmrPh8ZzYL7uga
> Просто на всякий случай. В слайсах, установка limit в 0 означает безлимит.
0:0 у меня таки сработает как all
а вот -1:0 надо посмотреть...
--------------------------------------------------------------------------------
subject: Re: spnet проапгрейдился до iii-php v0.9
02.11.2024 19:01
shaos (spnet, 2) => dzeOMrsaJHaZ5wCPBYFP
> Жесть. Ты теперь обязан жениться на u/e
Выходит что так :)
--------------------------------------------------------------------------------
subject: Re: spnet проапгрейдился до iii-php v0.9
02.11.2024 19:05
shaos (spnet, 2) => bjuri9sc06qQiaZSJarJ
-1:0 не работает (точнее работает, но возвращает 0 хешей)
но я эту логику не трогал - видимо ii-php всегда так работал
исправлю
--------------------------------------------------------------------------------
subject: Re: spnet проапгрейдился до iii-php v0.9
02.11.2024 19:22
shaos (spnet, 2) => 7Zz6DC3hRRHZuT630rBx
Проверил старый ii-point.php - он и по 0:0 возвращал 0 хешей :)
Так что я получается это уже частично исправил ;)
Осталось N:0 исправить...
--------------------------------------------------------------------------------
subject: Re: spnet проапгрейдился до iii-php v0.9
02.11.2024 21:43
hugeping (ping,1) => UKSPwN2AWMGqWHkA1roU
shaos> Осталось N:0 исправить...
Я сегодня тоже баг в сплайсах у себя обнаружил. Не работали положительные индексы вообще :)
Но никто не использовал их в таком режиме. Исправил.
--------------------------------------------------------------------------------
subject: Re: spnet проапгрейдился до iii-php v0.9
03.11.2024 01:31
ahamai (blackcat, 2) => wu9IbtBgenqEbRIUdV6k
> Я сегодня тоже баг в сплайсах у себя обнаружил. Не работали положительные индексы вообще :)
> Но никто не использовал их в таком режиме. Исправил.
я про это и говорил, что не смогу у себя реализовать такое правильно, потому что этого не понимаю
--------------------------------------------------------------------------------
subject: Re: spnet проапгрейдился до iii-php v0.9
03.11.2024 05:20
shaos (spnet, 2) => UKSPwN2AWMGqWHkA1roU
> Осталось N:0 исправить...
Исправил - заменяю количество 0 на 999999999 (один миллиард минус 1) т.к. вряд ли когда-нибудь в ii/IDEC будут эхи с количеством сообщений больше миллиарда - ограничение такое сделал ещё и из-за того, что у меня в /u/e/ теперь unixtime может пролетать и для простоты он у меня определяется как число >=1000000000 что соответствует Sun Sep 09 2001 01:46:40 GMT+0000 (не думаю, что в ii/IDEC когда-либо попадутся сообщения древнее сентября 2001 года)...
--------------------------------------------------------------------------------
subject: Re: spnet проапгрейдился до iii-php v0.9
03.11.2024 05:36
ahamai (blackcat, 2) => m14hRqYHVzKwReODIAqq
Теоретически кто может сконвертить фидошные, с оригинальной датой. Лучше убрать один порядок :)
--------------------------------------------------------------------------------
subject: Re: spnet проапгрейдился до iii-php v0.9
03.11.2024 06:12
shaos (spnet, 2) => x9OAYqAn1r2tOHahnBKM
Это не дата в заголовке сообщения, это дата когда сервер это сообщение принял либо по фетчу, либо по пушу, либо через поинтовый апи, либо путём копирования файлов извне (у меня сейчас - дата модификации файла сообщения). Ясно понятно, что 2001 год там быть не может. Да и в заголовке старая дата как бы не должна быть т.к. это timestamp проставляемый сервером при конвертировании ii сообщения из поинтового в сохранённое, чего никак не могло произойти раньше 2014 года...
--------------------------------------------------------------------------------
subject: Re: spnet проапгрейдился до iii-php v0.9
03.11.2024 06:15
shaos (spnet, 2) => sylP4wPyy22HeJA6MeLT
И потом этот unixtime используется для отрезания сообщений в /u/e - типа дай мне всё что новее, а это обычно прям щас, не в прошлом
--------------------------------------------------------------------------------
subject: Re: spnet проапгрейдился до iii-php v0.9
03.11.2024 08:26
shaos (spnet, 2) => m14hRqYHVzKwReODIAqq
Тут ещё такой момент есть - ii-php со стародавних времён накладывает блеклистовый фильтр уже после того, как слайсы посчитаны и выходной список софрмирован, т.е. например если последнее сообщение в эхе заблеклисчено, то -1:1 вернёт ничего. По идее это решается административно путём принятия за правило никогда не блеклистить последнее сообщение в эхе - пусть оно немного "полежит" :)
А так надо быть готовым к тому, что запросив у меня скажем -10:10 можно получить в ответ только 9 сообщений...
--------------------------------------------------------------------------------
subject: Re: spnet проапгрейдился до iii-php v0.9
03.11.2024 09:20
ahamai (blackcat, 2) => 4e44oq886Pr6iXzjAq83
вообще изначально большие блеклисты не имели смысла - сисопы блеклистили, потом вычищали у себя из баз, а потом и снова удаляли из блеклистов. щас я так понимаю каждый свой блеклист ведёт :) раньше он был фактически общий
--------------------------------------------------------------------------------
subject: Re: spnet проапгрейдился до iii-php v0.9
03.11.2024 09:35
hugeping (ping,1) => 4e44oq886Pr6iXzjAq83
shaos> А так надо быть готовым к тому, что запросив у меня скажем -10:10 можно получить в ответ только 9 сообщений...
Интересно. Мой вариант фетча с пробами по -N:1 вроде бы устойчив к такому поведению. Вот если сразу 16 заблеклистишь последних, тогда будут проблемы :)
--------------------------------------------------------------------------------
subject: Re: spnet проапгрейдился до iii-php v0.9
03.11.2024 09:39
ahamai (blackcat, 2) => sylP4wPyy22HeJA6MeLT
люблю оптимизм. :) будем ждать первую эху с миллиардом сообщений
--------------------------------------------------------------------------------