← Timeline
Avatar placeholder
tigra
(updated )
Re: Re: Re: Лента новостей (или не лента)

Reply to the post by @lamed:

Ответ @tigra на пост:

  • Неочевидно, что должно существовать "копирование" отдельно от "репоста" (т.е. , со своим текстом-дополнением). Возможно, "копирование" - просто частный случай репоста с пустым телом поста репостера?

Разница между копированием и репостом именно в том, что репост создает новую сущность: новый пост у другого автора. К нему можно отдельно писать комменты и все такое прочее.

Например, моя френдлента - это лента, в которую автоматически копируются посты из лент, на которые я подписан. Было бы странно, если бы пост во френдленте был отдельной сущностью, с комментами, которые не появляются под оригинальным постом Аналогично - лента "Read Later".

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

Если исходный автор удаляёт свой пост - копия остаётся у репостеров?

О, это отличный вопрос. А если он его изменяет, копия изменяется?

Как я отметил в описании, все посты во френдленте (и вообще в любой ленте) копируются на домашнюю ноду. Собирать их при каждом запросе с десятков разных нод было бы неэффективно. Аналогично репосты содержат копию оригинального поста. Чтобы узнавать об изменениях, домашняя нода подписывается на уведомления от ноды-источника поста. А дальше все зависит от настроек домашней ноды. Если оригинальный пост удален, кэшированную копию тоже можно удалить. А можно просто скрыть. Или вообще проигнорировать уведомление об удалении.

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

В целом мы не можем регулировать поведение отдельной ноды. Даже если что-то вшить в код ноды, кто-то может изменить это поведение на своей ноде.

Но могут быть некие "контракты" касательно поведения, которое ожидается от ноды, в случае отклонения от которого другие ноды применяют к ней какие-то санкции.

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

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

И может иметь смысл продумать некие варианты таких контрактов, чтобы можно было представить их пользователям в понятном однозначно интерпретируемом виде, а не только в виде "конструктора".

Вся дискуссия о многоленточности (Update: добавил твой пост и мой ответ туда)

💡👍2
To react or comment  View in Web Client