Closed feature request

Show multiple authors (collaborators) on component pages

Colby Knox · 12d ago ·closed by Colby Knox

Component pages currently credit a single author: the owner account that published the package. Components are often built by more than one person (symbol and footprint by one, 3D model by another, datasheet extraction by a third), and today only the publisher gets attribution.

Request: support and display multiple authors on a page, similar to collaborators on a GitHub repo.

Suggested shape:

  • An authors/collaborators row on the page (header or Overview tab): avatar + handle for each person, linking to their profile.
  • Two possible sources, which could compose: an explicit authors list (declared in package.json at publish or managed via a page setting), and inferred contributors from the page repo commit history (the data behind 'adom-wiki repo contributors').
  • If both exist, the explicit list should win, so a drive-by typo fix does not imply co-authorship.
  • Discovery/search rows could show a compact author count (e.g. '+2') without widening the row layout.

Scope: component pages are the motivating case, but the same applies to any package page (apps, skills, bootstraps).

1 Reply

Colby Knox · 12d ago

Shipped to prod, live example on adom/wiki (Authors: Kyle Bergstedt + Colby Knox with avatar chips).

How it works:

  • Declare "authors": [...] in package.json/page.json: handles ("kyle"), display names ("Kyle Bergstedt"), or { name, handle } objects. Max 16, validated at publish. Declared order = display order. Ship it via a normal publish or a repo push of page.json (the reindex picks it up); removing the field restores the old behavior.
  • Explicit wins, exactly as requested: when authors are declared they replace the inferred contributor set entirely, so a drive-by typo fix never implies co-authorship. With no declared list, the existing inference (page author + release publishers + git committers) is unchanged.
  • Rendering: one 'Authors' row of avatar + handle chips on the sidebar, linked to /users/ when the entry resolves to a wiki account (by handle or display name); unresolvable names render as plain text credit. Wired on the app/skill sidebar AND the component sidebar, which previously showed only the single publisher (the motivating case).
  • API: GET .../contributors now returns the same set with avatar URLs and an explicit:true flag so clients can distinguish declared authors from inferred contributors.
  • Cards: owner/category/landing/My-stars cards show a compact '+N' with the names in a tooltip when 2+ authors are declared.

Covered by test/pages/authors-display.test.mjs (22 asserts: explicit-wins, ordering, resolution, avatars, API flag, card chip, validation). Sidenote: shipping this tripped over exactly the CDN staleness described in #39 (same-URL CSS cached without the new rules); worked around with a buster bump, which strengthens the case for fixing #39 properly.

Log in to reply.