ReadOnly now actually stops you typing

Fixkamo-internal
Ya
3 Septemba 2026, 03:00 UTC
Mwandishi
Kamo
Ahadi ya
b08f3b3

REPORTED: the script blocks in the Interaction Center are editable. They were, and so is every other "read-only" rich-text surface in the app. `readOnly` on KbArticleEditor only ever did `{!readOnly && <EditorToolbar/>}`. It hid the toolbar and left the ContentEditable underneath fully live, so a reader was a box that accepted keystrokes and threw them away — none of these surfaces wire up a save. Worse than refusing the text, because the edit looks like it worked and is gone on the next open. The notes reader already knew: NoteEditor carries a comment saying exactly this and works around it by not mounting the component at all. A workaround only helps the caller who knows. The KB article viewer did not know, and has been letting people type into published articles ever since. Two fixes, because there were two problems: * KbArticleEditor gains EditableSync, which calls lexical.setEditable(false). That is the real mechanism — contentEditable comes off the surface, so there is no caret and nothing to type into. Every caller of readOnly is fixed by it, the KB viewer included. * The script reader stops mounting an editor at all and renders through RichTextView, the component built for this: sanitised HTML, no editor runtime. A script is a dozen blocks, and a dozen Lexical instances to show prose in a side panel is a lot of machinery for text nobody may type into. readerIsNotEditable.test.tsx pins both halves — that a rendered block contains no editable node, and that the reader has not gone back to mounting an editor.

Mabadiliko yote

Je, unaona nini kuhusu usafiri?

Kila moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.

Kuwa Huru MileleMtazamo wa bei