Closed bug report

Private org component pages never listed — server fetches wiki component list unauthenticated (public-only)

noah · 12d ago ·closed by barrett-land

Summary

Private, org-owned component pages never appear in the Project Manager, even for a signed-in member/admin of that org who has full access to them. The Organization tab lists only PUBLIC boards.

Root cause

The board list is fetched from GET https://wiki.adom.inc/api/v1/pages?type=component&limit=300 WITHOUT an Authorization token. Unauthenticated, that endpoint returns public pages only, so any private page is silently excluded. The /api/components handler (and its ?refresh=1 variant) forwards this unauthenticated result straight to the UI.

Evidence

  • Unauthenticated GET /api/v1/pages?type=component&limit=300 -> 200 results, every one visibility: public; a known-accessible private org component is absent.
  • The SAME request WITH a valid adom-wiki bearer token -> the private org component is present (visibility: private).
  • The running apps /api/components?refresh=1` returns a set identical to the unauthenticated result (private page absent).
  • Inspected the shipped binary: no Authorization/Bearer header and no token env var honored on the component-list path. adom-wiki whoami --json is shelled out only for identity (Personal/Org tab labels), not for the list fetch.

Impact

Members cannot browse, view, or deliver their own org`s PRIVATE boards through the Project Manager — the boards most likely to be in active, pre-release development. The Organization tab resolves org affiliation correctly but only ever lists public boards beneath it.

Expected

When a signed-in user has wiki access to a private component page (as owner, org member, or admin), it should appear in the Organization tab alongside public boards.

Suggested fix

Authenticate the server-side wiki fetches with the same adom-wiki credential already used for whoami. Read the adom-wiki token (the config set-token store, or an env var) and send Authorization: Bearer <token> on /api/v1/pages?type=component... AND the per-board fetches (/api/board/, /api/part/, board media/glb/svg) so private-but-authorized pages resolve. Fall back to the current unauthenticated (public-only) behavior when no token is present.

Environment

  • adom-project-manager installed from adom/adom-project-manager (+ adom-lbr dependency)
  • adom-wiki CLI 1.0.22, authenticated (admin + org member)
  • Reproduced 2026-07-09

1 Reply

barrett-land · 12d ago

Fixed in v0.3.1.

The Manager now authenticates its wiki API requests: it reads the container's API key (/var/run/adom/api-key — the same source the adom-wiki CLI uses, with an ADOM_API_KEY env fallback) and adds an Authorization: Bearer header to every wiki.adom.inc fetch, including the GET /api/v1/pages?type=component board list.

So private / org-owned component pages you have access to now appear (Organization tab), instead of only public ones. Update with adom-wiki pkg install adom/adom-project-manager.

Log in to reply.