Skip to content

Commit 013d7e2

Browse files
committed
Merge tag '2.0.14' into 2.1-maintenance
Fedify 2.0.14
2 parents 42faffb + 49abdfa commit 013d7e2

3 files changed

Lines changed: 65 additions & 1 deletion

File tree

CHANGES.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,15 @@ Version 2.1.10
88

99
To be released.
1010

11+
### @fedify/vocab-runtime
12+
13+
- Added <https://join-lemmy.org/context.json> to preloaded JSON-LD contexts.
14+
Lemmy serves this context as `application/json` without a JSON-LD context
15+
`Link` header, which caused the default document loader to reject
16+
Lemmy-originated activities before application handlers could run. [[#714]]
17+
18+
[#714]: https://github.com/fedify-dev/fedify/issues/714
19+
1120

1221
Version 2.1.9
1322
-------------
@@ -425,6 +434,19 @@ Released on March 24, 2026.
425434
[#599]: https://github.com/fedify-dev/fedify/pull/599
426435

427436

437+
Version 2.0.14
438+
--------------
439+
440+
Released on April 23, 2026.
441+
442+
### @fedify/vocab-runtime
443+
444+
- Added <https://join-lemmy.org/context.json> to preloaded JSON-LD contexts.
445+
Lemmy serves this context as `application/json` without a JSON-LD context
446+
`Link` header, which caused the default document loader to reject
447+
Lemmy-originated activities before application handlers could run. [[#714]]
448+
449+
428450
Version 2.0.13
429451
--------------
430452

packages/vocab-runtime/src/contexts.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import didV1 from "./contexts/did-v1.json" with { type: "json" };
99
import fep5711 from "./contexts/fep-5711.json" with { type: "json" };
1010
import gotosocial from "./contexts/gotosocial.json" with { type: "json" };
1111
import identityV1 from "./contexts/identity-v1.json" with { type: "json" };
12+
import joinLemmyContext from "./contexts/join-lemmy.json" with { type: "json" };
1213
import joinmastodon from "./contexts/joinmastodon.json" with { type: "json" };
1314
import schemaorg from "./contexts/schemaorg.json" with { type: "json" };
1415
import securityDataIntegrityV1 from "./contexts/security-data-integrity-v1.json" with {
@@ -22,7 +23,6 @@ import securityMultikeyV1 from "./contexts/security-multikey-v1.json" with {
2223
};
2324
import securityV1 from "./contexts/security-v1.json" with { type: "json" };
2425
import webfinger from "./contexts/webfinger.json" with { type: "json" };
25-
2626
const preloadedContexts: Record<string, unknown> = {
2727
"https://www.w3.org/ns/activitystreams": activitystreams,
2828
"https://w3id.org/security/v1": securityV1,
@@ -36,6 +36,15 @@ const preloadedContexts: Record<string, unknown> = {
3636
"https://gotosocial.org/ns": gotosocial,
3737
"https://w3id.org/fep/5711": fep5711,
3838

39+
// Lemmy's context document is served as application/json without the JSON-LD
40+
// context Link header. The default document loader treats that as a regular
41+
// JSON response instead of a JSON-LD context, so every Lemmy activity that
42+
// references this URL fails before application handlers run. We ship a
43+
// built-in copy here so Fedify can parse Lemmy-originated activities without
44+
// application-level document loader workarounds.
45+
// See: https://github.com/fedify-dev/fedify/issues/714
46+
"https://join-lemmy.org/context.json": joinLemmyContext,
47+
3948
// Mastodon's "toot:" namespace. The URL http://joinmastodon.org/ns has
4049
// *never* served a real JSON-LD context document—Mastodon has always inlined
4150
// these term definitions directly in every outgoing @context array. However,
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
{
2+
"@context": [
3+
"https://w3id.org/security/v1",
4+
{
5+
"as": "https://www.w3.org/ns/activitystreams#",
6+
"lemmy": "https://join-lemmy.org/ns#",
7+
"litepub": "http://litepub.social/ns#",
8+
"pt": "https://joinpeertube.org/ns#",
9+
"sc": "http://schema.org/",
10+
"mastodon": "http://joinmastodon.org/ns#",
11+
"ChatMessage": "litepub:ChatMessage",
12+
"commentsEnabled": "pt:commentsEnabled",
13+
"sensitive": "as:sensitive",
14+
"matrixUserId": "lemmy:matrixUserId",
15+
"postingRestrictedToMods": "lemmy:postingRestrictedToMods",
16+
"removeData": "lemmy:removeData",
17+
"stickied": "lemmy:stickied",
18+
"moderators": {
19+
"@type": "@id",
20+
"@id": "lemmy:moderators"
21+
},
22+
"expires": "as:endTime",
23+
"distinguished": "lemmy:distinguished",
24+
"language": "sc:inLanguage",
25+
"identifier": "sc:identifier",
26+
"Hashtag": "as:Hashtag",
27+
"featured": {
28+
"@type": "@id",
29+
"@id": "mastodon:featured"
30+
}
31+
}
32+
]
33+
}

0 commit comments

Comments
 (0)