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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions