Skip to content

fix(catalog): write plugin.yaml as block YAML so Desktop reads its name - #60

Merged
Adolanium merged 1 commit into
mainfrom
fix/desktop-package-name
Nov 8, 2026
Merged

Adolanium merged 1 commit into
mainfrom
fix/desktop-package-name

Conversation

@Adolanium

Copy link
Copy Markdown
Owner

Hermes Desktop reads a package's name from a name: line at the start of a line in plugin.yaml (detectPluginComponents in apps/desktop/electron/desktop-plugin-install.ts). scripts/build_catalog.py wrote catalog/plugin.yaml as JSON, which has no such line. A Desktop catalog install therefore fell back to the folder name and put the desktop half in desktop-plugins/catalog. The agent side parses the YAML and uses the package name, so the two halves disagreed. Every plugin packaged this way also collided in the same desktop-plugins/catalog folder, so installing a second one failed with Desktop plugin 'catalog' already exists. Adolanium/hermes-office#1 reported it, and Adolanium/hermes-office#2 fixed it there.

The build now writes block YAML with JSON scalars (name: "..."), still without a YAML library. It also refuses to write a manifest whose name Desktop wouldn't read, so the existing build_catalog.py --check CI step guards this. The manifest's fields and values are unchanged.

Tests:

  • Desktop's name pattern finds no name in the manifest on the default branch and reads the package name from the regenerated one.
  • build_catalog.py --check, the catalog policy tests (where the repo has them), py_compile and node --check pass.
  • hermes plugins validate passes on the regenerated catalog/ tree.

plugin.js is unchanged, so I didn't rerun the feature test suites. I didn't run a catalog install in Hermes Desktop.

Hermes Desktop reads a package's name from a `name:` line at the start of a line. The JSON manifest had none, so a catalog install put the desktop half in desktop-plugins/catalog instead of under the package name, and every package built this way collided there. The build now writes block YAML and refuses a manifest whose name Desktop would not read. Same fix as Adolanium/hermes-office#2.
@Adolanium
Adolanium merged commit 2182a64 into main Nov 8, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant