Fediverse Enhancement Proposals

# Поддерживаемые нами FEP

FEP (Fediverse Enhancement Proposals) это общие договорённости о том, как приложения ActivityPub работают с определёнными вещами. Здесь каждый из поддерживаемых нами FEP, насколько полно мы его поддерживаем, и ссылка на полное предложение.

В будущем мы планируем выпустить Welley с открытым исходным кодом. Дата выпуска и лицензия пока не объявлены.

-   FEP-044f
    
    ## Цитирующие публикации с учётом согласия
    
    Авторы могут решать, можно ли цитировать их публикации на других серверах.
    
    Welley поддерживает запросы на цитирование, проверки авторизации, принятие, отклонение и отзыв.
    
    -   Welley отправляет и принимает активности QuoteRequest и обрабатывает принятие или отклонение запроса.
    -   Штампы авторизации цитирования позволяют принимающим серверам проверить, что автор согласился.
    -   Отзыв отменяет разрешение на цитату, которое автор дал раньше.
    
    Чтобы это работало так же, другим серверам нужен протокол согласия. Простая ссылка или более старое расширение для цитат не показывает, что автор согласился.
    
    [Читать предложение](https://codeberg.org/fediverse/fep/src/branch/main/fep/044f/fep-044f.md) [Поделиться или процитировать](https://welley.com/ru/posts/repost-and-quote/)
    
-   FEP-1311
    
    ## Медиавложения
    
    Welley отправляет и принимает медиавложения и умеет читать несколько версий одного файла.
    
    Welley поддерживает обмен вложениями и чтение вариантов. Некоторые рекомендации и формы вывода поддерживаются в меньшей степени.
    
    -   Welley принимает один URL медиа или типизированный массив ссылок на медиа.
    -   Он может использовать варианты размеров и изображения предпросмотра из удалённых вложений.
    -   Для отправки массивов URL с несколькими вариантами нужен флаг конфигурации, и по умолчанию он выключен.
    
    Welley не реализует предложение целиком. В частности, он не обрабатывает digestMultibase, а для совместимости по умолчанию отправляет один основной URL.
    
    [Читать предложение](https://codeberg.org/fediverse/fep/src/branch/main/fep/1311/fep-1311.md) [Фото, видео и вложения](https://welley.com/ru/posts/post-media/)
    
-   FEP-1b12
    
    ## Федерация групп
    
    Публичные каналы групп могут обмениваться публикациями и комментариями с сообществами ActivityPub в формате форумов.
    
    Публичные каналы поддерживают стандартные акторы Group и схемы работы с анонсами.
    
    -   Публичный канал использует стандартный актор Group.
    -   Канал делится принятыми публикациями через активности Announce и сохраняет исходного автора.
    -   Welley принимает анонсы от групп и помещает содержимое в нужный канал.
    
    Закрытые сообщества Welley используют дополнительные свойства Welley. Не все настройки групп, правила участия и действия модерации переносятся в другое программное обеспечение.
    
    ![Форум Riverside Garden, отфильтрованный по категории «Садовые проекты», с фильтром по тегам, сортировкой по новизне и закреплённой приветственной темой.](https://welley.com/assets/media/forum-overview-2000.56f6f9a2.webp)
    
    Форум в режиме просмотра по категориям, первой идёт закреплённая приветственная тема. Выше расположены фильтры по категориям и тегам и выбор сортировки.
    
    [Читать предложение](https://codeberg.org/fediverse/fep/src/branch/main/fep/1b12/fep-1b12.md) [Форумы и категории](https://welley.com/ru/groups/group-forums/) [Публичные каналы в Fediverse](https://welley.com/ru/groups/group-federated-channels/)
    
-   FEP-3b86
    
    ## Activity Intents
    
    Ссылки для удалённого взаимодействия могут запоминать, что человек хочет сделать.
    
    Welley поддерживает ссылки WebFinger для отдельных действий и перенаправления для авторизации.
    
    -   WebFinger предлагает отдельный шаблон для каждого поддерживаемого действия, например Follow, Like, Announce и Create.
    -   Поиск групп также включает Join.
    -   Конечная точка взаимодействия ведёт человека к нужному действию в Welley.
    
    Удалённое приложение должно использовать эти ссылки намерений. Собственные ссылки намерений Vote в Welley являются расширениями. Они не входят в стандартные действия FEP.
    
    [Читать предложение](https://codeberg.org/fediverse/fep/src/branch/main/fep/3b86/fep-3b86.md) [Подписывайтесь только на нужные каналы](https://welley.com/ru/groups/group-channel-subscriptions/)
    
-   FEP-5feb
    
    ## Согласие на индексацию в поиске для акторов
    
    Владельцы профилей могут указать, можно ли показывать их публичные публикации в поисковых индексах.
    
    Welley публикует согласие каждого аккаунта, импортирует согласие с других серверов и соответствующим образом ограничивает локальный текстовый поиск.
    
    -   Welley публикует свойство indexable для актора на основе настроек приватности профиля.
    -   Аккаунты на других серверах должны явно разрешить индексацию, прежде чем их публикации появятся в обычном текстовом поиске.
    -   Просмотр хештега всё равно может находить публикации автора, который не разрешил индексацию.
    
    Свойство просит другие серверы учитывать согласие. Оно не закрывает доступ к публичным публикациям и не управляет независимыми поисковыми системами.
    
    ![Настройки приватности для поиска по публичным публикациям, рекомендаций, поисковых систем, видимости связей и видимости групп.](https://welley.com/assets/media/settings-privacy-1200.bfea7542.webp)
    
    Часть настроек поиска, рекомендаций и того, кто видит содержимое вашего профиля. Навигацию и данные аккаунта мы обрезали.
    
    [Читать предложение](https://codeberg.org/fediverse/fep/src/branch/main/fep/5feb/fep-5feb.md) [Публичные публикации в результатах поиска](https://welley.com/ru/profiles/public-post-search/)
    
-   FEP-7458
    
    ## Использование коллекции ответов
    
    Сервер может запросить ответы у исходной публикации, не дожидаясь их доставки.
    
    Welley публикует коллекции ответов и загружает удалённые.
    
    -   Welley публикует для публикаций коллекцию ответов с разбивкой на страницы.
    -   Welley загружает удалённые коллекции ответов и переходит по их страницам.
    -   Когда кто-то находит удалённое обсуждение, Welley может в фоне подгрузить более ранний контекст.
    
    Приватность, модерация, лимиты загрузки и доступность другого сервера по-прежнему действуют. Коллекция не гарантирует полную мгновенную копию каждого обсуждения.
    
    [Читать предложение](https://codeberg.org/fediverse/fep/src/branch/main/fep/7458/fep-7458.md) [Способы чтения цепочки](https://welley.com/ru/posts/thread-reading/)
    
-   FEP-7628
    
    ## Перенос актора
    
    Аккаунты могут переезжать между серверами, а их подписчики переключаются на новый аккаунт.
    
    Welley поддерживает входящие и исходящие переносы акторов, псевдонимы, перенаправления и перенос подписчиков.
    
    -   Welley получает активности Move и проверяет псевдоним назначения, прежде чем перенести локальных подписчиков.
    -   Когда аккаунт переезжает, Welley публикует адрес назначения и отправляет активности Move подписчикам на других серверах.
    -   Welley отправляет Follow на новый аккаунт и удаляет старую подписку.
    
    Welley задаёт movedTo, а старый аккаунт остаётся доступным. Это не останавливает всю доставку в удалённые inbox, которые переехали. Публикации нужно переносить отдельным экспортом или импортом.
    
    ![Страница переноса аккаунта с формой псевдонима аккаунта, шагом импорта данных и шагом переноса подписчиков.](https://welley.com/assets/media/personal-move-here-1200.5f7ac9b7.webp)
    
    Страница переноса с тремя шагами и пустой формой для псевдонима аккаунта. Использовано демонстрационное содержимое сообщества.
    
    [Читать предложение](https://codeberg.org/fediverse/fep/src/branch/main/fep/7628/fep-7628.md) [Перенесите аккаунт в Welley](https://welley.com/ru/settings/move-to-welley/) [Переезд и копия данных](https://welley.com/ru/settings/move-out-and-archive/)
    
-   FEP-7888
    
    ## Разбираемся со свойством context
    
    Welley использует context, чтобы связывать обсуждения событий и загружать некоторые удалённые коллекции обсуждений.
    
    Welley поддерживает ссылки контекста событий и некоторые схемы работы с удалёнными коллекциями контекста.
    
    -   Публикации, прикреплённые к событию, могут указывать на URI события как на свой контекст.
    -   Welley может переходить по удалённой коллекции контекста, в том числе через промежуточный документ, который указывает на коллекцию.
    
    Welley не публикует общую коллекцию контекста для каждой ветки обсуждения. Полная маршрутизация аудитории по контексту и владение беседой не поддерживаются.
    
    [Читать предложение](https://codeberg.org/fediverse/fep/src/branch/main/fep/7888/fep-7888.md) [Обсуждения событий](https://welley.com/ru/events/events-discussions/) [Способы чтения цепочки](https://welley.com/ru/posts/thread-reading/)
    
-   FEP-844e
    
    ## Обнаружение возможностей
    
    Другое программное обеспечение может прочитать у актора приложения структурированный список того, что поддерживает Welley.
    
    Актор приложения публикует свои возможности, и это проверено тестами.
    
    -   Актор приложения публикует массив implements с идентификаторами и названиями возможностей.
    -   В ответ входит сопоставление JSON-LD для этого свойства.
    -   Сейчас Welley объявляет пятнадцать идентификаторов FEP.
    
    Welley пока не читает списки возможностей других серверов, чтобы согласовывать функции.
    
    [Читать предложение](https://codeberg.org/fediverse/fep/src/branch/main/fep/844e/fep-844e.md) [Удалённые домены](https://welley.com/ru/federation/federation-domains/)
    
-   FEP-8a8e
    
    ## Общий подход к использованию типа объекта Event
    
    События используют общие поля ActivityPub для времени, места, описания и участия.
    
    Welley поддерживает основной обмен Event и схемы участия, а также некоторые поля расширений событий.
    
    -   Event включает название, время начала, время окончания, часовой пояс, место и коллекцию участников.
    -   Create и Update рассылают изменения событий.
    -   Join и Leave передают изменения участия между серверами Welley.
    
    Последняя версия предложения также требует указывать организаторов и содержит больше правил для места и вместимости. Welley реализует не всю последнюю версию.
    
    ![Мероприятие Seed sorting evening от Sam Rivera только по приглашениям: обложка с сохранёнными семенами, дата, время и место, ответы «Да», «Нет» и «Может быть» для приглашённого Alex Morgan и список гостей.](https://welley.com/assets/media/event-rsvp-demo-2000.4878aae2.webp)
    
    Приглашённый отвечает «Да», «Нет» или «Может быть». Организатор видит, кто придёт.
    
    [Читать предложение](https://codeberg.org/fediverse/fep/src/branch/main/fep/8a8e/fep-8a8e.md) [События через ActivityPub](https://welley.com/ru/events/events-activitypub/) [Ответ на приглашение](https://welley.com/ru/events/events-rsvp/)
    
-   FEP-8fcf
    
    ## Синхронизация коллекции подписчиков между серверами
    
    Серверы могут замечать расхождения в списках подписчиков и исправлять их.
    
    Welley поддерживает исходящие дайджесты, входящие проверки, конечную точку частичной коллекции и задачи исправления.
    
    -   Welley добавляет заголовок Collection-Synchronization, когда доставка запрашивает синхронизацию подписчиков.
    -   Принимающий сервер сравнивает дайджест. Если списки различаются, он запрашивает коллекцию подписчиков для этого сервера.
    -   Welley исправляет устаревшие подписки отдельно от запроса к inbox.
    
    Администраторы могут отключить синхронизацию. Другой сервер должен реализовать тот же протокол.
    
    [Читать предложение](https://codeberg.org/fediverse/fep/src/branch/main/fep/8fcf/fep-8fcf.md) [Удалённые домены](https://welley.com/ru/federation/federation-domains/)
    
-   FEP-9098
    
    ## Пользовательские эмодзи
    
    Пользовательские эмодзи могут передаваться вместе с публикациями, профилями и реакциями.
    
    Welley поддерживает теги пользовательских эмодзи и их импорт для поддерживаемого федеративного содержимого.
    
    -   Исходящие теги связывают шорткод каждого эмодзи с его изображением.
    -   Welley читает теги Emoji с других серверов и сохраняет каждый шорткод под доменом, откуда он пришёл.
    -   Ограничения на медиа действуют и тогда, когда Welley скачивает удалённые эмодзи.
    
    Блокировка медиа может не дать загрузить изображение эмодзи. Приложения на других серверах могут показать вместо него шорткод.
    
    ![Редактор своих эмодзи: требования к файлу, шорткод, категория и видимость в панели выбора.](https://welley.com/assets/media/admin-demo-custom-emoji-editor-848.eab2a89c.webp)
    
    В редакторе своих эмодзи показаны требования к файлу, шорткод, категория и то, появляется ли эмодзи в панели выбора.
    
    [Читать предложение](https://codeberg.org/fediverse/fep/src/branch/main/fep/9098/fep-9098.md) [Собственные эмодзи](https://welley.com/ru/server-admin/server-custom-emoji/)
    
-   FEP-9967
    
    ## Опросы
    
    Люди могут обмениваться опросами и голосами с совместимыми серверами.
    
    Welley поддерживает отправку и приём опросов с одним и несколькими вариантами ответа, голосов и обновлений результатов.
    
    -   Опросы используют объекты Question с вариантами oneOf или anyOf.
    -   Welley обрабатывает голоса с других серверов и рассылает результаты опросов.
    -   Каждый федеративный опрос содержит время окончания, признак закрытия и число проголосовавших.
    
    Другое приложение должно поддерживать этот формат опросов. Его интерфейс может показывать другие элементы управления или другие подробности результатов.
    
    ![Вкладки «Подписки» и «Firehose» над оформленной публикацией о саде с заголовком, скрытым спойлером внутри текста и списком. Дальше опрос с тремя вариантами и кнопки ответа, «Поделиться», «Нравится» и закладки.](https://welley.com/assets/media/publishing-feed-posts-1440.5d5baf50.webp)
    
    В ленте виден оформленный текст, спойлер внутри текста, который читатель раскрывает щелчком, и опрос, на который можно ответить прямо там.
    
    [Читать предложение](https://codeberg.org/fediverse/fep/src/branch/main/fep/9967/fep-9967.md) [Опросы](https://welley.com/ru/posts/post-polls/)
    
-   FEP-b2b8
    
    ## Длинные тексты
    
    Длинные публикации могут использовать объекты Article с заголовком, полным текстом и коротким превью.
    
    Welley поддерживает содержимое статей, превью, метаданные источника и часть расширенной разметки текста.
    
    -   Welley отправляет и принимает объекты Article, а не считает каждую публикацию короткой заметкой Note.
    -   Исходящие статьи могут включать главное изображение, отрывок и исходный текст в Markdown.
    -   Welley сохраняет часть разметки статей, в том числе встроенные медиа и аннотации ruby.
    
    Если у статьи указано несколько авторов, Welley берёт первого. Заголовки превращаются в жирный текст, поэтому часть структуры статьи теряется.
    
    [Читать предложение](https://codeberg.org/fediverse/fep/src/branch/main/fep/b2b8/fep-b2b8.md) [Форумы и категории](https://welley.com/ru/groups/group-forums/) [Форматирование текста](https://welley.com/ru/posts/rich-text-posts/)
    
-   FEP-c0e0
    
    ## Эмодзи-реакции
    
    Эмодзи-реакции работают между серверами.
    
    Welley поддерживает реакции с Unicode и пользовательскими эмодзи, включая их удаление и доставку.
    
    -   Welley отправляет и принимает активности EmojiReact для поддерживаемых публикаций.
    -   Undo удаляет удалённую реакцию.
    -   Реакции с пользовательскими эмодзи несут свой тег эмодзи и домен, откуда они пришли.
    
    Другое программное обеспечение может поддерживать иной набор реакций. Welley не предоставляет необязательную коллекцию emojiReactions.
    
    ![Тема форума о субботнем рабочем дне в саду с плашкой реакции «росток» со счётчиком 3 и плашкой «палец вверх» со счётчиком 2.](https://welley.com/assets/media/forum-reactions-demo-1792.23f0cbc6.webp)
    
    Участники реагируют на тему форума эмодзи. У каждого эмодзи своя плашка и свой счётчик.
    
    [Читать предложение](https://codeberg.org/fediverse/fep/src/branch/main/fep/c0e0/fep-c0e0.md) [Лайки и эмодзи-реакции](https://welley.com/ru/posts/post-reactions/)
    
-   FEP-c16b
    
    ## Форматирование функциями MFM
    
    Часть разметки размытия Misskey может отображаться как встроенный спойлер.
    
    Во входящих публикациях Welley поддерживает только форматирование размытия.
    
    -   Welley распознаёт фрагменты размытия в исходном Markdown Misskey.
    -   Welley превращает поддерживаемые классы и атрибуты размытия MFM в безопасный спойлер.
    
    Welley не реализует весь набор функций MFM и не объявляет поддержку htmlMfm. Другие эффекты MFM могут потерять форматирование.
    
    ![Вкладки «Подписки» и «Firehose» над оформленной публикацией о саде с заголовком, скрытым спойлером внутри текста и списком. Дальше опрос с тремя вариантами и кнопки ответа, «Поделиться», «Нравится» и закладки.](https://welley.com/assets/media/publishing-feed-posts-1440.5d5baf50.webp)
    
    В ленте виден оформленный текст, спойлер внутри текста, который читатель раскрывает щелчком, и опрос, на который можно ответить прямо там.
    
    [Читать предложение](https://codeberg.org/fediverse/fep/src/branch/main/fep/c16b/fep-c16b.md) [Спойлеры в тексте](https://welley.com/ru/posts/inline-spoilers/)
    
-   FEP-d556
    
    ## Обнаружение актора уровня сервера через WebFinger
    
    Запрос WebFinger к серверу может вернуть актор приложения.
    
    Welley поддерживает форму обнаружения через ссылку self в стиле Mastodon из предложения. Для неё не указан отдельный идентификатор FEP.
    
    -   Запрос по домену или по настроенному URL сервера возвращает ссылку self на актор экземпляра.
    -   Обе формы приводят к одному и тому же актору.
    
    Поиск точно сопоставляет настроенный текст origin и не нормализует завершающий слэш. Welley не публикует рекомендуемое отношение Service и не поддерживает фильтрацию по отношениям.
    
    [Читать предложение](https://codeberg.org/fediverse/fep/src/branch/main/fep/d556/fep-d556.md) [Удалённые домены](https://welley.com/ru/federation/federation-domains/)
    
-   FEP-e232
    
    ## Object Links
    
    Публикации с цитатами содержат структурированные ссылки на цитируемые публикации.
    
    Welley использует Object Links только для публикации и импорта ссылок на цитаты.
    
    -   Welley добавляет к исходящей цитате тег Link с типом медиа цитаты ActivityPub.
    -   Welley распознаёт ту же форму ссылки во входящих публикациях, в том числе ссылки без имени.
    
    Это относится к ссылкам на цитаты. Все возможные типы медиа Object Links не охвачены.
    
    [Читать предложение](https://codeberg.org/fediverse/fep/src/branch/main/fep/e232/fep-e232.md) [Поделиться или процитировать](https://welley.com/ru/posts/repost-and-quote/)
    
-   FEP-efda
    
    ## Объекты, на которые можно подписаться
    
    Вы можете подписаться на публикацию и получать новую активность в её обсуждении.
    
    Follow(post) и Undo работают в обе стороны и проверены тестами.
    
    -   Welley отправляет Follow, где объектом указан URI публикации.
    -   Входящие подписки на публикации и активности Undo обновляют подписки на публикации.
    -   Подписка на публикацию не зависит от подписки на её автора.
    
    Последняя версия FEP использует коллекцию подписчиков, чтобы находить объекты, на которые можно подписаться. Публикации Welley не предоставляют эту коллекцию или общий алгоритм обнаружения. В Welley эта функция по-прежнему называется по-старому: «Отслеживаемые публикации».
    
    [Читать предложение](https://codeberg.org/fediverse/fep/src/branch/main/fep/efda/fep-efda.md) [Способы чтения цепочки](https://welley.com/ru/posts/thread-reading/)
    
-   FEP-f1d5
    
    ## NodeInfo в программном обеспечении Fediverse
    
    Другие серверы могут узнать о программном обеспечении Welley и деталях протокола через NodeInfo.
    
    Welley поддерживает обнаружение NodeInfo и ответ версии 2.0.
    
    -   Публичная конечная точка обнаружения ведёт к документу NodeInfo 2.0.
    -   В документе указаны версия программного обеспечения, поддержка ActivityPub и базовый URL FASP.
    
    Пока ответ использует фиксированные счётчики использования и статус регистрации. Не полагайтесь на него как на актуальную статистику сервера. Маршрута 2.1 нет.
    
    [Читать предложение](https://codeberg.org/fediverse/fep/src/branch/main/fep/f1d5/fep-f1d5.md) [О сервере](https://welley.com/ru/server-admin/server-about/) [Удалённые домены](https://welley.com/ru/federation/federation-domains/)
    
-   FEP-fe34
    
    ## Модель безопасности на основе origin
    
    Проверки origin помогают не дать одному серверу выдавать за своё содержимое или полномочия, которые принадлежат другому.
    
    В Welley есть несколько проверок безопасности на основе origin, и они проверены тестами.
    
    -   Welley сравнивает схему, хост и фактический порт URI.
    -   Inbox отклоняет некоторые активности, если origin объекта не совпадает с origin актора.
    -   Пути удалённой загрузки, цитат, коллекций и присутствия добавляют ещё проверки origin.
    
    Это лишь часть модели безопасности. Object Integrity Proofs не поддерживаются.
    
    [Читать предложение](https://codeberg.org/fediverse/fep/src/branch/main/fep/fe34/fep-fe34.md) [Удалённые домены](https://welley.com/ru/federation/federation-domains/)
