Сообщения в Стандарт

Re: Стандарт

Ответ на сообщение
hugeping> Да, я там сделал попытку предложить что-то (как мысленный эксперимент): ii://sZbskcy7huzEVJlsSDIF
hugeping> Вроде в таком варианте новые версии сообщения будут распространяться.
То-есть, основные мысли:
1) если видим что что-то на станции в этой эхе поменялось - всегда делаем полный фетч (адаптивный фетч в топку)
2) во время фетча учитываем не только id, но и ревизию сообщения. Всё это для простоты может быть частью msgid (но может и не быть)
hugeping to hugeping (2024-10-27 11:28:26) [ссылка]

Re: Стандарт

Ответ на сообщение
лучше версионность делать иными средствами имхо - поверх и сбоку т.к. оно будет нужно только для очень особенного типа сообщений - формирователей контента (я тоже недавно думал про что-то такое для управлением статическим веб-сайтом, который строится из кирпичиков, которые засылаются через ii)
shaos to hugeping (2024-10-27 11:38:52) [ссылка]

Re: Стандарт

Ответ на сообщение
> Для слайсов количество вообще не обязательно.
т.е. ты предлагаешь каждый раз дёргать каждую эху с параметрами -1:1 чисто на всякий случай? ;)
> А какой смысл в этом многообразии?
эдакий A/B тест - кто что больше будет использовать, то прилипшим к стене и останется :)
shaos to Andrew Lobanov (2024-10-27 11:42:40) [ссылка]

Re: Стандарт

Ответ на сообщение
shaos> лучше версионность делать иными средствами имхо - поверх и сбоку
Вот и проверку подлинности можно поверх и сборку. :)

Кроме шуток, да, я думал о "сбоку". Но тогда, получается, мы должны сначала получить id сообщений эхи. А потом, ревизии но в полном соответствии с id. И тогда непонятно вообще зачем 1й вызов? Ну то-есть оно может быть сбоку, да, но ответ всё равно будет включать в себя и id и rev. Ну например:

JOHemYNZRC8Uo9QwAYQU:1

Мне кажется редактирование сообщений неплохо в "базе" иметь, всё-таки.
> т.к. оно будет нужно только для очень особенного типа сообщений
Понимаешь, у всех у нас своё "особенное" понимание. Я считаю что ii следует понимать просто как распространение текстовых сообщений. Что ИМЕННО в этих текстовых сообщениях - не наше дело. Кто-то считает, что это "мессенджер", кто-то - форум, а кто-то в блогах пишет....
hugeping to shaos (2024-10-27 11:47:30) [ссылка]

Re: Стандарт

Ответ на сообщение
hugeping> JOHemYNZRC8Uo9QwAYQU:1
Тогда такой вариант. Всё как было, но если сообщение отредактировано то в u/e/ придёт вот такая строка с доп ревизией (после :). Эту ревизию можно зашивать в теги самого сообщения и хранить в базе.
hugeping to hugeping (2024-10-27 11:49:45) [ссылка]

Re: Стандарт

Ответ на сообщение
hugeping>> JOHemYNZRC8Uo9QwAYQU:1
hugeping> Тогда такой вариант. Всё как было, но если сообщение отредактировано то в u/e/ придёт вот такая строка с доп ревизией (после :). Эту ревизию можно зашивать в теги самого сообщения и хранить в базе.
Гм. На практике, редактирование сообщения - добавление новой записи в бд. Так что тут не все так просто.
hugeping to hugeping (2024-10-27 12:34:00) [ссылка]

Re: Стандарт

Ответ на сообщение
hugeping>>> JOHemYNZRC8Uo9QwAYQU:1
hugeping>> Тогда такой вариант. Всё как было, но если сообщение отредактировано то в u/e/ придёт вот такая строка с доп ревизией (после :). Эту ревизию можно зашивать в теги самого сообщения и хранить в базе.
hugeping> Гм. На практике, редактирование сообщения - добавление новой записи в бд. Так что тут не все так просто.
Да нет, вроде нормально... Редактирование сообщения - это выпуск msgid с новым полем rev. Это на усмотрение ноды как именно отразить это в бд. В ii-go это дописывание новой инфы которая "перекрывает" старую. В sql это может быть тупо запись в бд. Требовать чтобы запись добавилась в конец запроса u/e наверное нецелесообразно.
hugeping to hugeping (2024-10-27 12:39:40) [ссылка]

Re: Стандарт

Ответ на сообщение
> Понимаешь, у всех у нас своё "особенное" понимание. Я считаю что ii следует понимать просто как распространение текстовых сообщений. Что ИМЕННО в этих текстовых сообщениях - не наше дело. Кто-то считает, что это "мессенджер", кто-то - форум, а кто-то в блогах пишет....
Ну вот поэтому все редакции "особых" сообщений должны идти как отдельные записи в списке хешей (причём корректно посчитанных) - протокол ii будет честно доставлять их все (вдруг мы захотим откатиться), НО отдельно могут идти системные сообщения для некоей CMS внутри которых неким айдишникам кирпичиков (которые не меняются) будут ставится в соответствие хэши новых редакций - вобщем как-то так
shaos to hugeping (2024-10-27 13:14:37) [ссылка]

Re: Стандарт

Ответ на сообщение
Всё сделал - проверяй :)
shaos to ahamai (2024-10-27 13:24:27) [ссылка]

Re: Стандарт

Ответ на сообщение
shaos> Ну вот поэтому все редакции "особых" сообщений должны идти как отдельные записи в списке хешей
Это слишком сложно и нецельно. Ладно, я тогда не буду развивать тему. Существующий стандарт хотя бы какая-то твердая почва
hugeping to shaos (2024-10-27 13:31:24) [ссылка]

Re: Стандарт

Ответ на сообщение
>> Не в первый и, думаю, не в последний раз, кого-то посещают мысли об нецелевом использовании идентификаторов.
shaos> И каждый раз приходит суровый Andrew Lobanov и ставит фантазёров на место :)
Да я что? Я ничего. Так, погулять вышел. Просто надо сильно всех загонять в рамки и часть узлов просто отвалится.
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
Andrew Lobanov to shaos (2024-10-27 16:53:34) [ссылка]

Re: Стандарт

Ответ на сообщение
>> Для слайсов количество вообще не обязательно.
shaos> т.е. ты предлагаешь каждый раз дёргать каждую эху с параметрами -1:1 чисто на всякий случай? ;)
Да. Не вижу проблемы. Разве что подключения платные и их приходится экономить :)
>> А какой смысл в этом многообразии?
shaos> эдакий A/B тест - кто что больше будет использовать, то прилипшим к стене и останется :)
Ну тоже вариант. Но на нашей выборке не сработает, скорее всего. Делай как удобнее будет тебе и всего делов :)
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
Andrew Lobanov to shaos (2024-10-27 16:53:35) [ссылка]

Re: Стандарт

Ответ на сообщение
AL> Итак, меня тут назначили главным по стандарту. Моё предложение такое: убрать фреки, убрать фэхи, убрать счётчики, оставить только e/, m/, u/e (со слайсами), u/m, u/point, u/push, list.txt, blacklist.txt. Остальное выпилить нафиг.
А ты знаешь, подумал... Вообще, мне нравится. Без x/c можно жить, тем более если list.txt в базе будет.
hugeping to Andrew Lobanov (2024-10-27 17:20:04) [ссылка]

Re: Стандарт

Ответ на сообщение
AL>> Итак, меня тут назначили главным по стандарту. Моё предложение такое: убрать фреки, убрать фэхи, убрать счётчики, оставить только e/, m/, u/e (со слайсами), u/m, u/point, u/push, list.txt, blacklist.txt. Остальное выпилить нафиг.
hugeping> А ты знаешь, подумал... Вообще, мне нравится. Без x/c можно жить, тем более если list.txt в базе будет.
В list.txt счётчик может убывать.
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
Andrew Lobanov to hugeping (2024-10-28 05:34:28) [ссылка]

Re: Стандарт

Ответ на сообщение
Накинул приблизительный черновик стандарта.

http://s.spline-online.ru/idec.html

Просьба посмотреть на предмет неоднозначностей и непонятностей. Постарался учесть всё, что мы тут обсуждали.
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
Andrew Lobanov to Andrew Lobanov (2024-10-28 08:54:17) [ссылка]

Re: Стандарт

Ответ на сообщение
AL> Накинул приблизительный черновик стандарта.
AL> http://s.spline-online.ru/idec.html
AL> Просьба посмотреть на предмет неоднозначностей и непонятностей. Постарался учесть всё, что мы тут обсуждали.
Отличия от ii только в имени эх? Просто на глаз по памяти ничего другого не заметил
+++ Никто не знает, как правильно. Так зачем же выдумывать правила?
doesnm to Andrew Lobanov (2024-10-28 09:27:36) [ссылка]

Re: Стандарт

Ответ на сообщение
AL> Накинул приблизительный черновик стандарта.
AL>
AL> http://s.spline-online.ru/idec.html
AL>
AL> Просьба посмотреть на предмет неоднозначностей и непонятностей. Постарался учесть всё, что мы тут обсуждали.
Выглядит неплохо. Но несколько моментов:

1) было бы неплохо уточнить символ переноса строки;
2) было бы неплохо уточнить для непосвящённых, что такое аплинки и даунлинки;
3) в старом стандарте указано, что для постинга именно через GET /u/point поле tmsg должно быть закодировано не просто в Base64, а в Base64-urlsafe. В новом стандарте это требование убирается или как?
revoltech to Andrew Lobanov (2024-10-28 09:30:13) [ссылка]

Re: Стандарт

Ответ на сообщение
doesnm> Отличия от ii только в имени эх?
И в слайсах.
revoltech to doesnm (2024-10-28 09:35:21) [ссылка]

Re: Стандарт

Ответ на сообщение
AL>> Накинул приблизительный черновик стандарта.
AL>> http://s.spline-online.ru/idec.html
AL>> Просьба посмотреть на предмет неоднозначностей и непонятностей. Постарался учесть всё, что мы тут обсуждали.
doesnm> Отличия от ii только в имени эх? Просто на глаз по памяти ничего другого не заметил
Имена эх ничем не отличаются от ii-шных. Там ничем они не ограничивались фактически. Так что только слайсами отличается. Остальное шелуха :)
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
Andrew Lobanov to doesnm (2024-10-28 09:54:49) [ссылка]

Re: Стандарт

Ответ на сообщение
AL>> Накинул приблизительный черновик стандарта.
AL>>
AL>> http://s.spline-online.ru/idec.html
AL>>
AL>> Просьба посмотреть на предмет неоднозначностей и непонятностей. Постарался учесть всё, что мы тут обсуждали.
revoltech> Выглядит неплохо. Но несколько моментов:
revoltech> 1) было бы неплохо уточнить символ переноса строки;
Всё ещё не считаю это задачей стандарта. Мы передаём текст. Любой. Хотя, если большинство согласится, что нам нужно это стандартизировать, соглашусь.
revoltech> 2) было бы неплохо уточнить для непосвящённых, что такое аплинки и даунлинки;
Я думаю, что надо сделать словарик. Но не хочу пихать его непосредственно в стандарт.
revoltech> 3) в старом стандарте указано, что для постинга именно через GET /u/point поле tmsg должно быть закодировано не просто в Base64, а в Base64-urlsafe. В новом стандарте это требование убирается или как?
Безоговорочно принимается. Требование остаётся.
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
Andrew Lobanov to revoltech (2024-10-28 10:18:04) [ссылка]

Re: Стандарт

Ответ на сообщение
doesnm>> Отличия от ii только в имени эх?
revoltech> И в слайсах.
Может я слепой, но по ссылке не нашел упоминания слайсов
+++ Никто не знает, как правильно. Так зачем же выдумывать правила?
doesnm to revoltech (2024-10-28 10:49:25) [ссылка]

Re: Стандарт

Ответ на сообщение
doesnm>>> Отличия от ii только в имени эх?
revoltech>> И в слайсах.
doesnm> Может я слепой, но по ссылке не нашел упоминания слайсов
2.3 /u/e/
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
Andrew Lobanov to doesnm (2024-10-28 11:31:29) [ссылка]

Re: Стандарт

Ответ на сообщение
AL> Всё ещё не считаю это задачей стандарта. Мы передаём текст. Любой. Хотя, если большинство согласится, что нам нужно это стандартизировать, соглашусь.
А как же интероперабельность? Вот, допустим, человек решил написать клиента под старый Макинтош. Очень старый, ещё на процессоре архитектуры 68k, где ещё MacTCP отдельным пакетом шёл. Знаешь, какой на тех макосях тогда был стандартный символ перевода строки? Не LF и даже не CRLF, а именно CR. И как, будет тот клиент работать с существующими нодами, если стандарт не уточнит этот момент?
revoltech to Andrew Lobanov (2024-10-28 15:30:41) [ссылка]

Re: Стандарт

Ответ на сообщение
AL>> Всё ещё не считаю это задачей стандарта. Мы передаём текст. Любой. Хотя, если большинство согласится, что нам нужно это стандартизировать, соглашусь.
revoltech> А как же интероперабельность? Вот, допустим, человек решил написать клиента под старый Макинтош. Очень старый, ещё на процессоре архитектуры 68k, где ещё MacTCP отдельным пакетом шёл. Знаешь, какой на тех макосях тогда был стандартный символ перевода строки? Не LF и даже не CRLF, а именно CR. И как, будет тот клиент работать с существующими нодами, если стандарт не уточнит этот момент?
Принимается. Укажу конкретный символ тогда.
+++ Caesium/0.4 RC1
Andrew Lobanov to revoltech (2024-10-28 16:30:48) [ссылка]

Re: Стандарт

Ответ на сообщение
Ну можно написать, что принимаем любой текст, но сохраняем только с \n (и сервер считает хеш уже по сконверченному тексту)
shaos to revoltech (2024-10-28 17:04:11) [ссылка]

Re: Стандарт

Ответ на сообщение
shaos> Ну можно написать, что принимаем любой текст, но сохраняем только с \n (и сервер считает хеш уже по сконверченному тексту)
Это усложнит логику сервера и, что важнее, замедлит обработку постов.
revoltech to shaos (2024-10-28 17:10:34) [ссылка]

Re: Стандарт

Ответ на сообщение
Внёс правки по итогам замечаний и предложений. URL тот же: http://s.spline-online.ru/idec.html

Словарик будет отдельным документом.

Какие-либо ещё замечания и предложения будут?

PS: Перед окончательной публикацией дождусь реакции hugeping.
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
Andrew Lobanov to All (2024-10-28 17:17:14) [ссылка]

Re: Стандарт

Ответ на сообщение
Что значит усложнит? Валидацию входящего в любом случае надо делать - вот вместе с валидацией и делать конверсию если надо
shaos to revoltech (2024-10-28 17:27:57) [ссылка]

Re: Стандарт

Ответ на сообщение
shaos> Что значит усложнит? Валидацию входящего в любом случае надо делать - вот вместе с валидацией и делать конверсию если надо
Ну то и значит, что валидация требует одни ресурсы, а конверсия — уже другие. Вот как раз нужно или не нужно делать конверсию — это уже дело конкретной станции. Например, с \r\n можно обрезать \r, а только с \r уже не принимать.
revoltech to shaos (2024-10-28 17:31:43) [ссылка]

Re: Стандарт

Ответ на сообщение
Это всё делается в одной функции
shaos to revoltech (2024-10-28 18:29:46) [ссылка]