1
0
mirror of https://github.com/matrix-org/matrix-react-sdk.git synced 2025-07-16 22:01:54 +03:00
Commit Graph

118 Commits

Author SHA1 Message Date
fe8ea4ffe7 Rename vars, linting 2017-05-10 14:51:47 +01:00
30e183a7f1 Only send RR if we should 2017-05-10 14:48:01 +01:00
7f766d89c3 Rename variables, more comments 2017-05-10 14:42:06 +01:00
ca79d9bb6e Separate predicates for RM/RR
Instead of modifying the condition for updating the RR, separate the RM and RR conditions and use an OR to decide when to set both.

Make some logs only log when DEBUG.
2017-05-09 17:36:19 +01:00
ac25fd6d87 Remove log 2017-05-09 10:16:37 +01:00
488fa3745b Fix RM not updating if RR event unpaginated
If the RR event has been unpaginated, the logic in `sendReadReceipt` will now fallback on the event ID of the RM which in theory is always =< RR event ID stream-wise.
2017-05-09 10:03:40 +01:00
e00605571b Fix the spinner to actually appear
We started with clientSyncState being null, which it remained
until the SYNCING event was emitted. We need to set
clientSyncState's initial value correctly.
2017-05-05 10:48:54 +01:00
f76b9b4489 remove link to issue
not very useful
2017-05-04 17:25:23 +01:00
da4c2f8b31 Guests can't send RR
so they shouldn't try
lets not hit the HS quite as much
2017-05-04 16:42:41 +01:00
6313193aa8 Null check readMarkerEventId, update comment 2017-04-27 16:52:40 +01:00
8f7359fce1 Only show jumpToReadMarker bar when RM !== RR
If RM !== RR, use the pos. of the RM to determine whether it is visible, as before.
2017-04-27 14:03:54 +01:00
4910a225d1 Fix spinner that shows until the first sync
Listen for the sync event and update when it changes
2017-04-26 17:26:53 +01:00
df283dae47 Show spinner until first sync has completed
Shows the 'forward paginating' spinner until the first sync has
completed.

Fixes https://github.com/vector-im/riot-web/issues/3318
2017-04-26 14:05:09 +01:00
fa033e6116 limit our keyboard shortcut modifiers correctly
fixes https://github.com/vector-im/riot-web/issues/3614
2017-04-23 00:49:14 +01:00
ae8d04b35d Merge pull request #805 from matrix-org/luke/feature-read-marker
Sync RM across instances of Riot
2017-04-21 16:52:46 +01:00
29c2bd3d18 reset last_rr_sent on error
Indicate that setting the RR was a failure and that hitting the API should be retried (in the case where the errcode !== "M_UNRECOGNISED")
2017-04-21 16:46:36 +01:00
67089cb527 If new RR-RM API not implemented, fallback to RR-only API 2017-04-20 14:34:59 +01:00
a4ba5f041c Remove log, reinstate comment 2017-04-19 10:46:08 +01:00
edeaef8c2f Initialise last_rm_sent_event_id 2017-04-19 10:28:38 +01:00
81bf2be13b Make note of inconsistant roomReadMarkerTsMap
This will become redundant when there is server support for directionality of the RM
2017-04-19 10:27:43 +01:00
a787ee8480 Remove spammy log 2017-04-19 10:20:53 +01:00
00cf5b5918 Revert change 2017-04-19 10:20:24 +01:00
e32f153573 Remove Room.accountData listener on unmount 2017-04-19 10:18:25 +01:00
28818b857a Remove log 2017-04-19 10:17:44 +01:00
81bdfe2126 Update to match renamed API 2017-04-19 10:14:57 +01:00
c1c3956df4 fix bugs, and handle shortcircuit react when updating roomtile 2017-04-18 19:28:24 +01:00
d33afa99ab marker -> event_id 2017-04-18 15:13:05 +01:00
28ed69b617 m.read_marker -> m.fully_read 2017-04-18 14:44:43 +01:00
da569c2c8d add constantTimeDispatcher and use it for strategic refreshes.
constantTimeDispatcher lets you poke a specific react component to do something
without having to do any O(N) operations.  This is useful if you have thousands
of RoomTiles in a RoomSubList and want to just tell one of them to update,
without either having to do a full comparison of this.props.list or have each
and every RoomTile subscribe to a generic event from flux or node's eventemitter

*UNTESTED*
2017-04-17 21:06:37 +01:00
9c9dc84f45 Remove redundant setting of readMarkerEventId 2017-04-12 15:12:37 +01:00
249e42747b Fix bug where roomId was expected to be a property on timelineSet 2017-04-12 15:09:56 +01:00
1c25ed89b0 Initial implementation of using new RM API
As detailed here https://docs.google.com/document/d/1UWqdS-e1sdwkLDUY0wA4gZyIkRp-ekjsLZ8k6g_Zvso/edit, the RM state is no longer kept locally, but rather server-side. The client now uses it's locally-calculated RM to update the server and receives server updates via the per-room account data.

The sending of the RR has been bundled in to reduce traffic when sending both. In effect, whenever a RR is sent the RM is sent with it but using the new API.

This uses a js-sdk change which has set to be finalised and so might change.
2017-04-12 15:05:39 +01:00
b0a04e6f00 Clarify comment 2017-04-05 17:52:05 +01:00
5737994957 Clarify and simplfiy unpagination logic 2017-04-04 13:28:26 +01:00
94fe9999db Reimplement _saveScrollState
The actual fix to https://github.com/vector-im/riot-web/issues/3175 is this change to `_saveScrollState`, which is to pick the trackedScrollToken based on which node is intersected by the bottom of the scroll panel. This is opposed to the previous logic that picked based on which node was the first from the bottom to be above the bottom of the viewport.

In the case where the viewport bottom does not intersect any events, the topmost event is used.
2017-04-04 11:55:53 +01:00
8e5a83a056 Reduce number of unpaginated events by 1
When unpaginating in the backwards direction
2017-03-30 18:02:33 +01:00
fff83ba234 Fix the onFinished for timeline pos dialog
This was causing a blank RoomView because it was trying to work with `room_id = undefined`.
2017-03-30 17:18:22 +01:00
90242c2c85 Only send local echo RR if we're at the end 2017-03-29 14:12:50 +01:00
3373f00d90 Only clear the local notification count if needed
Only zero the local notification count when we actually send a
read receipt, otherwise we cause a re-render of the RoomList every
time the user moves the cursor in the window, basically.
2017-03-29 14:08:31 +01:00
4a0988f83e Do not send the room with action
By not sending the room with the action, we prevent its state from being updated by registered views listening for on_room_read
2017-03-28 11:26:40 +01:00
f4dc7ae8b1 Improve zeroing of RoomList notification badges
Use an action and force an update when zeroing the number of notifications in a room. This is better than waiting for a `render` to happen at some point. This will hopefully fix https://github.com/vector-im/riot-web/issues/3257
2017-03-28 10:38:57 +01:00
4cebded04f Add canResetTimeline callback and thread it through to TimelinePanel 2017-03-22 15:06:52 +00:00
470e760e42 Fix timeline & notifs panel spuriously being empty
Only claim there's nothing to display once we've failed to back
paginate, otherwise we'll show the empty message instead of the
MessagePanel and therefore never try to back-paginate.
2017-02-03 11:11:37 +00:00
08ad69847c show placeholder of timeline empty 2017-02-02 16:32:10 +00:00
18d4d3392a Fix a bunch of linting errors
eslint --fix and a few manual ones
2017-01-20 14:22:27 +00:00
7c841a86ef Unbranded error messages 2016-12-21 14:28:01 -08:00
341175ea58 Fix pagination issue where recent events are lost (#563)
Fix pagination issue where recent events are lost

Scrolling up a few pages followed by scrolling down to the most recent events previously caused some events to go missing. A test has been modified in conjunction with this fix to make sure that this failure mode is tested for in future. This commit should fix the issue, and the most recent events should be paginated back in.
2016-11-18 11:15:14 +00:00
3618b49982 Use new js-sdk public unpaginate 2016-11-16 16:10:23 +00:00
b718f1542c Fix infinite loop when there are a lot of invisible events (#554)
Instead of using a window of a fixed number of events, unpaginate based on the distance of the viewport from the end of the scroll range.

The ScrollPanel uses the scrollTokens to convey to its parent (the TimelinePanel, in this case) the point to unpaginate up to. The TimelinePanel then takes a chunk of events off the front or back of `this.state.events` using `timelineWindow.unpaginate`.

Fixes https://github.com/vector-im/vector-web/issues/2020
2016-11-16 14:25:52 +00:00
e5a770a373 Don't send read receipt if user has logged out 2016-10-26 13:19:36 +01:00