Skip to content

Plugin API seam: shared discovery documents — a link/JRD registry (api.webfinger.addLink) #606

Description

@melvincarvalho

Split from #602. api.reservePath handles exclusive claims on protocol-pinned paths, but the webfinger/remotestorage collision witnessed in the 33-plugin exercise is a different shape: both plugins legitimately own parts of the same /.well-known/webfinger document. A reservation primitive can only make that failure loud (one boot error instead of a silent loser) — it can't make it work.

The fix for shared documents is a registry: plugins contribute links/properties, the host owns the route and merges contributions into one JRD response.

Sketch

api.webfinger.addLink({ rel: 'http://tools.ietf.org/id/draft-dejong-remotestorage', href: ... });

or a generic api.documents.contribute('/.well-known/webfinger', mergeFn) if more shared docs emerge (host-meta, nodeinfo).

Consumers witnessed

  • webfinger/ + remotestorage/ (the collision pair — load order currently decides between a boot failure and silent link loss)
  • Potentially the DAV discovery docs and nodeinfo down the line.

Refs #602, the 33-plugin report.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions