diff options
author | Tulir Asokan <tulir@maunium.net> | 2020-05-10 02:28:32 +0300 |
---|---|---|
committer | Tulir Asokan <tulir@maunium.net> | 2020-05-10 02:28:34 +0300 |
commit | 2cebe3b5dc0a17f46cb5e4122a16ed73e9e90d97 (patch) | |
tree | c5e0078630f339a0ccb627ce384dd891819fc527 /ui | |
parent | 4e2cbf1e4fc40fb5c78c32567a0622a6ce63eeba (diff) |
Move loaded history pointer to message view
When it was in the history manager, it wouldn't get unloaded when the room was unloaded.
Hopefully fixes #136
Diffstat (limited to 'ui')
-rw-r--r-- | ui/message-view.go | 2 | ||||
-rw-r--r-- | ui/view-main.go | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/ui/message-view.go b/ui/message-view.go index 596b9b0..2410cd5 100644 --- a/ui/message-view.go +++ b/ui/message-view.go @@ -51,6 +51,7 @@ type MessageView struct { // Used for locking loadingMessages int32 + historyLoadPtr uint64 _widestSender uint32 _prevWidestSender uint32 @@ -109,6 +110,7 @@ func (view *MessageView) Unload() { view.ScrollOffset = 0 view._widestSender = 5 view.prevMsgCount = -1 + view.historyLoadPtr = 0 view.messagesLock.Unlock() view.msgBufferLock.Unlock() view.messageIDLock.Unlock() diff --git a/ui/view-main.go b/ui/view-main.go index af99b29..0f6098c 100644 --- a/ui/view-main.go +++ b/ui/view-main.go @@ -461,13 +461,15 @@ func (view *MainView) LoadHistory(roomID id.RoomID) { // Update the "Loading more messages..." text view.parent.Render() - history, err := view.matrix.GetHistory(roomView.Room, 50) + history, newLoadPtr, err := view.matrix.GetHistory(roomView.Room, 50, msgView.historyLoadPtr) if err != nil { roomView.AddServiceMessage("Failed to fetch history") debug.Print("Failed to fetch history for", roomView.Room.ID, err) view.parent.Render() return } + //debug.Printf("Load pointer %d -> %d", msgView.historyLoadPtr, newLoadPtr) + msgView.historyLoadPtr = newLoadPtr for _, evt := range history { roomView.AddHistoryEvent(evt) } |