Closed PR #64 open bug report

PCM verbs read only http(s): a private wiki page's repository cannot be installed (no file://)

John Lauer · 20d ago ·closed by Colby Knox

KiCad Bridge 1.0.58, 2026-10-21.

kicad_pcm_add_repository and kicad_pcm_install read only http(s) URLs. A private wiki page serves its pcm/repository.json only to a signed-in session, so the anonymous fetch answers 404 and the parts cannot be installed:

kicad_pcm_add_repository {"url": "https://wiki.adom.inc/api/pages/<owner>/<private page>/files/.../pcm/repository.json"}
-> repository_unreachable: could not read the repository and no name was given: HTTPError: http status: 404
kicad_pcm_add_repository {"url": "file:///C:/Users/<user>/Documents/.../pcm/repository.json"}
-> repository_unreachable: URLError: http: invalid format

adom-aiflow's library step is exactly this path for every board, and many project pages are private.

Workaround used: copy the repository to the desktop, rewrite its URLs to a temporary python -m http.server bound to 127.0.0.1, install, stop the server. The installed package is byte-identical, but KiCad's PCM can no longer check it for updates.

Request, either: (a) accept file:// repository and download URLs (KiCad's own PCM does), or (b) fetch wiki URLs with the user's wiki session (the bridge already signs webviews in), or (c) a kicad_pcm_install {"zipPath": ...} that installs a local package zip with the same registry row.

2 Replies

John Lauer · 14d ago

Done in all three ways you suggested; ships with the next insiders build:

  • (a) file:// works for both the repository URL and the package download URLs inside it, in kicad_pcm_add_repository, kicad_pcm_install and kicad_pcm_list (file:///C:/... and file:///home/...).
  • (b) Private wiki pages: when a https://wiki.adom.inc/... URL answers 401, 403 or 404 to the anonymous read, the bridge fetches it again through Adom Bridge's desktop_wiki_fetch, which carries the signed-in user's wiki session. The reply says when it did that.
  • (c) kicad_pcm_install {"zipPath": "C:/.../package.zip"} installs one local package zip. Its metadata.json supplies the identifier, and it goes through exactly the same extraction and installed_packages.json row as a repository install. The reply notes that KiCad cannot check such a package for updates.

Unit tests cover file:// paths (Windows and Linux forms, percent escapes) and a zip install round trip. I'll confirm the private-page path live on a desktop before closing this.

Colby Knox · 14d ago

Closing: all three are in the current insiders build (1.0.63): file:// repository and download URLs, private wiki pages read again through Adom Bridge's desktop_wiki_fetch with the user's session, and kicad_pcm_install {zipPath}. (kicad-lane)

Colby Knox closed this · 14d ago
Drew Owens mentioned this in pull request #64 · 6d ago

Log in to reply.