Commit graph

130 commits

Author SHA1 Message Date
Richard van der Hoff
3bd33d0985 Fix the missing date separator at the start of rooms
When we first hit the start of the room, we still have a pagination token, so
we hide the date separator. When we try to backpaginate again, we get an empty
result, and the pagination token is cleared.

Make sure that we update state. canBackPaginate even when there are no new
results, to handle this case.

Fixes https://github.com/vector-im/vector-web/issues/1014
2016-03-10 13:42:46 +00:00
Richard van der Hoff
ec2e27a754 Merge pull request #205 from matrix-org/rav/shouldComponentUpdates_2
Re-introduce shouldComponentUpdate methods in RoomView and TimelinePanel
2016-03-09 17:25:11 +00:00
Richard van der Hoff
aabdaa737e Merge pull request #204 from matrix-org/rav/jump_to_read_marker_fix
Make jump-to-read-marker work when the RM event isn't loaded.
2016-03-09 16:12:16 +00:00
Richard van der Hoff
4b333d2363 Update the timeline when a local echo arrives 2016-03-09 15:56:54 +00:00
Richard van der Hoff
393e8ff612 Revert "Revert "Merge pull request #193 from matrix-org/rav/shouldComponentUpdates""
Put the shouldComponentUpdate methods back in, now that Matthew has stopped
demoing.

This reverts commit 606fdcb8df.
2016-03-09 15:56:53 +00:00
Richard van der Hoff
b45c256427 Don't forceUpdate the message panel on resize
We don't really need to forceUpdate() the entire timeline panel every time
something might resize it. It is sufficient to forceUpdate the ScrollPanel.
2016-03-09 15:40:19 +00:00
Richard van der Hoff
f60ac2aa5f Make jump-to-read-marker work when the RM event isn't loaded.
If the event corresponding to the read-up-to mark hasn't been loaded into the
timeline window, we can't simply scroll to it. Instead, reload the timeline,
centered on the RM event.

Fixes https://github.com/vector-im/vector-web/issues/1055
2016-03-09 07:54:49 +00:00
Richard van der Hoff
606fdcb8df Revert "Merge pull request #193 from matrix-org/rav/shouldComponentUpdates"
This reverts commit a7c75b1315, reversing
changes made to b66ca74ede.

This is causing breakage in the messagepanel screen resize after video call and
room settings
2016-03-07 17:28:50 +00:00
Richard van der Hoff
a7c75b1315 Merge pull request #193 from matrix-org/rav/shouldComponentUpdates
Add shouldComponentUpdate() methods to RoomView and TimelinePanel
2016-03-07 11:50:38 +00:00
Richard van der Hoff
318bcb1284 Merge pull request #192 from matrix-org/rav/fix_read_receipts
Make sure we update the timelinepanel when a read-receipt arrives
2016-03-04 17:55:29 +00:00
Richard van der Hoff
bc5ae6a6ad Add shouldComponentUpdate() methods to RoomView and TimelinePanel
This will avoid re-rendering the whole RoomView every time we get a scroll
event, and might even help with https://github.com/vector-im/vector-web/issues/1056.
2016-03-04 14:51:55 +00:00
Richard van der Hoff
31df97e486 Make sure we update the timelinepanel when a read-receipt arrives
Fixes https://github.com/vector-im/vector-web/issues/1094
2016-03-04 14:47:11 +00:00
Richard van der Hoff
c14b62ee64 Reduce the number of messages we show in the DOM to 250
... as per https://github.com/vector-im/vector-web/issues/1077
2016-03-04 14:07:18 +00:00
Richard van der Hoff
1e3040d19a Fix a race condition handling gappy syncs
We had a problem handling gappy syncs: resetting the timeline would trigger a
pagination request (which would return no results, because there are no events
at this point); this would make the pagination requests which are spawned when
we process the events in the sync get ignored - with the result that we get a
blank window.

The fix is to avoid the ScrollPanel when we are processing new live events and
tell the TimelineWindow to paginate itself directly.
2016-03-01 10:52:56 +00:00
Richard van der Hoff
559f60d43e unmounted check in TimelinePanel 2016-02-29 17:06:38 +00:00
Richard van der Hoff
db1e1c7df0 Fix NPE when re-joining a room
Fix the length check on state.events
2016-02-26 23:05:41 +00:00
Richard van der Hoff
acfc7b3719 Don't throw exceptions when room changes in a timelinepanel
This does happen - fortunately only in circumstances where it's not a
problem. Downgrade the exception to a warning.

Fixes https://github.com/vector-im/vector-web/issues/1036
2016-02-26 22:39:25 +00:00
Richard van der Hoff
a9d363c668 Merge pull request #180 from matrix-org/rav/optimise_timeline_load
Make room-switching quicker
2016-02-26 13:29:35 +00:00
Richard van der Hoff
65ecbf93fe Merge pull request #178 from matrix-org/rav/reset_timeline
Reload the timeline when we get a gappy sync
2016-02-26 13:28:20 +00:00
Richard van der Hoff
0d1c85eb7c Make room-switching quicker
Avoid delaying a reactor tick when switching rooms, to make room-switching
(feel) a bit snappier.
2016-02-26 12:25:46 +00:00
Richard van der Hoff
e634f98a13 Show spinners when forward/back paginating. 2016-02-25 18:44:07 +00:00
Richard van der Hoff
4be29401ce Reload the timeline when we get a gappy sync
After a resume from sleep, we don't want to start paginating through the whole
timeline. If we were in 'stuckAtBottom' mode before, treat a gappy sync
similarly to how we handle the 'scroll to bottom' knob, which is to reload the
timelinewindow starting from scratch.

Fixes https://github.com/vector-im/vector-web/issues/932, and will probably
also fix https://github.com/vector-im/vector-web/issues/943, though I haven't
tested it yet.
2016-02-25 18:42:59 +00:00
Richard van der Hoff
10b55036f9 Merge branch 'rav/roomview_works' into develop
Implementation of new read-marker semantics (PR #160).
2016-02-24 17:26:46 +00:00
Richard van der Hoff
9eff426819 Merge commit '71e2495' into rav/roomview_works
Conflicts:
	src/components/structures/RoomView.js
2016-02-23 13:24:38 +00:00
Richard van der Hoff
776b6a26c3 Merge commit '9a0ea56' into rav/roomview_works
Conflicts:
	src/components/structures/RoomView.js
2016-02-23 13:02:02 +00:00
Richard van der Hoff
4c571cf1bf Merge commit 'eb91faf' into rav/roomview_works
Conflicts:
	src/components/structures/RoomView.js
2016-02-23 12:56:54 +00:00
Richard van der Hoff
db09d3d9e4 Move ghost-read-marker logic to MessagePanel 2016-02-15 23:05:58 +00:00
Richard van der Hoff
06133b0467 Add a null guard for matrix client TimelinePanel.componentWillUnmount
client can be null when unmounting
2016-02-15 23:04:21 +00:00
Richard van der Hoff
0e0d0cf4f5 post-review tweaks 2016-02-11 15:38:13 +00:00
Richard van der Hoff
f2377fa9fe Factor out a TimelinePanel from RoomView 2016-02-10 18:41:48 +00:00