Commit graph

9193 commits

Author SHA1 Message Date
Michael Telatynski
2a3655e9b8 Focus highlight room sublist label, catch right arrow and simplify code
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-22 11:10:25 +01:00
David Baker
a3dbf881e8
Merge pull request #3557 from matrix-org/jryans/scroll-unmount-guard
Abort scroll updates when already unmounted
2019-10-21 17:05:53 +01:00
Michael Telatynski
c5d5cd72bc
Merge pull request #3465 from matrix-org/t3chguy/nvl/userinfo
UserInfo consolidation of GroupMemberInfo and MemberInfo panels
2019-10-21 15:50:08 +01:00
Matthew Hodgson
e632b520f2
Merge pull request #3554 from maunium/emoji-picker
Add full emoji picker for reactions
2019-10-20 11:21:24 +01:00
Tulir Asokan
b2deb548d3 Translate search button titles
Signed-off-by: Tulir Asokan <tulir@maunium.net>
2019-10-20 12:41:16 +03:00
Tulir Asokan
438ad54701 Remove space between emojis in picker
Signed-off-by: Tulir Asokan <tulir@maunium.net>
2019-10-20 12:31:28 +03:00
Tulir Asokan
10732e8e73 Fix license headers
Signed-off-by: Tulir Asokan <tulir@maunium.net>
2019-10-20 12:31:21 +03:00
Tulir Asokan
be829980f6 Split inline SVGs to their own files
Signed-off-by: Tulir Asokan <tulir@maunium.net>
2019-10-20 12:13:32 +03:00
Michael Telatynski
02f8b18346 Merge branch 't3chguy/nvl/userinfo' of https://github.com/matrix-org/matrix-react-sdk into t3chguy/nvl/userinfo
 Conflicts:
	src/components/views/right_panel/UserInfo.js
2019-10-19 16:42:00 +01:00
Michael Telatynski
0e6359ab24 replace @use-it/event-listener as it doesn't like Node EE's 2019-10-19 16:39:06 +01:00
J. Ryan Stinnett
3a428efb60 Abort scroll updates when already unmounted
This checks whether we're unmounted before updating scroll state, as we use
async functions and timeouts in this area.

Fixes https://github.com/vector-im/riot-web/issues/11150
2019-10-18 18:01:57 +01:00
Michael Telatynski
4494e3b61b
Merge pull request #3555 from matrix-org/t3chguy/a11y3
Accessibility fixes to autocomplete and tabpanels
2019-10-18 17:09:44 +01:00
J. Ryan Stinnett
7ac14e48dc
Merge pull request #3549 from matrix-org/jryans/disconnect-dead-is
Show warning dialog when changing unreachable IS
2019-10-18 16:53:25 +01:00
Damir Jelić
64061173e1 MatrixChat: Check if our state array is empty in the crawled messages response. 2019-10-18 16:33:07 +02:00
Damir Jelić
89f14e55a2 MatrixChat: Catch errors when fetching room messages in the crawler. 2019-10-18 16:32:43 +02:00
Damir Jelić
1b63886a6b MatrixChat: Add more detailed logging to the event crawler. 2019-10-18 16:31:39 +02:00
J. Ryan Stinnett
579ada3ca2 Add an overall reachability timeout of 10s
This adds a reachability timeout of 10s when checking the IS for 3PID bindings.
This ensures we stop in a reasonable time, rather than waiting for a long list
of requests to eventually timeout via some general mechanism.

Part of https://github.com/vector-im/riot-web/issues/10909
2019-10-18 12:40:50 +01:00
Michael Telatynski
7e4d429fa3 delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-17 19:18:14 +01:00
Michael Telatynski
93429d7c2e Break withLegacyMatrixClient into a util module
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-17 19:13:37 +01:00
Michael Telatynski
2494af37c8 Break UserInfo:RoomAdminToolsContainer into smaller components
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-17 19:08:40 +01:00
Michael Telatynski
fe46925c00 Handle LEFT Arrow as expected by Aria Treeview Widget pattern
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-17 17:49:28 +01:00
Michael Telatynski
f72ff95efb Handle ARROW_RIGHT on group node in treelist as per aria suggestions
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-17 17:30:37 +01:00
Michael Telatynski
afe2226cb8 Handle ARROW_LEFT correctly on any room tile in sublist
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-17 17:14:00 +01:00
Michael Telatynski
1286cf287e remove TODO for now
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-17 17:09:43 +01:00
Michael Telatynski
3eef1bf87e Fix tabbing through room sublist
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-17 17:03:37 +01:00
Michael Telatynski
f09a3b4281 Fix outline on RoomSubList badges
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-17 16:21:33 +01:00
Michael Telatynski
8b5d3b93f4 Prevent double read of ARIA expanded
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-17 15:59:32 +01:00
Michael Telatynski
3400808f6e Use navigation treeview aria pattern for roomlist sublists and tiles
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-17 15:53:39 +01:00
Tulir Asokan
30ffd65b6c Fix reacting to messages with reactions from other users
Signed-off-by: Tulir Asokan <tulir@maunium.net>
2019-10-16 21:35:12 +03:00
Tulir Asokan
318754d31c Reorganize reaction sending and show if emoji is selected
Signed-off-by: Tulir Asokan <tulir@maunium.net>
2019-10-15 19:07:04 +03:00
Tulir Asokan
7acae6dc32 Autofocus search and fix bugs
Signed-off-by: Tulir Asokan <tulir@maunium.net>
2019-10-15 18:22:23 +03:00
Tulir Asokan
824685ae64 Redact existing reaction instead of trying to double-react
Signed-off-by: Tulir Asokan <tulir@maunium.net>
2019-10-15 00:15:18 +03:00
Tulir Asokan
7fc12b4b13 Simplify onChangeFilter category updating
Signed-off-by: Tulir Asokan <tulir@maunium.net>
2019-10-14 21:30:26 +03:00
Tulir Asokan
bb1a242ef0 Don't underline recently category in header if it's empty
Signed-off-by: Tulir Asokan <tulir@maunium.net>
2019-10-14 21:03:41 +03:00
Tulir Asokan
2dad33cd3e Close menu after clicking emoji
Signed-off-by: Tulir Asokan <tulir@maunium.net>
2019-10-14 20:45:17 +03:00
Tulir Asokan
a6e0986bf8 Improve style
Signed-off-by: Tulir Asokan <tulir@maunium.net>
2019-10-14 20:38:09 +03:00
Tulir Asokan
e16d0bfa4d Underline visible sections in header
Signed-off-by: Tulir Asokan <tulir@maunium.net>
2019-10-14 20:14:44 +03:00
Tulir Asokan
088c9bff9e Add recently used section and scroll to category
Signed-off-by: Tulir Asokan <tulir@maunium.net>
2019-10-14 19:41:10 +03:00
Michael Telatynski
2de88449aa Clean up RoomSubList from stale unused code paths
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-14 16:08:56 +01:00
Michael Telatynski
d3517cdb71 actually pass role="tabpanel" to the DOM for FilePanel and NotifPanel
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-14 10:44:42 +01:00
Tulir Asokan
497b779334 Add full emoji picker for reactions
Signed-off-by: Tulir Asokan <tulir@maunium.net>
2019-10-14 00:32:11 +03:00
Tulir Asokan
2555fcb38f Fix reply fallback being included in edit m.new_content
Signed-off-by: Tulir Asokan <tulir@maunium.net>
2019-10-13 13:32:09 +03:00
J. Ryan Stinnett
e6a81c5733 Show warning dialog when changing unreachable IS
If the IS is unreachable, this handles the error by showing a warning
encouraging the user to check after their personal data and resolve the
situation, but still allows them to continue if they want.

Fixes https://github.com/vector-im/riot-web/issues/10909
2019-10-11 15:57:12 +01:00
Damir Jelić
3f53691834 RoomView: Use platform specific search if our platform supports it.
This patch extends our search to include our platform specific event
index.

There are 3 search scenarios and are handled differently when platform
support for indexing is present:

    - Search a single non-encrypted room: Use the server-side search
        like before.
    - Search a single encrypted room: Search using our platform specific
        event index.
    - Search across all rooms: Search encrypted rooms using our local
        event index. Search non-encrypted rooms using the classic
        server-side search. Combine the results.

The combined search will result in having twice the amount of search
results since comparing the scores fairly wasn't deemed sensible.
2019-10-11 16:55:01 +02:00
Damir Jelić
4acec19d40 MatrixChat: Add new crawler checkpoints if there was a limited timeline.
A sync call may not have all events that happened since the last time
the client synced. In such a case the room is marked as limited and
events need to be fetched separately.

When such a sync call happens our event index will have a gap. To
close the gap checkpoints are added to start crawling our room again.
Unnecessary full re-crawls are prevented by checking if our current
/room/roomId/messages request contains only events that were already
present in our event index.
2019-10-11 16:55:01 +02:00
Damir Jelić
5e7076e985 MatrixChat: Add live events to the event index as well. 2019-10-11 16:55:01 +02:00
Damir Jelić
b23ba5f881 MatrixChat: Stop the crawler function and delete the index when logging out. 2019-10-11 16:55:01 +02:00
Damir Jelić
9ce478cb0e MatrixChat: Create an event index and start crawling for events.
This patch adds support to create an event index if the clients platform
supports it and starts an event crawler.

The event crawler goes through the room history of encrypted rooms and
eventually indexes the whole room history of such rooms.

It does this by first creating crawling checkpoints and storing them
inside a database. A checkpoint consists of a room_id, direction and
token.

After the checkpoints are added the client starts a crawler method in
the background. The crawler goes through checkpoints in a round-robin
way and uses them to fetch historic room messages using the
rooms/roomId/messages API endpoint.

Every time messages are fetched a new checkpoint is created that will
be stored in the database with the fetched events in an atomic way, the
old checkpoint is deleted at the same time as well.
2019-10-11 16:55:01 +02:00
J. Ryan Stinnett
d7631ed9f8 Catch errors in Settings when IS is unreachable
A few bits of Settings try to talk to the IS when Settings is opened. This
changes them to handle failure by logging warnings to the console.
2019-10-11 15:52:15 +01:00
Travis Ralston
61cc6c8293 Correctly update the banned users list when a user is unbanned
Fixes https://github.com/vector-im/riot-web/issues/11123

Error wasn't actually the user being unbanned twice - it was a React error about "cannot call enqueueForceUpdate of undefined", which was a binding problem with onUnbanned. However, fixing that didn't do the intended thing - the user was still shown in the settings. We now just listen for membership and  fix it that way.
2019-10-11 12:56:48 +01:00