Improve ActivityPub representations (#3844)
* Improve webfinger templates and make tests more flexible * Clean up AS2 representation of actor * Refactor outbox * Create activities representation * Add representations of followers/following collections, do not redirect /users/:username route if format is empty * Remove unused translations * ActivityPub endpoint for single statuses, add ActivityPub::TagManager for better URL/URI generation * Add ActivityPub::TagManager#to * Represent all attachments as Document instead of Image/Video specifically (Because for remote ones we may not know for sure) Add mentions and hashtags representation to AP notes * Add AP-resolvable hashtag URIs * Use ActiveModelSerializers for ActivityPub * Clean up unused translations * Separate route for object and activity * Adjust cc/to matrices * Add to/cc to activities, ensure announce activity embeds target status and not the wrapper status, add "id" to all collections
This commit is contained in:
		
							parent
							
								
									3fbf1bf35a
								
							
						
					
					
						commit
						8c45cd0e36
					
				
					 61 changed files with 443 additions and 725 deletions
				
			
		| 
						 | 
				
			
			@ -14,4 +14,6 @@ ActiveSupport::Inflector.inflections(:en) do |inflect|
 | 
			
		|||
  inflect.acronym 'StatsD'
 | 
			
		||||
  inflect.acronym 'OEmbed'
 | 
			
		||||
  inflect.acronym 'ActivityPub'
 | 
			
		||||
  inflect.acronym 'PubSubHubbub'
 | 
			
		||||
  inflect.acronym 'ActivityStreams'
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,4 @@
 | 
			
		|||
# Be sure to restart your server when you modify this file.
 | 
			
		||||
 | 
			
		||||
Mime::Type.register "application/json",           :json, %w( text/x-json application/jsonrequest application/jrd+json )
 | 
			
		||||
Mime::Type.register "text/xml",                   :xml,  %w( application/xml application/atom+xml application/xrd+xml )
 | 
			
		||||
Mime::Type.register "application/activity+json",  :activitystreams2
 | 
			
		||||
Mime::Type.register 'application/json', :json, %w(text/x-json application/jsonrequest application/jrd+json application/activity+json)
 | 
			
		||||
Mime::Type.register 'text/xml',         :xml,  %w(application/xml application/atom+xml application/xrd+xml)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Reference in a new issue