Fediverse Enhancement Proposals

# FEP, які ми підтримуємо

FEP (Fediverse Enhancement Proposals) є спільними домовленостями про те, як застосунки з ActivityPub обробляють певні речі. Ось кожна з тих, що ми підтримуємо, наскільки повно ми її реалізуємо, і посилання на повну пропозицію.

Ми плануємо в майбутньому випустити Welley з відкритим кодом. Дата випуску й ліцензія ще не оголошені.

-   FEP-044f
    
    ## Цитування дописів за згодою
    
    Автори можуть вирішувати, чи можна цитувати їхні дописи між серверами.
    
    Welley підтримує запити на цитування, перевірку авторизації, прийняття, відхилення та відкликання.
    
    -   Welley надсилає й отримує активності QuoteRequest та обробляє прийняття або відхилення запиту.
    -   Позначки авторизації цитат дають змогу серверам-одержувачам перевірити, що автор погодився.
    -   Відкликання скасовує дозвіл на цитату, яку автор схвалив раніше.
    
    Щоб це працювало так само, іншим серверам потрібен протокол згоди. Просте посилання чи старіше розширення цитат не свідчить, що автор погодився.
    
    [Прочитати пропозицію](https://codeberg.org/fediverse/fep/src/branch/main/fep/044f/fep-044f.md) [Поширення та цитати](https://welley.com/uk/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/uk/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/uk/groups/group-forums/) [Публічні канали у Fediverse](https://welley.com/uk/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/uk/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/uk/profiles/public-post-search/)
    
-   FEP-7458
    
    ## Використання колекції replies
    
    Сервер може отримати відповіді з оригінального допису, а не чекати, поки їх доставлять.
    
    Welley публікує колекції replies і отримує віддалені.
    
    -   Welley публікує посторінкову колекцію replies для дописів.
    -   Welley отримує віддалені колекції відповідей і переходить їхніми сторінками.
    -   Коли хтось знаходить віддалене обговорення, Welley може у фоні дозавантажити старіший контекст.
    
    Приватність, модерація, ліміти отримання й доступність іншого сервера й надалі мають значення. Колекція не гарантує повної миттєвої копії кожного обговорення.
    
    [Прочитати пропозицію](https://codeberg.org/fediverse/fep/src/branch/main/fep/7458/fep-7458.md) [Способи читання обговорення](https://welley.com/uk/posts/thread-reading/)
    
-   FEP-7628
    
    ## Переміщення актора
    
    Акаунти можуть переходити між серверами, а їхні підписники переключаються на новий акаунт.
    
    Welley підтримує вхідні й вихідні переміщення акторів, псевдоніми, перенаправлення та перенесення підписників.
    
    -   Welley отримує активності Move і перевіряє псевдонім призначення, перш ніж перенести локальних підписників.
    -   Коли акаунт переходить на інший сервер, Welley публікує адресу призначення і надсилає активності Move підписникам на інших серверах.
    -   Welley надсилає Follow на нову адресу і скасовує стару підписку.
    
    Welley встановлює movedTo, а старий акаунт залишається доступним. Це не зупиняє всю доставку у віддалені вхідні скриньки, які переїхали. Для дописів потрібен окремий експорт або імпорт.
    
    ![Сторінка перенесення акаунта з формою псевдоніма акаунта, кроком імпорту даних і кроком перенесення підписників.](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/uk/settings/move-to-welley/) [Переїдьте й збережіть копію](https://welley.com/uk/settings/move-out-and-archive/)
    
-   FEP-7888
    
    ## Пояснення властивості context
    
    Welley використовує context, щоб пов'язувати обговорення подій і отримувати деякі віддалені колекції обговорень.
    
    Welley підтримує посилання контексту подій і деякі сценарії роботи з віддаленими колекціями контексту.
    
    -   Дописи, прикріплені до події, можуть вказувати на URI події як на свій контекст.
    -   Welley може йти за віддаленою колекцією context, зокрема через проміжний документ, що вказує на колекцію.
    
    Welley не публікує загальну колекцію context для кожної гілки. Він не підтримує повну маршрутизацію аудиторії на основі контексту чи володіння розмовою.
    
    [Прочитати пропозицію](https://codeberg.org/fediverse/fep/src/branch/main/fep/7888/fep-7888.md) [Обговорення події](https://welley.com/uk/events/events-discussions/) [Способи читання обговорення](https://welley.com/uk/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/uk/federation/federation-domains/)
    
-   FEP-8a8e
    
    ## Загальний підхід до використання типу об'єкта Event
    
    Події використовують спільні поля ActivityPub для часу, місця, опису та відвідуваності.
    
    Welley підтримує базовий обмін Event і сценарії відвідуваності, а також деякі поля розширення подій.
    
    -   Event містить назву, час початку, час завершення, часовий пояс, місце та колекцію відвідувачів.
    -   Create і Update розсилають зміни події.
    -   Join і Leave передають зміни відвідуваності між серверами Welley.
    
    Остання версія пропозиції також вимагає організаторів і містить більше правил щодо місця та місткості. Welley реалізує не всю останню версію.
    
    ![Подія лише за запрошеннями «Вечір сортування насіння» від 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/uk/events/events-activitypub/) [Відповідь на запрошення](https://welley.com/uk/events/events-rsvp/)
    
-   FEP-8fcf
    
    ## Синхронізація колекції підписників між серверами
    
    Сервери можуть помічати розбіжності у своїх списках підписників і виправляти їх.
    
    Welley підтримує вихідні дайджести, вхідні перевірки, кінцеву точку часткової колекції та завдання виправлення.
    
    -   Welley додає заголовок Collection-Synchronization, коли доставка запитує синхронізацію підписників.
    -   Сервер-отримувач порівнює дайджест. Якщо списки відрізняються, він отримує колекцію підписників для цього сервера.
    -   Welley виправляє застарілі зв'язки підписки окремо від запиту до вхідної скриньки.
    
    Адміністратори можуть вимкнути синхронізацію. Інший сервер має реалізовувати той самий протокол.
    
    [Прочитати пропозицію](https://codeberg.org/fediverse/fep/src/branch/main/fep/8fcf/fep-8fcf.md) [Віддалені домени](https://welley.com/uk/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/uk/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/uk/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/uk/groups/group-forums/) [Форматування тексту](https://welley.com/uk/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/uk/posts/post-reactions/)
    
-   FEP-c16b
    
    ## Форматування функцій MFM
    
    Деяка розмітка розмиття Misskey може відображатися як вбудований спойлер.
    
    Welley підтримує лише форматування розмиття у вхідних дописах.
    
    -   Welley розпізнає сегменти розмиття у вихідному тексті Misskey Markdown.
    -   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/uk/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/uk/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/uk/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/uk/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/uk/server-admin/server-about/) [Віддалені домени](https://welley.com/uk/federation/federation-domains/)
    
-   FEP-fe34
    
    ## Модель безпеки на основі origin
    
    Перевірки origin допомагають не дати одному серверу видавати за своє вміст чи повноваження, що належать іншому.
    
    У Welley є кілька перевірок безпеки на основі origin, і їх перевіряють тестами.
    
    -   Welley порівнює схему, хост і фактичний порт URI.
    -   Вхідна скринька відхиляє певні активності, якщо origin об'єкта не збігається з origin актора.
    -   Шляхи віддаленого отримання, цитат, колекцій і присутності мають додаткові перевірки origin.
    
    Це лише частина моделі безпеки. Object Integrity Proofs вона не забезпечує.
    
    [Прочитати пропозицію](https://codeberg.org/fediverse/fep/src/branch/main/fep/fe34/fep-fe34.md) [Віддалені домени](https://welley.com/uk/federation/federation-domains/)
