Skip to content

Backport the preloaded FEP-ef61 context to all maintenance branches #982

Description

@dahlia

Problem

While processing incoming ActivityPub requests, Fedify attempts to load the following JSON-LD context remotely:

https://w3id.org/fep/ef61

The URL currently redirects to:

https://raw.codeberg.page/fediverse/fep/fep/ef61/fep-ef61.jsonld

When the remote endpoint temporarily returned HTTP 502, Fedify failed to parse the incoming document and aborted inbox request processing.

A shortened version of the log:

ERR fedify·runtime·docloader: Failed to fetch document: 502 'https://raw.codeberg.page/fediverse/fep/fep/ef61/fep-ef61.jsonld'

ERR fedify·federation·http: An error occurred while serving request 'POST' ...
jsonld.InvalidUrl: Dereferencing a URL did not result in a valid JSON-LD object. URL: "https://w3id.org/fep/ef61"

details: {
  code: 'loading remote context failed',
  url: 'https://w3id.org/fep/ef61',
  cause: FetchError: ... HTTP 502
}

This happened repeatedly within a few minutes, so temporary availability problems at the context host can prevent otherwise valid incoming activities from being processed.

Expected behavior

Processing an activity that references the FEP-ef61 context should not depend on the availability of the remote context server.

Existing fix

The FEP-ef61 context is already vendored and registered in the preloaded context loader on main, as part of #830 and #928.

However, the fix is not included in the currently maintained release branches. Could the context-preloading portion of #928 be backported to all of the following branches?

  • 2.0-maintenance
  • 2.1-maintenance
  • 2.2-maintenance
  • 2.3-maintenance

This should allow applications on every maintained Fedify release line to process documents referencing https://w3id.org/fep/ef61 without depending on the availability of the remote context server.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Fields

    Priority

    None yet

    Effort

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions