Fediverse Enhancement Proposals

# 対応している FEP

FEP(Fediverse Enhancement Proposals)は、ActivityPub アプリが特定のことをどう扱うかについての、共通の取り決めです。Welley が対応しているものを、どこまで対応しているかとあわせて紹介します。提案の全文へのリンクもあります。

将来、Welley をオープンソースとして公開する予定です。公開日やライセンスは、まだ発表されていません。

-   FEP-044f
    
    ## 同意を尊重する引用投稿
    
    投稿をサーバーをまたいで引用できるかどうかを、投稿者が決められます。
    
    Welleyは、引用リクエスト、認可の確認、承認、拒否、取り消しに対応しています。
    
    -   WelleyはQuoteRequestアクティビティを送受信し、リクエストの承認と拒否も処理します。
    -   引用の認可スタンプにより、受信側のサーバーは投稿者が同意したことを確認できます。
    -   取り消しにより、投稿者が以前に承認した引用の許可を取り下げます。
    
    同じように動かすには、他のサーバーも同意のプロトコルに対応している必要があります。単なるリンクや古い引用の拡張では、投稿者が同意したことは示されません。
    
    [提案を読む](https://codeberg.org/fediverse/fep/src/branch/main/fep/044f/fep-044f.md) [リポストと引用](https://welley.com/ja/posts/repost-and-quote/)
    
-   FEP-1311
    
    ## メディアの添付
    
    Welleyはメディアの添付を送受信し、同じファイルの複数のバージョンを読み取れます。
    
    Welleyは、添付のやり取りとバリエーションの読み取りに対応しています。一部の推奨事項や出力形式への対応は、より限定的です。
    
    -   Welleyは、単一のメディアURLでも、種類つきのメディアリンクの配列でも受け付けます。
    -   リモートの添付にあるサイズ違いやプレビュー画像を使えます。
    -   複数バリエーションのURL配列を送信するには設定フラグが必要で、デフォルトではオフです。
    
    Welleyは提案の全体を実装していません。特にdigestMultibaseは扱わず、互換性のため、デフォルトでは主となるURLを1つだけ送信します。
    
    [提案を読む](https://codeberg.org/fediverse/fep/src/branch/main/fep/1311/fep-1311.md) [写真、動画、添付ファイル](https://welley.com/ja/posts/post-media/)
    
-   FEP-1b12
    
    ## グループの連合
    
    公開グループのチャンネルは、フォーラム型のActivityPubコミュニティと投稿やコメントをやり取りできます。
    
    公開チャンネルは、標準のGroup actorとAnnounceの流れに対応しています。
    
    -   公開チャンネルは、標準のGroup actorを使います。
    -   チャンネルは、承認した投稿をAnnounce activityで共有し、元の投稿者の情報を保ちます。
    -   Welleyは、グループからのAnnounceを受け取り、内容を適切なチャンネルに入れます。
    
    Welleyのプライベートコミュニティでは、Welley独自のプロパティを追加で使います。グループの設定、メンバーシップのルール、モデレーション操作のすべてが、他のソフトウェアに引き継がれるわけではありません。
    
    ![「Garden projects」で絞り込んだ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/ja/groups/group-forums/) [Fediverseの公開チャンネル](https://welley.com/ja/groups/group-federated-channels/)
    
-   FEP-3b86
    
    ## Activity Intents
    
    リモートインタラクションのリンクで、その人がしたい操作を引き継げます。
    
    Welleyは、操作ごとのWebFingerリンクと、認可リダイレクトに対応しています。
    
    -   WebFingerは、Follow、Like、Announce、Createなど、対応する操作ごとに別のテンプレートを提供します。
    -   グループの検出にはJoinも含まれます。
    -   インタラクションのエンドポイントは、その人をWelley内の適切な操作へ案内します。
    
    リモート側のアプリがこれらのintentリンクを使う必要があります。Welley独自のVote intentリンクは拡張で、標準のFEPのアクションではありません。
    
    [提案を読む](https://codeberg.org/fediverse/fep/src/branch/main/fep/3b86/fep-3b86.md) [見たいチャンネルだけをフォローする](https://welley.com/ja/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/ja/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/ja/posts/thread-reading/)
    
-   FEP-7628
    
    ## アクターの移動
    
    アカウントはサーバー間で移動でき、フォロワーは新しいアカウントに切り替わります。
    
    Welleyは、受信と送信のアクター移動、alias、リダイレクト、フォロワーの引き継ぎに対応しています。
    
    -   Welleyは、Move activityを受け取ると、移動先のaliasを確認してから、ローカルのフォロワーを移します。
    -   アカウントが他のサーバーへ移るとき、Welleyは移動先を公開し、他のサーバーのフォロワーにMove activityを送ります。
    -   Welleyは移動先にFollowを送り、古いフォローを削除します。
    
    WelleyはmovedToを設定し、古いアカウントにはアクセスできるままです。移動済みのリモートinboxへの配信をすべて止めるわけではありません。投稿には、別途エクスポートやインポートが必要です。
    
    ![アカウントのエイリアスのフォーム、データのインポート、フォロワーの移行の各ステップがあるアカウント移行ページ。](https://welley.com/assets/media/personal-move-here-1200.5f7ac9b7.webp)
    
    3つのステップと、アカウントのエイリアス用の空のフォームがある移行ページです。サンプルのコミュニティコンテンツを使っています。
    
    [提案を読む](https://codeberg.org/fediverse/fep/src/branch/main/fep/7628/fep-7628.md) [アカウントをWelleyに移す](https://welley.com/ja/settings/move-to-welley/) [引っ越しとコピーの保存](https://welley.com/ja/settings/move-out-and-archive/)
    
-   FEP-7888
    
    ## contextプロパティをわかりやすく
    
    Welleyは、イベントの議論をつなげたり、一部のリモートの議論コレクションを取得したりするためにcontextを使います。
    
    Welleyは、イベントのcontextリンクと、一部のリモートcontextコレクションの流れに対応しています。
    
    -   イベントに付けた投稿は、contextとしてEvent URIを指せます。
    -   Welleyは、リモートのcontextコレクションをたどれます。コレクションを指す中間文書を経由する場合も含みます。
    
    Welleyは、すべてのスレッドについて汎用のcontextコレクションを公開するわけではありません。contextに基づく完全な宛先ルーティングや、会話の所有にも対応していません。
    
    [提案を読む](https://codeberg.org/fediverse/fep/src/branch/main/fep/7888/fep-7888.md) [イベントのディスカッション](https://welley.com/ja/events/events-discussions/) [スレッドの読み方](https://welley.com/ja/posts/thread-reading/)
    
-   FEP-844e
    
    ## 機能の検出
    
    他のソフトウェアは、Welleyのapplication actorから、Welleyが対応している内容の構造化されたリストを読み取れます。
    
    application actorは対応機能を公開しており、これはテスト済みです。
    
    -   application actorは、機能の識別子と名前を持つimplements配列を公開します。
    -   レスポンスには、そのプロパティのJSON-LDマッピングが含まれます。
    -   現在、Welleyは15個のFEP識別子を示しています。
    
    Welleyは、機能をやり取りして決めるために他のサーバーの機能リストを読むことは、まだしていません。
    
    [提案を読む](https://codeberg.org/fediverse/fep/src/branch/main/fep/844e/fep-844e.md) [リモートドメイン](https://welley.com/ja/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/ja/events/events-activitypub/) [招待に返事をする](https://welley.com/ja/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/ja/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/ja/server-admin/server-custom-emoji/)
    
-   FEP-9967
    
    ## 投票
    
    互換性のあるサーバーと、アンケートや投票をやり取りできます。
    
    Welleyは、単一選択と複数選択のアンケート、投票、結果の更新の送受信に対応しています。
    
    -   アンケートは、oneOfまたはanyOfの選択肢を持つQuestionオブジェクトを使います。
    -   Welleyは、他のサーバーからの投票を処理し、アンケートの結果を送ります。
    -   フェデレーションされた各アンケートには、終了時刻、終了しているかどうか、投票者数が含まれます。
    
    相手のアプリがこのアンケート形式に対応している必要があります。操作部分や結果の詳細の見え方は、アプリによって違うことがあります。
    
    ![「フォロー中」と「Firehose」のタブの下に、見出し、隠されたインラインのネタバレ、リストを使った書式付きの庭の投稿があります。その後に3択の投票が続き、返信、リポスト、いいね、ブックマークのコントロールがあります。](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/ja/posts/post-polls/)
    
-   FEP-b2b8
    
    ## 長文テキスト
    
    長い投稿には、タイトル、全文、短いプレビューを持つArticleオブジェクトを使えます。
    
    Welleyは、記事の内容、プレビュー、ソースのメタデータ、一部のリッチテキストマークアップに対応しています。
    
    -   Welleyは、すべての投稿を短いNoteとして扱うのではなく、Articleオブジェクトを送受信します。
    -   送信する記事には、リード画像、抜粋、Markdownのソースを含められます。
    -   Welleyは、インラインのメディアやルビ注釈など、記事のマークアップの一部を保持します。
    
    記事に複数の著者が載っている場合、Welleyは最初の1人を採用します。見出しは太字になるため、記事の構造の一部は失われます。
    
    [提案を読む](https://codeberg.org/fediverse/fep/src/branch/main/fep/b2b8/fep-b2b8.md) [フォーラムとカテゴリ](https://welley.com/ja/groups/group-forums/) [テキストの書式](https://welley.com/ja/posts/rich-text-posts/)
    
-   FEP-c0e0
    
    ## 絵文字リアクション
    
    絵文字リアクションは、サーバーをまたいで使えます。
    
    WelleyはUnicode絵文字とカスタム絵文字のリアクションに対応しており、取り消しと配信も含みます。
    
    -   Welleyは、対応する投稿について、EmojiReact activityを送受信します。
    -   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/ja/posts/post-reactions/)
    
-   FEP-c16b
    
    ## MFM関数の書式設定
    
    Misskeyのぼかしマークアップの一部は、インラインのネタバレとして表示されることがあります。
    
    Welleyは、受信した投稿ではぼかしの書式にだけ対応しています。
    
    -   Welleyは、Misskey Markdownのソース内のぼかし部分を認識します。
    -   Welleyは、対応するMFMのぼかしclassとぼかし属性を、安全なネタバレに変換します。
    
    WelleyはMFM関数のすべてには対応しておらず、htmlMfmへの対応も示していません。他のMFM効果は、書式が失われることがあります。
    
    ![「フォロー中」と「Firehose」のタブの下に、見出し、隠されたインラインのネタバレ、リストを使った書式付きの庭の投稿があります。その後に3択の投票が続き、返信、リポスト、いいね、ブックマークのコントロールがあります。](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/ja/posts/inline-spoilers/)
    
-   FEP-d556
    
    ## WebFingerを使ったサーバーレベルのアクター検出
    
    サーバーを対象にしたWebFingerクエリで、そのapplication actorを返せます。
    
    Welleyは、提案にあるMastodon方式のselfリンク検出に対応しています。そのための明示的なFEP識別子は示していません。
    
    -   ドメイン、または設定されたサーバーURLを対象にしたクエリは、instance actorへのselfリンクを返します。
    -   どちらの形でも、同じアクターに解決されます。
    
    検索は、設定されたオリジンのテキストと完全に一致するものを探し、末尾のスラッシュは正規化しません。推奨されているService relationは公開しておらず、relationによる絞り込みにも対応していません。
    
    [提案を読む](https://codeberg.org/fediverse/fep/src/branch/main/fep/d556/fep-d556.md) [リモートドメイン](https://welley.com/ja/federation/federation-domains/)
    
-   FEP-e232
    
    ## Object Links
    
    引用投稿には、引用元の投稿への構造化されたリンクが含まれます。
    
    Welleyは、引用の参照を公開して取り込むためだけに、Object Linksを使います。
    
    -   Welleyは、送信する引用に、ActivityPubの引用メディアタイプを持つLinkタグを付けます。
    -   Welleyは、受信した投稿でも同じ形のリンクを認識します。名前のないリンクも含みます。
    
    対象は引用リンクです。考えられるすべてのObject Linksのメディアタイプには対応していません。
    
    [提案を読む](https://codeberg.org/fediverse/fep/src/branch/main/fep/e232/fep-e232.md) [リポストと引用](https://welley.com/ja/posts/repost-and-quote/)
    
-   FEP-efda
    
    ## フォローできるオブジェクト
    
    投稿をフォローして、その議論で後から起きる動きを受け取れます。
    
    Follow(post)とUndoは、両方向で動作し、テスト済みです。
    
    -   Welleyは、投稿のURIをobjectにしたFollowを送ります。
    -   受信した投稿のフォローとUndoで、投稿の購読が更新されます。
    -   投稿のフォローは、その投稿者のフォローとは別です。
    
    FEPの最新版では、フォローできるオブジェクトを見つけるためにfollowersコレクションを使います。Welleyの投稿は、そのコレクションも汎用の検出アルゴリズムも公開していません。Welleyでは、この機能は今も古い名前の「フォローした投稿」を使っています。
    
    [提案を読む](https://codeberg.org/fediverse/fep/src/branch/main/fep/efda/fep-efda.md) [スレッドの読み方](https://welley.com/ja/posts/thread-reading/)
    
-   FEP-f1d5
    
    ## FediverseソフトウェアのNodeInfo
    
    他のサーバーは、NodeInfoを通じて、Welleyのソフトウェアとプロトコルの詳細を見つけられます。
    
    WelleyはNodeInfoの検出と2.0のレスポンスに対応しています。
    
    -   公開の検出エンドポイントは、NodeInfo 2.0ドキュメントにリンクしています。
    -   ドキュメントには、ソフトウェアのバージョン、ActivityPubへの対応、FASPのベースURLが載っています。
    
    今のところ、レスポンスの利用状況の数と登録状況は固定値です。リアルタイムのサーバー統計としては当てにしないでください。2.1のルートはありません。
    
    [提案を読む](https://codeberg.org/fediverse/fep/src/branch/main/fep/f1d5/fep-f1d5.md) [サーバーについて](https://welley.com/ja/server-admin/server-about/) [リモートドメイン](https://welley.com/ja/federation/federation-domains/)
    
-   FEP-fe34
    
    ## オリジンベースのセキュリティモデル
    
    オリジンのチェックは、あるサーバーが、別のサーバーに属するコンテンツや権限を名乗るのを防ぐのに役立ちます。
    
    Welleyにはオリジンに基づくセキュリティチェックがいくつかあり、テスト済みです。
    
    -   Welleyは、URIのスキーム、ホスト、実効ポートを比較します。
    -   オブジェクトのオリジンがアクターのオリジンと一致しない場合、inboxは特定のactivityを拒否します。
    -   リモートの取得、引用、コレクション、プレゼンスの経路には、さらにオリジンのチェックが加わります。
    
    これはセキュリティモデルの一部にすぎません。Object Integrity Proofsは提供していません。
    
    [提案を読む](https://codeberg.org/fediverse/fep/src/branch/main/fep/fe34/fep-fe34.md) [リモートドメイン](https://welley.com/ja/federation/federation-domains/)
