diff --git a/CHANGELOG.md b/CHANGELOG.md index 4236bfa..aad6ead 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,3 +20,4 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### Fixed - Fixed post and profile page redirections. +- Fixed federation with GNU Social. diff --git a/src/activitypub/views.rs b/src/activitypub/views.rs index 88ea1e3..07da37a 100644 --- a/src/activitypub/views.rs +++ b/src/activitypub/views.rs @@ -45,6 +45,16 @@ pub fn is_activitypub_request(headers: &HeaderMap) -> bool { .and_then(|value| value.split(',').next()) .unwrap_or(""); return CONTENT_TYPES.contains(&content_type_str); + } else { + // No Accept header + let maybe_user_agent = headers.get("User-Agent") + .and_then(|value| value.to_str().ok()); + if let Some(user_agent) = maybe_user_agent { + if user_agent.contains("THIS. IS. GNU social!!!!") { + // GNU Social doesn't add Accept header + return true; + }; + }; }; false }