From e64df67ec397795b8c6ebd06b391d953afe5a766 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Tue, 24 Apr 2018 16:51:40 +0300 Subject: Everything is no longer broken --- ui/view-main.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'ui/view-main.go') diff --git a/ui/view-main.go b/ui/view-main.go index ba3a55b..473ab94 100644 --- a/ui/view-main.go +++ b/ui/view-main.go @@ -336,12 +336,11 @@ func (view *MainView) RemoveRoom(roomID string) { view.parent.Render() } -func (view *MainView) SetRooms(roomIDs []string) { +func (view *MainView) SetRooms(rooms map[string]*rooms.Room) { view.roomList.Clear() view.roomView.Clear() view.rooms = make(map[string]*RoomView) - for _, roomID := range roomIDs { - room := view.matrix.GetRoom(roomID) + for _, room := range rooms { view.roomList.Add(room) view.addRoomPage(room) } -- cgit v1.2.3 From 9ccceb48b98a999eb31de113bd0b994844ce7dc3 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Tue, 24 Apr 2018 22:08:09 +0300 Subject: Disable initial history fetch (comes with initial sync) --- ui/view-main.go | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) (limited to 'ui/view-main.go') diff --git a/ui/view-main.go b/ui/view-main.go index 473ab94..f3fb210 100644 --- a/ui/view-main.go +++ b/ui/view-main.go @@ -173,7 +173,7 @@ func (view *MainView) KeyEventHandler(roomView *RoomView, key *tcell.EventKey) * msgView := roomView.MessageView() if msgView.IsAtTop() && (k == tcell.KeyPgUp || k == tcell.KeyUp) { - go view.LoadHistory(roomView.Room.ID, false) + go view.LoadHistory(roomView.Room.ID) } switch k { @@ -215,7 +215,7 @@ func (view *MainView) MouseEventHandler(roomView *RoomView, event *tcell.EventMo switch event.Buttons() { case tcell.WheelUp: if msgView.IsAtTop() { - go view.LoadHistory(roomView.Room.ID, false) + go view.LoadHistory(roomView.Room.ID) } else { msgView.AddScrollOffset(WheelScrollOffsetDiff) @@ -293,11 +293,9 @@ func (view *MainView) addRoomPage(room *rooms.Room) { view.roomView.AddPage(room.ID, roomView, true, false) roomView.UpdateUserList() - count, err := roomView.LoadHistory(view.matrix, view.config.HistoryDir) + _, err := roomView.LoadHistory(view.matrix, view.config.HistoryDir) if err != nil { debug.Printf("Failed to load history of %s: %v", roomView.Room.GetTitle(), err) - } else if count <= 0 { - go view.LoadHistory(room.ID, true) } } } @@ -314,8 +312,10 @@ func (view *MainView) GetRoom(roomID string) ifc.RoomView { func (view *MainView) AddRoom(roomID string) { if view.roomList.Contains(roomID) { + debug.Print("Add aborted", roomID) return } + debug.Print("Adding", roomID) room := view.matrix.GetRoom(roomID) view.roomList.Add(room) view.addRoomPage(room) @@ -324,8 +324,10 @@ func (view *MainView) AddRoom(roomID string) { func (view *MainView) RemoveRoom(roomID string) { roomView := view.GetRoom(roomID) if roomView == nil { + debug.Print("Remove aborted", roomID) return } + debug.Print("Removing", roomID) view.roomList.Remove(roomView.MxRoom()) view.SwitchRoom(view.roomList.Selected()) @@ -424,7 +426,7 @@ func (view *MainView) NotifyMessage(room *rooms.Room, message ifc.Message, shoul view.roomList.Bump(room) } -func (view *MainView) LoadHistory(room string, initial bool) { +func (view *MainView) LoadHistory(room string) { defer debug.Recover() roomView := view.rooms[room] @@ -445,12 +447,7 @@ func (view *MainView) LoadHistory(room string, initial bool) { return } - if initial { - batch = view.config.Session.NextBatch - debug.Print("Loading initial history for", room) - } else { - debug.Print("Loading more history for", room, "starting from", batch) - } + debug.Print("Fetching history for", room, "starting from", batch) history, prevBatch, err := view.matrix.GetHistory(roomView.Room.ID, batch, 50) if err != nil { roomView.AddServiceMessage("Failed to fetch history") -- cgit v1.2.3 From 6aceb4f8d2061fb99fd16deda58f4807d81a6ff7 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Tue, 24 Apr 2018 22:46:16 +0300 Subject: Fix First(), Last(), Next() and Previous() of RoomList --- ui/view-main.go | 3 +++ 1 file changed, 3 insertions(+) (limited to 'ui/view-main.go') diff --git a/ui/view-main.go b/ui/view-main.go index f3fb210..d20fed3 100644 --- a/ui/view-main.go +++ b/ui/view-main.go @@ -319,6 +319,9 @@ func (view *MainView) AddRoom(roomID string) { room := view.matrix.GetRoom(roomID) view.roomList.Add(room) view.addRoomPage(room) + if !view.roomList.HasSelected() { + view.SwitchRoom(view.roomList.First()) + } } func (view *MainView) RemoveRoom(roomID string) { -- cgit v1.2.3