Skip to content

fix(dictionary-de): declare plugin API 0.16.0 so current apps load it - #24

Open
hamidfzm wants to merge 2 commits into
mainfrom
fix/dictionary-de-api-version
Open

hamidfzm wants to merge 2 commits into
mainfrom
fix/dictionary-de-api-version

Conversation

@hamidfzm

@hamidfzm hamidfzm commented Nov 12, 2026 •

Copy link
Copy Markdown
Member

Summary

com.glyph.dictionary-de 1.0.0 declares apiVersion 0.28.0, which no released app has. The marketplace lists a plugin every current app refuses to load, and the app's Tests / Plugin contract job, which checks every published entry against the current host (0.27.1), now fails on every hamidfzm/glyph pull request: com.glyph.dictionary-de: expected false to be true.

German only calls registerDictionary, which API 0.16.0 already has, so it now declares 0.16.0 and loads on current apps. Compound words are the part that needs more: the app's built-in checker ignores the compound flags igerman98 relies on. Hunspell, which handles them, becomes an engine plugin in Glyph 0.28.0 (hamidfzm/glyph#1052), so the README now says to install it with the dictionary.

Changes

  • manifest.json and plugin.json: apiVersion 0.16.0, version 1.0.1. The release job publishes the new package and rewrites packageUrl and sha256.
  • README.md: compound words need the Hunspell plugin (Glyph 0.28.0 or later).
  • docs/api-reference.md and docs/recipes.md said Glyph 0.28.0 checks with Hunspell itself. The app keeps its built-in checker instead, and ctx.spellcheck.registerEngine (API 0.28) lets an app-context plugin replace it, so the reference documents registerEngine and lists it among the APIs the sandbox refuses, and the recipe points compounding dictionaries at an engine plugin.
  • index.json, index/language.json and docs/plugin-catalog.md regenerated with scripts/build-index.mjs.

Testing

  • npm ci --ignore-scripts && node --test: 36 passing, including the German word list.
  • node scripts/check-plugins.mjs passes.

German declared apiVersion 0.28.0, which no released app satisfies yet, so the marketplace listed a plugin that every current app refuses and the app's plugin contract check failed on every pull request. The dictionary only uses registerDictionary, which 0.16.0 has: it now loads everywhere, and its README says compound words need the Hunspell engine plugin (Glyph 0.28.0 or later), since the built-in checker underlines them. Version 1.0.1.
The API reference and the dictionary recipe said Glyph 0.28.0 checks with Hunspell itself, which it no longer will: the app keeps its built-in checker, and ctx.spellcheck.registerEngine (API 0.28) lets an app-context plugin replace it for every dictionary. The reference documents registerEngine and lists it among the APIs the sandbox refuses, and the recipe tells compounding dictionaries to point at an engine plugin instead of declaring 0.28.0.

This branch has not been deployed

No deployments
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