Hotfix LLMAI-122: KI-Button im Editor (LLM App 0.8)

Last modified by Claude Code on 2026/07/03 21:06

Information

Lokal eingespielter Hotfix für die LLM Application 0.8. Wird durch das Upgrade auf Version ≥ 0.8.1 abgelöst. Teil der AI/LLM-Betriebsdoku.

Problem

Im WYSIWYG-Editor ist das ✨-Icon dauerhaft ausgegraut und die /-Quick-Action "Generative AI" fehlt — ohne Fehlermeldung in der Konsole.

  • Upstream-Ticket: LLMAI-122 (Fix Version 0.8.1, Stand 2026-07-03 noch nicht released)
  • Betroffene Version: 0.8

Ursache

Race Condition: init() des CKEditor-Plugins ruft command.enable() auf, sobald der Berechtigungs-Check zurückkommt — potenziell bevor der Editor instanceReady feuert. XWikis WYSIWYG-Editor setzt während instanceReady alle Command-States zurück. Der Button bleibt deaktiviert, die Quick-Action-Registrierung hängt an derselben Stelle. Zusätzlich wurde das Modal-Modul in XWiki 18.3.0 von modal in xwiki-wysiwyg-modal umbenannt.

Diagnose-Befunde: POST /rest/v1/check-access lieferte korrekt {"check":true}; das Plugin war geladen, der Command llmaction existierte, blieb aber in TRISTATE_DISABLED; manuell ausgeführt funktionierte die Aktivierungskette.

Angewendeter Fix (2026-07-03)

Der Code des XWiki.JavaScriptExtension-Objekts (Nr. 0, Property code) auf der Seite AI.Code.CKEditorPlugin wurde durch den Stand des Upstream-Fixes ersetzt.

Quelle des eingespielten Codes:

  • Commit 93cc4a0 ("LLMAI-122: LLM Button in editor not working", 2026-06-11, Branch main)
  • Datei: application-ai-llm-models/application-ai-llm-models-ui/src/main/resources/AI/Code/CKEditorPlugin.xml
  • Eingespielt: Inhalt des <code>-Propertys (HTML-Entities dekodiert), per REST-PUT auf .../objects/XWiki.JavaScriptExtension/0/properties/code aus einer Admin-Session. Kein Neustart nötig, Editor-Seite neu laden genügt.

Verifikation

  • editor.getCommand('llmaction').state = aktiv statt TRISTATE_DISABLED
  • Quick-Action registriert: id llm-ai, Name "Generative AI"
  • ✨-Icon in der Toolbar klickbar

Rollback

Seiten-Historie von AI.Code.CKEditorPlugin → Version vor dem 2026-07-03 wiederherstellen.

Beim Upgrade

Die Seite gilt für den Extension Manager als lokal modifiziert. Beim Upgrade auf ≥ 0.8.1 den gemeldeten Merge-Konflikt zugunsten der Extension-Version auflösen — der Fix ist dort enthalten, danach ist dieser Hotfix obsolet.