Javascript Stream Bypass

Recently Seaside 3.6 removed JavaScript string support in favor of a canvas and brushes. This causes a walkback when the editor is opened in Pier:

Seaside Walkback
MessageNotUnderstood: Message not understood: JSStream>>#stream
Debug Proceed Full Stack
Possible Causes
- you sent a message this type of object doesn't understand
Stack Trace
- thisContext
     JSStream(Object)>>doesNotUnderstand: #stream

It comes from this method:

PRWysiwygEditor>>renderSetEditorHtmlContentJS
        | renderer wysiwygHtml jsStream |
        renderer := PRWysiwygEditorRenderer new.
        wysiwygHtml := WAHtmlCanvas builder
                render: [ :r |
                        renderer withinContentDo: [
                                renderer start: self document in: self on: r ] ].
 
        jsStream := JSStream new.
        jsStream nextPutAll: 'pierWysiwygEditor.setEditorHTML('.
        JSStream encodeString: wysiwygHtml on: jsStream stream.
        jsStream nextPutAll: ')'.
 
        ^ jsStream

The message encodeString:on: has also been removed from JSStream. To patch this problem, the old methods were moved into PRWysiwygEditor.

Posted by John Borden at 23 January 2026, 3:57 am with tags Pier link

Leave your comment