From 3fba5550d5460781f7c24d50e1d7687817f60445 Mon Sep 17 00:00:00 2001 From: Laura Hausmann Date: Tue, 23 Jan 2024 02:24:06 +0100 Subject: [PATCH] Add mastodon-specific namespace to json-ld loader --- .../ActivityStreams/Contexts/toot.json | 9 +++++++++ .../Federation/ActivityStreams/LDHelpers.cs | 17 ++++++++++++----- 2 files changed, 21 insertions(+), 5 deletions(-) create mode 100644 Iceshrimp.Backend/Core/Federation/ActivityStreams/Contexts/toot.json diff --git a/Iceshrimp.Backend/Core/Federation/ActivityStreams/Contexts/toot.json b/Iceshrimp.Backend/Core/Federation/ActivityStreams/Contexts/toot.json new file mode 100644 index 00000000..1851404f --- /dev/null +++ b/Iceshrimp.Backend/Core/Federation/ActivityStreams/Contexts/toot.json @@ -0,0 +1,9 @@ +{ + "@context": { + "toot": "http://joinmastodon.org/ns#", + "discoverable": "toot:discoverable", + "devices": "toot:devices", + "featured": "toot:featured", + "featuredTags": "toot:featuredTags" + } +} \ No newline at end of file diff --git a/Iceshrimp.Backend/Core/Federation/ActivityStreams/LDHelpers.cs b/Iceshrimp.Backend/Core/Federation/ActivityStreams/LDHelpers.cs index d07d72c6..36125ea8 100644 --- a/Iceshrimp.Backend/Core/Federation/ActivityStreams/LDHelpers.cs +++ b/Iceshrimp.Backend/Core/Federation/ActivityStreams/LDHelpers.cs @@ -19,6 +19,13 @@ public static class LdHelpers { Document = JToken.Parse(File.ReadAllText(Path.Combine("Core", "Federation", "ActivityStreams", "Contexts", "security.json"))) } + }, { + "http://joinmastodon.org/ns", new RemoteDocument { + ContextUrl = new Uri("http://joinmastodon.org/ns"), + DocumentUrl = new Uri("http://joinmastodon.org/ns"), + Document = JToken.Parse(File.ReadAllText(Path.Combine("Core", "Federation", "ActivityStreams", + "Contexts", "toot.json"))) + } } }; @@ -45,10 +52,10 @@ public static class LdHelpers { return result; } - public static JObject? Compact(object obj) => Compact(JToken.FromObject(obj)); - public static JArray? Expand(object obj) => Expand(JToken.FromObject(obj)); - public static JObject? Compact(JToken? json) => JsonLdProcessor.Compact(json, DefaultContext, Options); - public static JArray? Expand(JToken? json) => JsonLdProcessor.Expand(json, Options); - public static string Canonicalize(JArray json) => JsonLdProcessor.Canonicalize(json); + public static JObject? Compact(object obj) => Compact(JToken.FromObject(obj)); + public static JArray? Expand(object obj) => Expand(JToken.FromObject(obj)); + public static JObject? Compact(JToken? json) => JsonLdProcessor.Compact(json, DefaultContext, Options); + public static JArray? Expand(JToken? json) => JsonLdProcessor.Expand(json, Options); + public static string Canonicalize(JArray json) => JsonLdProcessor.Canonicalize(json); public static string Canonicalize(JObject json) => JsonLdProcessor.Canonicalize([json]); } \ No newline at end of file