From 8b18195075402bc907222bacf6ed10b29b5274a2 Mon Sep 17 00:00:00 2001 From: David Roetzel Date: Wed, 3 Jun 2026 15:56:38 +0200 Subject: [PATCH] Add missing FeaturedCollection vocabulary to contexts (#39251) --- app/helpers/context_helper.rb | 17 +++++++++++++++++ .../feature_authorization_serializer.rb | 2 ++ .../activitypub/feature_request_serializer.rb | 2 ++ .../featured_collection_serializer.rb | 2 ++ .../activitypub/featured_item_serializer.rb | 2 ++ 5 files changed, 25 insertions(+) diff --git a/app/helpers/context_helper.rb b/app/helpers/context_helper.rb index f7e74481b2..e092a441e9 100644 --- a/app/helpers/context_helper.rb +++ b/app/helpers/context_helper.rb @@ -42,6 +42,7 @@ module ContextHelper interaction_policies: { 'gts' => 'https://gotosocial.org/ns#', 'interactionPolicy' => { '@id' => 'gts:interactionPolicy', '@type' => '@id' }, + 'canFeature' => { '@id' => 'https://w3id.org/fep/7aa9#canFeature', '@type' => '@id' }, 'canQuote' => { '@id' => 'gts:canQuote', '@type' => '@id' }, 'automaticApproval' => { '@id' => 'gts:automaticApproval', '@type' => '@id' }, 'manualApproval' => { '@id' => 'gts:manualApproval', '@type' => '@id' }, @@ -52,6 +53,22 @@ module ContextHelper 'interactingObject' => { '@id' => 'gts:interactingObject', '@type' => '@id' }, 'interactionTarget' => { '@id' => 'gts:interactionTarget', '@type' => '@id' }, }, + feature_requests: { 'FeatureRequest' => 'https://w3id.org/fep/7aa9#FeatureRequest' }, + featured_collections: { + 'FeaturedCollection' => 'https://w3id.org/fep/7aa9#FeaturedCollection', + 'FeaturedItem' => 'https://w3id.org/fep/7aa9#FeaturedItem', + 'FeatureRequest' => 'https://w3id.org/fep/7aa9#FeatureRequest', + 'FeatureAuthorization' => 'https://w3id.org/fep/7aa9#FeatureAuthorization', + 'topic' => { '@id' => 'https://w3id.org/fep/7aa9#topic', '@type' => '@id' }, + 'featuredObject' => { '@id' => 'https://w3id.org/fep/7aa9#featuredObject', '@type' => '@id' }, + 'featureAuthorization' => { '@id' => 'https://w3id.org/fep/7aa9#featureAuthorization', '@type' => '@id' }, + }, + feature_authorizations: { + 'gts' => 'https://gotosocial.org/ns#', + 'FeatureAuthorization' => 'https://w3id.org/fep/7aa9#FeatureAuthorization', + 'interactingObject' => { '@id' => 'gts:interactingObject', '@type' => '@id' }, + 'interactionTarget' => { '@id' => 'gts:interactionTarget', '@type' => '@id' }, + }, }.freeze def full_context diff --git a/app/serializers/activitypub/feature_authorization_serializer.rb b/app/serializers/activitypub/feature_authorization_serializer.rb index 4181025802..5a34229d73 100644 --- a/app/serializers/activitypub/feature_authorization_serializer.rb +++ b/app/serializers/activitypub/feature_authorization_serializer.rb @@ -3,6 +3,8 @@ class ActivityPub::FeatureAuthorizationSerializer < ActivityPub::Serializer include RoutingHelper + context_extensions :feature_authorizations + attributes :id, :type, :interacting_object, :interaction_target def id diff --git a/app/serializers/activitypub/feature_request_serializer.rb b/app/serializers/activitypub/feature_request_serializer.rb index a7a22f4ea0..b1b84e62d1 100644 --- a/app/serializers/activitypub/feature_request_serializer.rb +++ b/app/serializers/activitypub/feature_request_serializer.rb @@ -1,6 +1,8 @@ # frozen_string_literal: true class ActivityPub::FeatureRequestSerializer < ActivityPub::Serializer + context_extensions :feature_requests + attributes :id, :type, :instrument attribute :virtual_object, key: :object diff --git a/app/serializers/activitypub/featured_collection_serializer.rb b/app/serializers/activitypub/featured_collection_serializer.rb index b83e0bf9ea..213f5b4e92 100644 --- a/app/serializers/activitypub/featured_collection_serializer.rb +++ b/app/serializers/activitypub/featured_collection_serializer.rb @@ -1,6 +1,8 @@ # frozen_string_literal: true class ActivityPub::FeaturedCollectionSerializer < ActivityPub::Serializer + context_extensions :discoverable, :featured_collections, :hashtag, :sensitive + attributes :id, :type, :total_items, :name, :attributed_to, :url, :sensitive, :discoverable, :published, :updated diff --git a/app/serializers/activitypub/featured_item_serializer.rb b/app/serializers/activitypub/featured_item_serializer.rb index 4620c2d71a..527c611c46 100644 --- a/app/serializers/activitypub/featured_item_serializer.rb +++ b/app/serializers/activitypub/featured_item_serializer.rb @@ -3,6 +3,8 @@ class ActivityPub::FeaturedItemSerializer < ActivityPub::Serializer include RoutingHelper + context_extensions :featured_collections + attributes :id, :type, :featured_object, :feature_authorization, :published def id