Skip to content

Bump Fedify to a release that fixes fedify-dev/fedify#1394 #178

Open

Description

@2chanhaeng

A saved activity whose @context redefines a term protected by the context of Fedify's collection pages, such as proof, can be fetched on its own, but it makes the outbox page that embeds it invalid JSON-LD. The page answers 200 OK, yet OrderedCollectionPage.fromJsonLd() fails with protected term redefinition, so JSON-LD clients cannot read the other activities on that page either.

The cause is how Fedify composes the page's context with the embedded item's, tracked in fedify-dev/fedify#1394. It also occurs with ordinary Fedify vocabulary objects. fedify-dev/fedify#1356 does not fix this case.

Raised from #177 (comment).

Reproduction

Save and publish a public activity with this context:

{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    { "proof": "https://example.org/proof" }
  ],
  "type": "Like",
  "to": ["https://www.w3.org/ns/activitystreams#Public"],
  "object": "https://remote.example/notes/2"
}

Then fetch the actor's outbox page, /users/{actor}/outbox?cursor=, and parse the response with OrderedCollectionPage.fromJsonLd().

The test “pages an activity whose context redefines a protected term as JSON-LD” in packages/federation/src/serving.test.ts does this. It is marked with the expectFailure option of node:test and passes while parsing fails with protected term redefinition.

Completion criteria

  • The @fedify/* entries of the catalog in pnpm-workspace.yaml name a release that contains the fix for Cached item contexts can make collection pages invalid JSON-LD fedify#1394.
  • The test above no longer has the expectFailure option or its FIXME comment, and passes. Once the dependency includes the fix, the test fails until the option is removed, so the bump cannot leave it behind.
  • Both happen before DrFed 0.2.0 is released.

Drafted with assistance from Claude Code (claude-opus-5-5) and the user verified.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    Fields

    Priority

    None yet

    Effort

    None yet

    Projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions