grammar-server v0.4.3
Rule ids in every response are now LanguageTool rule ids. Harper names several
rules after the words they catch — The, Cant, OpenCompounds (a lot),
RepeatedWords, ItsContraction — and unmapped ones went out as rule.id
untouched. A client that filters, groups or displays by rule id saw "The" where the
contract promises a rule name: invisible to LTeX and anything else matching on
LanguageTool ids, and it reads as a word rather than a rule. Thirteen of them were
reaching responses on ordinary prose; every one now presents the id, category and
issueType that api.languagetool.org/v2/check reports for the same mistake, measured
rather than guessed (IT_IS, MODAL_OF, ENGLISH_WORD_REPEAT_RULE, TOO_DETERMINER,
CANT, WERE_WHERE, WONT_CONTRACTION, COMMA_PARENTHESIS_WHITESPACE, THERE_THEIR,
and MORFOLOGIK_RULE_EN_US for the pure typos).
enabledOnly and enabledRules accept either spelling as before — the filter compares
the LanguageTool id and harper's native name — and the two new category ids (MISC,
CONFUSED_WORDS) are in the set /status-visible checks can actually emit, so naming
them is not reported as an incomplete check.
Two tests keep it that way: every id in the mapping table must be LanguageTool-shaped and
carry a category the server can emit, and a corpus of the sentences that used to leak is
driven through the real engine and asserted to come back with LanguageTool-shaped ids
only. Removing one mapping turns both red.
Also in this release: the bundle carries grammar-ui v0.4.4 (rephrase candidates can no
longer splice a stale range, and the Fix-sentence icon is an SVG instead of a glyph).