Plugin-Block: Bearbeiten-Knopf fehlt nach Wechsel in den Edit-Modus (stale isEditable) #160
Labels
No Label
area:auth
area:docs
area:export
area:ops
area:storage
area:supply-chain
auth
backend
blocked
collab
deployment
docs
effort:L
effort:M
effort:S
frontend
plugins
qa
vs-nfd
vs-nfd:blocker
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: stwaidele/dorfteich#160
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Beobachtet auf Prod v0.10.0 (Stefan, ChordPro-Block auf p/stefan-waidele/der-gammler): Im Edit-Modus der Seite bleibt der Plugin-Block im Anzeigemodus. Die Leiste (plugin-block__bar) zeigt nur den Plugin-Namen, der Bearbeiten-Knopf erscheint nicht - auch nicht nach Anklicken des Blocks.
Ursache: PluginBlockView liest editor.isEditable nur im Render (apps/web/src/editor/nodes/plugin-block.tsx). Die Seite startet immer im Lesemodus; der Moduswechsel ruft editor.setEditable() auf (PageEditorPage), was in TipTap nur ein update-Event emittiert, aber keine Transaction. React-NodeViews rendern bei setEditable nicht neu (updateProps feuert nur bei Node-Aenderung und Selektions-Wechsel, geprueft in @tiptap/react 3.27.1). Der Knopf haengt an editable && state === 'ready' - darum fertige Leiste ohne Knopf und ohne Lade-Status.
Betroffen sind alle Block-Plugins (ChordPro, Mermaid, Excalidraw, draw.io, ...). Der bestehende e2e-Pack plugin-blocks.spec.ts deckt den Fall nicht ab, weil dort der Block immer erst NACH dem Wechsel in den Edit-Modus eingefuegt wird.
Fix: editable in der NodeView reaktiv machen - das update-Event des Editors abonnieren und isEditable daraus lesen; zusaetzlich beim Wechsel editable->false einen Block, der gerade im Edit-Modus ist, auf render zurueckschalten (sonst zeigt der Lesemodus die Editier-UI des Plugins). Regression-Test im plugin-blocks-Pack: Block existiert bereits, Seite laedt im Lesemodus, Wechsel in den Edit-Modus muss den Knopf zeigen.
Behoben in PR #161 (Commit
db0e563) und mit Release v0.10.1 auf Prod deployt (Gate-Tag prod-v0.10.1-initial; Stefans Freigabe im Chat).db0e563bereits vor dem Release.Damit erscheint der Bearbeiten-Knopf an Plugin-Bloecken (ChordPro, Mermaid, Excalidraw, draw.io) jetzt direkt beim Wechsel in den Edit-Modus.