This might have to do with loading the chat history of a newly-opened window. When I modify the implementation of
org.jivesoftware.spark.ui.TranscriptWindow#add to return immediately (without doing anything), then the problem seems to disappear.
Update: I’ve narrowed it down further to the last invocation of
org.jivesoftware.spark.ui.CustomTextEntry#addTo that is performed when receiving the subject of the chatroom. Specifically, the ‘setCaretPosition’ method invocation seems where things freeze.
What’s interesting is, with that line disabled, this is the content of my text area after joining the room (all content that’s displayed is message history, there are no live messages added yet).
(10:56) guus.der.kinderen: So the tests are failing for 7, not 6?
(10:58) fishbowler: Tests are failing locally for me for 7.0.6 tag (which is also the tip of the 7.x.x branch)
(10:59) fishbowler: Not tried master (8.0.0 unreleased)
(10:59) guus.der.kinderen: Haargh, client issues prevent me from doing anything. 😡
(12:02) akrherz changed the subject to "Where Hope Springs Eternal ... Smack 4.4.2, Openfire 4.6.4, Spark 3.0.0-beta"
(11:00) guus.der.kinderen: Would you mind popping into firstname.lastname@example.org and ask jcbrand ?
(11:02) fishbowler: Sure!
(11:03) guus.der.kinderen: Tx
(11:20) fishbowler: Got another approach - just grabbing the tar from https://github.com/conversejs/converse.js/releases/tag/v7.0.6 - JC must've been happy with that, right?
Note that the subject is not the last line - even though it should have been sent by Openfire as the last stanza in response to a MUC room join. The timestamp of the subject probably is the timestamp of when it akrherz actually set that subject (which was many days ago).