RSS
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
[>] Re: Битые сообщения от revoltech
idec.talks
hugeping(ping,1) — shaos
2024-10-23 00:14:21


shaos> Видимо ii-php изначально был хорош в валидации входящих сообщений…

Он вообще неплохо выглядит.А меня "поломали" \r в строке со статусом. Та что первая. :( Ну ничего, был повод дописать...

[>] Re: ловите теперь спам и набеги :)
idec.talks
hugeping(ping,1) — shaos
2024-10-23 00:26:41


shaos> Я вот не пишу свою ноду - я взялся старый добрый ii-php модернизировать :)

Все впереди. Я тоже начинал с модернизации "таверны". И, кстати, довольно сильно ее поменял. Даже баги фиксил и вроде бы многопоточной делал. Хотя не помню точно. Но потом все-таки своё начал. :)

P.S. Edited: 2024-10-22 21:42:28

[>] Re: ловите теперь спам и набеги :)
idec.talks
hugeping(ping,1) — iiii
2024-10-23 01:04:42


iiii> меня не фечьте, у меня тока для экспериментов станция

Эх, и тут ii.blcat.ru лёг... :(

[>] Re: ловите теперь спам и набеги :)
idec.talks
hugeping(ping,1) — doesnm
2024-10-23 11:35:12


doesnm> Создал у hugeping на кастом почту.

Одобрил.

[>] Re: ловите теперь спам и набеги :)
idec.talks
hugeping(ping,1) — doesnm
2024-10-23 14:36:08


doesnm>>> Создал у hugeping на кастом почту.
hugeping>> Одобрил.

doesnm> Пытался отправить сообщение, но при синке написало "Access denied"
doesnm> в веб с того же пароля зашло. Хм?

Возможно, баг.. а в какую эху слал? буду дома попробую поизучать. В клиента в качестве auth что вбито? Надо не пароль а то что в authstr в профиле.

[>] Re: ловите теперь спам и набеги :)
idec.talks
hugeping(ping,1) — doesnm
2024-10-23 15:19:17


doesnm> Пытался отправить сообщение, но при синке написало "Access denied"
doesnm> в веб с того же пароля зашло. Хм?

Короче, пока гипотеза такая. Ты взял пароль, а не строку auth. Если это так, то просто зайди в вебе https://club.hugeping.ru/profile и скопируй Auth строку себе в цезий.

Если не это, то мне нужно воспроизвести и проверить. Вообще, конечно, всё должно работать. Цезием я сам пользовался как и андроид клиентом. Но не исключено, что что-нибудь сломалось, нужно проверить. В общем, жду ответа на гипотезу пока.

P.S. Где-там сейчас исходники цезия лежат?

[>] Re: ловите теперь спам и набеги :)
idec.talks
hugeping(ping,1) — doesnm
2024-10-23 18:43:04


doesnm> Я ввел пароль как auth ибо так в tgi xD. Ладно, сейчас проверю

Ну как? :)

[>] Re: ловите теперь спам и набеги :)
idec.talks
hugeping(ping,1) — doesnm
2024-10-23 20:52:25


doesnm> Заработало, я же отправил 2 сообщения (одно из них ii://x6bM3GKw37Av7THRAT2E)

А, ну отлично! Я просто думал это через веб. Насчёт размера хеша, фиг знает. Надо подумать. Может быть проще будет добавить тайм-аут на подбор пароля.

[>] Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — shaos
2024-10-24 10:55:33


В ii-go примерно так и сделано:

1. Только эхи которые есть в list.txt допустимы.

2. Есть скрытые эхи (начинаются с точки) но они используются для личных сообщений. На ii-go она одна. .private

3. В list.txt можно настроить:
- возможность писать сообщения в конкретную эху вообще (readonly);
- возможность писать в определенные эхи определенным поинтам и/или комментировать существующие записи.

[>] Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — shaos
2024-10-24 11:57:18


shaos> И как в list.txt это будет выглядеть? Сейчас я смотрю list.txt вполне обычный у hugeping.tk

Потому что наружу я показываю то, что соответствует стандарту. list.txt в данном случае это не файл, а ответ на get запрос.

А формат файла описан в доке на ii-go. На github.

[>] Re: ловите теперь спам и набеги :)
idec.talks
hugeping(ping,1) — iiii
2024-10-24 12:01:24


iiii> Ссылки кривые, ничо не понял

Ссылки нормальные, видимо на твоей ноде парсер ссылок не справился.

[>] Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — revoltech
2024-10-24 12:51:25


revoltech> Зачем её убирать, в принципе? Всё равно скрытые эхи в общем списке не видны. Неплохая же блог-платформа выходит. И да, мне как раз эта идея в изначальной документации понравилась тоже.

Я могу сказать зачем я её убрал.

1) Легко атаковать. Генерится кучу сообщений с левыми эхами и забиваем базу. При этом админ этого не видит. А если видит, то получается "личные сообщения" перестают быть личными.

2) С точки зрения соблюдения законов. Я никогда не позиционировал свою ноду как "анархию". Ответственность за контент несёт админ. Если выясняется, что станция используется, например, для торговли в даркнете, то.... В общем, лучше пусть всё будет открыто и прозрачно. Фидо, кстати, тоже не было "анархией". Скорее наоборот.

[>] Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — shaos
2024-10-24 12:53:03


shaos> Надо придумать простой способ указания прав доступа к эхам - типа
shaos> - кто может создавать сообщения (список поинтов либо все);
shaos> - кто может комментировать уже существующие сообщения (список поинтов либо все).

Примерно так у меня и сделано. Ну, чуть попроще. Например, в hugeping блоге создавать записи могу только я, а комментировать - все. При фетче это, конечно, тоже учитывается.

[>] Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — doesnm
2024-10-24 13:03:44


doesnm> Емнип блоги хоть и есть в IDEC (hugeping, tgi, difrex), но изначально они не задумывались ибо "ты подписываешься не на человека, а на контент"

Да, именно. На самом деле станция ping скорее исключение. В первую очередь я решал свои "шкурные" интересы. Один источник данных для всей сетевой активности. И это в принципе получилось. С моей ноды идут сообщения в gemini, блог ( https://hugeping.ru ) и раньше шли ещё в твиттеры, телеграмм итд. При этом весь "контент" локализован одним текстовым файлом. Мне это нравится! То, что кроме всего этого можно обмениваться сообщениями - дополнительный профит. :)

[>] Re: Ответ на всё сразу
idec.talks
hugeping(ping,1) — revoltech
2024-10-24 14:50:52


revoltech> Так, ладно, раз уж диалог завязался (и спасибо за такой тёплый, хоть и, хм, своеобразный приём), выскажу наконец свои основные мысли по поводу этого всего.

Насчёт приёма, не понимаю твоих намёков. Пиши конкретней. С моей стороны выглядит примерно так:

1) Сначала прислал мне пустое письмо (я решил, что автоматика). Весь анонимизированный.
2) Не ответил на мой вежливый вопрос письмом же (где я пояснил свой интерес тем, что на станцию совершались набеги в прошлом)
3) потом создал сообщение "/?" на tgstation.ru.
4) Я снял фетч и сообщил о своих подозрениях в эхе :)
5) Потом ты послал битые сообщения.

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

revoltech> 1. Да, я — любитель спутниковых каналов связи, тора, анонимности, анархии и всего того, что у вас здесь, видимо, принято относить ко списку смертных грехов

Пиши конкретней. Не у вас, а у тебя - hugeping. :) Да, я отрицательно отношусь к такому явлению, когда открытые проекты для связи типа тех же irc, jabber, gemini итд воспринимаются лишь с точки зрения анонимности и приватности и тем самым привлекают массу контингента который создают контент, который меня не интересует. Однако, это не влияет на мою политику по отношению к участникам сети, пока они не начинают "сорить" на моей станции.

revoltech> 2. Официальная документация ii/IDEC вроде и подробна, но написана так, что некоторые вещи либо неочевидны, либо их надо додумывать самостоятельно. Например, касательно разделителя строк. На момент написания мной этого поста в доках НИГДЕ не указано, что разделитель строк в теле сообщения — строго \n. Это явно указано только для формата бандла:

Согласен. Я даже в итоге не понял как лучше это "исправить". Сейчас я режу '\r' просто.

revoltech> Ребят, валидация входящих данных — это БАЗОВЫЙ принцип безопасности.

А с этим я не спорил. В плане именно безопасности проблемы не было, проблему больше доставили сообщения с битым repto -- они создали много топиков из одного сообщения. То-есть, это что то вроде дефейсинга. Так то, спасибо за тестинг. :)

revoltech> 3. Надо бы как-то придумать, как оптимизировать фетчинг.

Посмотри как сделан фетчинг в ii-go. Он адаптивный.

revoltech> Спасибо за внимание.

Заходи, если что. :)

[>] Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — tuple
2024-10-24 14:59:31


AL>> Может, вам проще взять phpbb? Зачем портить такую замечательную и простую вещь, как ii/idec?

tuple> Вот-вот, куда усложнять маленький милый ii/idec? Он хорош таким, каким он есть.

Вот! С моей точки зрения даже idec уже не настолько прост, как ii. И теряет часть его шарма.

Но я всё-таки довёл ii-go до текущего состояния не от хорошей жизни. Надеюсь, что больше не буду усложнять. )

[>] Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — revoltech
2024-10-24 17:18:34


shaos>> И кстати зачем родили IDEC если ii был такой уютненький и самодостаточный? ;)

revoltech> Да вот не знаю, кстати, мне пока что только расширение с list.txt полезным показалось.

Там есть полезная вещь, возможность забирать не все сообщения, а только часть. Например, последние n сообщений. Это позволяет делать фетчинг который не гоняет по интернету всегда полный индекс. Очень сильно снижает количество трафика.

[>] Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — revoltech
2024-10-24 17:54:01


revoltech> Длина ID сообщения — 21 байт (20 на сам ID и один на перевод строки). Это погоды не делает.

Почему не делает? Если каждые 5 минут делать фетч из эх, которые содержат по 10 тысяч сообщений, то как раз делает. Конечно, по современным меркам ~60мб в сутки на 10000 сообщений это вроде бы мелочи, но... Как-то меня такое не вдохновляет. Допустим, сообщений на ноде не 10тыс а 100тыс... Почему нет?

revoltech> В результате при фетче с нуля приходится разбивать каждый список на группы по 12 и выгребать сообщения отдельными запросами. А это не оптимально ни разу.

revoltech> Теперь понятнее?

Мне то понятнее, поэтому я и говорю - посмотри как сделано в ii-go. Там быстрый многопоточный фетчер.

[>] Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — revoltech
2024-10-24 18:08:53


revoltech> Так всё-таки есть стандартный и поддерживаемый вариант, чтобы полный перефетч эхи делался не кучей мелких запросов

Нет. Несколько потоков решают проблему быстрого фетча. А слайсы решают проблему больших индексов.

[>] Re: Ответ на всё сразу
idec.talks
hugeping(ping,1) — shaos
2024-10-25 00:02:21


shaos> Фуф, а я уж думал выяснится, что Лобанов - квадробер :)

Так-так-так... С этого места поподробнее!

+++ отключает фетч с spline-online и настраивает iptables

[>] Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — revoltech
2024-10-25 13:26:47


revoltech> И там AL написал, что POST /u/m не решает ни одной проблемы. Как же не решает, если решает? Вот вам проблема: куча лишних соединений и метаданных

Каких метаданных и почему куча соединений? Если ты работаешь последовательно - то это несколько подряд идущих get запросов, а не куча параллельных соединений. Если же ты хочешь скорости, то да - потоки. Но это вообще говоря две независимые вещи. Например, запуск отдельных фетчеров на каждый узел. И да, многопоточность не связана с наличием свободных процессоров. Там нагрузки практически нет, вопрос не в утилизации мощности вычислительной, а в "съедании" времени ожидания TCP.

[>] Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — revoltech
2024-10-25 13:28:25


revoltech> У пинга понятно, нжинкс и 12 сообщений на запрос максимум.

У меня нет веб сервера. Насчёт 12 сообщений, интересный вопрос. Это проверено? Я посмотрю, может быть это можно настроить в go библиотеке.

[>] Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — hugeping
2024-10-25 13:44:07


revoltech>> У пинга понятно, нжинкс и 12 сообщений на запрос максимум.

hugeping> У меня нет веб сервера. Насчёт 12 сообщений, интересный вопрос. Это проверено? Я посмотрю, может быть это можно настроить в go библиотеке.

В общем, откуда инфа про 12? Запрос ввёл сейчас раза в два больше - не вижу ограничений. Или это опять, поэтическое преувеличение?

[>] Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — revoltech
2024-10-25 14:10:28


revoltech> P.S. Да, ещё раз пардон, перепроверил — то у tgi только 12 сообщений за раз можно выгрести. У остальных 389, у тебя вообще лимит 10000 вроде хавает без проблем. Правда, spline-online не тестил, он и так еле живой сейчас.

Кстати, это соответствует "рекомендованному" буферу в 8к. Как раз ~380 id-шников. 12 сообщений это, конечно, маловато даже по меркам "обычного" веба.

[>] Re: Мея видо?
idec.talks
hugeping(ping,1) — ahamai
2024-10-25 15:09:30


ahamai> видо, видо. влил архив с idec.test, так как не у всех она есть. для истории.

Слушай, ну зачем этот хаос. Я вот осознанно не фетчу idec.test. Без предупреждения.
Снимаю пока фетч и занимаюсь зачисткой.

[>] Re: Мея видо?
idec.talks
hugeping(ping,1) — hugeping
2024-10-25 15:18:40


hugeping> Слушай, ну зачем этот хаос. Я вот осознанно не фетчу idec.test. Без предупреждения.
hugeping> Снимаю пока фетч и занимаюсь зачисткой.

Фух. Зачистил. Оставил только один топик Re: Мея видно? так как он хотя бы с нормальными repto: выстраивается в одну тему.

Вообще, я начал думать что нужны фильтры того, что от кого брать...

[>] Re: Мея видо?
idec.talks
hugeping(ping,1) — hugeping
2024-10-25 15:23:49


Подумал. Да, это ведь действительно потенциальная проблема роста сети.
У нас у всех свои реализации нод. Для меня - куча бессмысленных мелких сообщений - это проблема, так как она нарушает подход "форума". Мусорит и мешает браузить действительно нужный контент.

Если же это ленты как в современных соцсетях - то вроде проблем нет. Идёт поток флуда и всё...

То же касается и сообщений. Дико раздражают сообщения однострочники. Но, у всех своя политика и свои правила. И это всё в целом должно как-то работать....

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

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

[>] Re: Мея видо?
idec.talks
hugeping(ping,1) — ahamai
2024-10-25 15:39:56


ahamai> shaos, проверь repto? если кривые, то вычищаем тему

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

Чистить уже ничего не надо, я заблеклистил это. А на будущее видимо мне все таки придётся писать фильтр на fetch.

[>] Re: Мея видо?
idec.talks
hugeping(ping,1) — ahamai
2024-10-25 15:44:54


ahamai> форвардинг в более подходящую эху - это нормальная фидошная практка.

Я понимаю, тут просто конфликт "философий". Это неизбежно. Ты создаёшь "движуху" ради движухи. Это нормально, но мне эти сообщения о том что там как-то что то работает или не работает, и все эти "меня видо" - не нужны. Они не посвящены никакой теме. В фидо я ценил "тематичность", а не все эти флейм-конференции... Но если в фидо были модераторы, то тут... нет. Если бы я был модератором я бы сказал что есть pipe - пишите туда. Там флейм. А сам бы отписался бы :)

idec.talks вроде бы относится к всему что idec, но это же не тестовые сообщения? Увели беседу в idec.talk - спасибо shaos! А теперь снова вернули и все в помойку... Короче, ладно. Понятно что такие "конфликты" будут всегда. Я сам подумаю над политикой на своей ноде и не буду лезть дальше.

[>] Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — revoltech
2024-10-25 15:55:11


revoltech> 1. Фетчер по server-side слайсу качает 100 последних сообщений вечером.
revoltech> 2. За ночь в эхе появляется 103 сообщения.
revoltech> 3. Фетчер по server-side слайсу качает 100 последних сообщений утром.
revoltech> Вопрос знатокам: увидит ли клиент те несчастные три сообщения?

Я тебе советовал посмотреть как написан фетчер в ii-go. У тебя есть своё понимание, но оно не соответствует тому, как работает адаптивный фетч. Сил объяснять у меня нет. Скажу только, что забор индексов идёт "бинарно" (по одному id) начиная с 1 (2, 4, 8, 16, ...) пока не обнаружим те сообщения, которых у нас нет и тогда мы их все забираем. Ну или если мы дошли до какого-то лимита-ограничения, тогда переходим к старой схеме - забрать все.

[>] Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — revoltech
2024-10-25 16:53:31


AL>> Только если узел, внезапно, пишет в середину индекса, а не только в конец.
revoltech> В общем, я понял, какой алгоритм до меня пытаются донести:

Алгоритм ii-go:

1) если есть поддержка слайсов то используем её. иначе - полный синк
2) n = 1
3) берем /u/e/эха/-n:1
4) это сообщение есть в базе? да - не нужен синк (goto 7)
5) n = n * 2
6) идём на 3
7) забираем сообщения от -n:n

Возможны гонки, например когда сообщение успеет добавиться (в конец) пока мы забираем текущее. Но на следующем fetch мы должны будем это заметить.

[>] Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — hugeping
2024-10-25 17:00:55


hugeping> 2) n = 1

Да, только вот этот шаг настраивается. То-есть там не 1 в реальности, а параметр limit. У меня это что то-вроде 15.

[>] Re: Мея видо?
idec.talks
hugeping(ping,1) — Andrew Lobanov
2024-10-25 17:09:33


AL> Все хотят огородиться от хаоса :)

Я вообще сейчас подумал, наверное для меня лучшим решением было бы иметь две ноды.

1-я -- просто обычная idec нода без наворотов итд. без web морды.
2-я -- ii-go для блога, инстеда итд. с веб мордой

И синкать 2ю с 1й только по тематическим эхам. :) Вообще, надо откатываться к корням... сделать что ли чисто ii ноду... :) Нет, второй раз это не прокатит!

P.S. Когда цезий возродишь? :)

[>] Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — revoltech
2024-10-25 17:48:58


revoltech> А почему бы просто не сравнить результат /x/c с тем количеством, что уже локально скачано?

Потому что в разных нодах могут быть особенности. Например блеклист - учитывается или нет в счётчиках? Нода может не хранить все сообщения, а только часть (последние 10000). Причём это может быть особенность как собственной ноды, так и той ноды с которой мы фетчим. Ну и другие ситуации, которые можно придумать. А хеши - надёжно.

[>] Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — hugeping
2024-10-25 17:50:03


hugeping> Ну и другие ситуации, которые можно придумать. А хеши - надёжно.

Чуть лучше, хранить счётчик на диске для конкретной станции - свой счётчик. Но тоже ненадёжно.

[>] Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — revoltech
2024-10-25 19:00:34


shaos>> в ii-php уменьшается

revoltech> Ну, это печально. Получается, спецификации оно не соблюдает. Соответственно, в клиентах вся завязанная на счётчики логика тоже идёт лесом.

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

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

Конечно, сейчас хочется сказать - а давайте вернёмся и придумаем что-то более простое и надёжное и сделаем что-то среднее между ii и idec... Но боюсь, лишние потрясения нам не к чему.

[>] Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — shaos
2024-10-25 19:03:30


shaos> хотя не - max(index) не будет работать т.к. индекс общий на все эхи
shaos> видимо надо запрещать удалять сообщения физически...

Идея с счётчиками работает ТОЛЬКО в условиях ii. Когда все базы одинаковы. Тогда ничего не надо городить и счётчик - полное число сообщений эхи, включая блеклист. Вот меня тоже давно грызёт мысль что нужно что-то упрощать. Но я боюсь что то менять. :)

[>] Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — doesnm
2024-10-25 19:17:34


doesnm> Работает - не трогай?

Тут скорее боязнь конфликтов и войны "стандартов". Всё-таки, стандартны - вторичны. Первичны - люди. Так то, по мне, нужен откат к идеям ii но с опытом полученным в idec.

И центральный вопрос, конечно, это стандартизованный способ фетча, без необходимости полного сливания индексов и без адаптивного фетча. Но для того чтобы начать думать, предлагать решения и обсуждать их -- нужно желание и осознание "проблемы". А я не уверен, что это случилось. В целом, меня устраивает как всё работает. :)

Ну и не всё так однозначно. Например, нужны слайсы или нет, если проблема фетча будет решена без них? Я бы сказал - не нужны! Но ведь действительно, бездисковый клиент мог бы пользоваться слайсами для "браузинга" сообщений! Так что рубить с плеча не стоит.
P.S. Edited: 2024-10-25 16:18:07

[>] Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — hugeping
2024-10-25 19:32:06


Я тут подумал и понял, что не могу предложить никакого другого варианта фетчинга. Кроме того, что сделал в ii-go (на основе слайсов). Опишу варианты, которые рассматривал.

1) Вариант с запросом "дай мне все, что позже такого-то хеша" не сработает так как порядок сообщений в базе может быть разным;

2) Вариант с хешом эхи как индикатором изменений - не решает проблему забирать не всё, а только часть. Да и предполагает хранить на диске или в базе последний хеш;

3) Вариант "дай мне всё, что пришло после такого-то времени", возможно, самый интересный. Но уже накладывает ограничения: синхронное время, необходимость делать выборку по времени итд

4) Вариант возвращать список id в обратном порядке. Идея в том что если я получаю список в обратном порядке я могу закрыть соединение в тот момент когда мне уже больше не надо. :) Но, как-то на хак похоже. А как вам? Не знаю... Нет красоты.

Получается, ничего проще слайсов и не сделать? :)

[>] Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — hugeping
2024-10-25 19:34:09


hugeping> Я тут подумал и понял, что не могу предложить никакого другого варианта фетчинга. Кроме того, что сделал в ii-go (на основе слайсов). Опишу варианты, которые рассматривал.

hugeping> 1) Вариант с запросом "дай мне все, что позже такого-то хеша" не сработает так как порядок сообщений в базе может быть разным;

Хотя, сработает. Если брать с разумным "запасом" на самом деле... Правда опять вопросы с блеклистами и удалениями могут быть.

[>] Re: Стандарт
idec.talks
hugeping(ping,1) — Andrew Lobanov
2024-10-25 21:34:43


AL> Итак, меня тут назначили главным по стандарту. Моё предложение такое: убрать фреки, убрать фэхи, убрать счётчики

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

1) получили счётчики
2) нарисовали пагинатор
3) по мере "листания" пользователя - проходим сообщения слайсами

Если убрать x/c то будет неполнота. Короче я за то, чтобы счётчики стали настоящими.

P.S. Хотя у нас есть list.txt где эти счётчики тоже присутствуют, но их надо парсить....

[>] Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — ahamai
2024-10-25 21:47:45


ahamai> Зачем столько запросов? Это и лишняя нагрузка на сервер, и лишний трафик (хедеры, все дела).

Напиши конкретный алгоритм, я не понял твоё предложение.
Начинаю я с -16:1 - я там выше написал что лимит это параметр. В описании алгоритма я для понятности задал его в 1, но в быту мы начинаем не с 1. И обычно, если сообщений < 16 новых это единственный запрос. Если нет, будет -32:1, потом -64:1....

[>] Re: Стандарт
idec.talks
hugeping(ping,1) — ahamai
2024-10-25 21:51:09


ahamai> предлагаю включить в стандарт возможность исполнения list.txt?h=1

А что это значит, напомни?

[>] Re: Мея видо?
idec.talks
hugeping(ping,1) — ahamai
2024-10-25 21:53:47


ahamai> кстати, а зачем ты меня вообще фетчишь? :) мой аплинк shaos, мы меняемся с ним трафиком, и уже от него по идее он должен попадать в остальную сеть. типа чтобы сообщения быстрее доходили?

Я и не фетчу (пока). Я тебе писал как к автору инициативы форвардить из теста в talks. :)

[>] Re: Мея видо?
idec.talks
hugeping(ping,1) — ahamai
2024-10-25 22:01:24


ahamai> открыл в lynx, попытался перейти в веб, пишет "ошибка документа"

А я хотел заценить твой гемини и... лежит... :(

[>] Re: Стандарт
idec.talks
hugeping(ping,1) — shaos
2024-10-25 23:06:11


shaos> Даже пример реализации пролетал :)

Мне идея хешей эх не нравится. Придётся хранить состояние последнее на диске при фетче. Теряется эстетика простоты. Кроме того, сплайсы и так решают эту проблему (но более элегантно). В общем я понял, стандарт лучше не трогать!

[>] Re: Мея видо?
idec.talks
hugeping(ping,1) — ahamai
2024-10-25 23:07:16


ahamai> я даже не помнил, как сервер называется :) gmid оказывается, нашёл, включил

Ну то есть это будет заброшено при первом же ребуте сервера? Ок, тогда не буду пока добавлять в ссылки на своей капсуле.

[>] Re: Стандарт
idec.talks
hugeping(ping,1) — Andrew Lobanov
2024-10-27 12:02:08


Тут опять хаос с топиками. Я буду всегда отвечать в топике "Стандарт" для порядка. Появились такие мысли:

1) Хеши в list.txt мне не нравятся потому, что list.txt на данный момент не является обязательным и выглядит как просто информационный. Почему бы, если уж делать хеши эх, не сделать что-то вроде /u/h/ ? Использование хешей именно в list.txt да ещё и в позициях дескрипшена - выглядит как хак.

2) x/c считаю должен отражать реальный счётчик сообщений для просмотра "на лету" совместно со слайсами. Либо да, убирать и слайсы и x/c

3) Редактирование сообщений это не только "в последний момент" поменять что-то. Это вполне себе необходимая вещь, если мы рассматриваем idec не просто как болталку. Например, есть статья я её редактирую. Ссылка на статью должна быть постоянной... Для контента это важно.

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

MsgId делится на две части. 1-я - собственно ID (изначально считается как хеш) и счётчик изменений, который всегда увеличивается на 1. Гарантируется что в базе ID всегда уникальны и у нас нет двух сообщений с одинаковым ID, но разными счётчиками. При работе с сообщениями в системе мы в целом пользуемся ID, а счётчик изменений используем при фетче если нужно "обновить" отредактированное сообщение.

Ну что то вроде: IIIIIIIIIIIIIIIIrrrr. I - хеш, rrrr - закодированный номер изменений. А может и не закодированный а прямо: 1t0CZs5lzqVxsoht0001

Да, хеш тут условный, это просто ID сообщения, не обязан совпадать при перерасчёте (он и не будет).

[>] Re: Стандарт
idec.talks
hugeping(ping,1) — hugeping
2024-10-27 12:08:40


hugeping> Да, хеш тут условный, это просто ID сообщения, не обязан совпадать при перерасчёте (он и не будет).

Да, если это прям режет глаз. То можно делать не хеш сообщения. Любой алгоритм генерации uuid. Например, хеш от времени в мс + имя системы...

P.S. Edited: 2024-10-27 08:08:47

[>] Re: Стандарт
idec.talks
hugeping(ping,1) — shaos
2024-10-27 13:38:33


shaos> тогда msgid будет решать только задачу идентификации сообщения уникальным образом и больше никакую другую

Собственно, для этого msgid и нужен. Если ты хочешь на него нагрузить что-то ещё "для красоты", то да, не будет работать редактирование, как минимум. Я понял, что у нас тут разные стремления. Но может быть лучше сделать базовую технологию обмена, а подлинность целостность - это отдельно? Без возможности редактирования сообщений мне ii-go бесполезен. Я ведь использую его для создания заметок. У меня даже резюме лежит на нём. :)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16