Builds Spark (minus the Install4j distributables) after every change to the code.

Build: #24 did not start Changes by wroot <wrooot@users.noreply.github.com> and Guus der Kinderen

Code commits

Spark (master)

  • wroot <wrooot@users.noreply.github.com>

    wroot <wrooot@users.noreply.github.com> 91caf4288b161947ed6065cc0b86439cce641788

    Merge pull request #336 from guusdk/SPARK-1757_ChatWindow-rework
    Transcript Window should be recomposable. SPARK-1757, SPARK-1909

  • Guus der Kinderen

    Guus der Kinderen 5532f2151893cbaa8ab9e3d62ce8037cb187ad72

    Transcript Window should be recomposable.
    This commit started off as a fix for SPARK-1757, but ended up being somewhat of a rewrite of the
    code that displays chat messages in the UI (the 'chat transcript window').

    The original problem defines that chat messages are sometimes displayed out of order. The direct cause
    of this is unknown (I suspect threading/timing issues). To work around the issue, this commit now
    adds the capability to recompose the entire transcript window from memory.

    A drawback of this is that a(nother) copy of the chat is now kept in memory (the 'entries' list that
    is now added to TranscriptWindow). This might make Spark use more memory.

    I've opted for a rewrite, as in the course of applying fixes to the existing code, I repreatedly got
    lost in the jungle of reuse of styling, particularly. This commit adds new classes for all types of
    entries in the Transcript Window (typically, a chat message), and makes each class responsible for
    creating a UI representation of that type of entry. This removed quite a bit of boiler plate code.

    As each entry now contains the original message, it's make-up as well as timestamp, the transcript
    window is easily redrawn when messages start to arrive out of order. That bit is now implemented as
    a responsibility of the TranscriptWindow class.

    Various smaller changes were made:
    - ctrl-space nickname completion in a MUC now no longer considers users on your roster (but not in the MUC)
    - ctrl-space nickname completion now works for users that have no VCard (uses node-part of the JID instead)
    - message color is now configurable (but still defaults to black).

    • core/src/main/java/org/jivesoftware/spark/Workspace.java (version 5532f2151893cbaa8ab9e3d62ce8037cb187ad72)
    • core/src/main/java/org/jivesoftware/spark/ui/ChatArea.java (version 5532f2151893cbaa8ab9e3d62ce8037cb187ad72)
    • core/src/main/java/org/jivesoftware/spark/ui/ChatInputEditor.java (version 5532f2151893cbaa8ab9e3d62ce8037cb187ad72)
    • core/src/main/java/org/jivesoftware/spark/ui/ChatRoom.java (version 5532f2151893cbaa8ab9e3d62ce8037cb187ad72)
    • core/src/main/java/org/jivesoftware/spark/ui/ChatRoomTransferHandler.java (version 5532f2151893cbaa8ab9e3d62ce8037cb187ad72)
    • core/src/main/java/org/jivesoftware/spark/ui/CustomTextEntry.java (version 5532f2151893cbaa8ab9e3d62ce8037cb187ad72)
    • core/src/main/java/org/jivesoftware/spark/ui/HorizontalLineEntry.java (version 5532f2151893cbaa8ab9e3d62ce8037cb187ad72)
    • core/src/main/java/org/jivesoftware/spark/ui/MessageEntry.java (version 5532f2151893cbaa8ab9e3d62ce8037cb187ad72)
    • core/src/main/java/org/jivesoftware/spark/ui/StartOfDayEntry.java (version 5532f2151893cbaa8ab9e3d62ce8037cb187ad72)
    • core/src/main/java/org/jivesoftware/spark/ui/TimeStampedEntry.java (version 5532f2151893cbaa8ab9e3d62ce8037cb187ad72)
    • core/src/main/java/org/jivesoftware/spark/ui/TranscriptWindow.java (version 5532f2151893cbaa8ab9e3d62ce8037cb187ad72)
    • core/src/main/java/org/jivesoftware/spark/ui/TranscriptWindowEntry.java (version 5532f2151893cbaa8ab9e3d62ce8037cb187ad72)
    • core/src/main/java/org/jivesoftware/spark/ui/rooms/ChatRoomImpl.java (version 5532f2151893cbaa8ab9e3d62ce8037cb187ad72)
    • core/src/main/java/org/jivesoftware/sparkimpl/plugin/alerts/BroadcastPlugin.java (version 5532f2151893cbaa8ab9e3d62ce8037cb187ad72)
    • core/src/main/resources/default.properties (version 5532f2151893cbaa8ab9e3d62ce8037cb187ad72)