Commit graph

3711 commits

Author SHA1 Message Date
Damir Jelić
cc2ee53824 EventIndex: Add some more docs and fix some lint issues. 2019-11-13 16:21:26 +01:00
Damir Jelić
1316e04776 EventIndexing: Check if there is a room when resetting the timeline. 2019-11-13 15:23:08 +01:00
Damir Jelić
54b352f69c MatrixChat: Fix the limited timeline checkpoint adding. 2019-11-13 10:37:20 +01:00
Travis Ralston
fd28cf7a4c Move notification count to in front of the room name in the page title
Fixes https://github.com/vector-im/riot-web/issues/10943
2019-11-12 15:12:54 -07:00
Michael Telatynski
79ebb9091c
Merge branch 'develop' into t3chguy/remove_bluebird_1 2019-11-12 18:16:34 +00:00
Damir Jelić
d911055f5d MatrixChat: Move the indexing limited room logic to a different event. 2019-11-12 15:39:54 +01:00
Damir Jelić
e296fd05c0 RoomView: Move the search logic into a separate module. 2019-11-12 15:39:26 +01:00
Michael Telatynski
b73d0ca92a delint and run i18n 2019-11-12 12:37:47 +00:00
Damir Jelić
cfdcf45ac6 MatrixChat: Move the event indexing logic into separate modules. 2019-11-12 13:29:07 +01:00
Michael Telatynski
2b34cf4362 Replace Promise.delay with promise utils sleep
(cherry picked from commit 0a21957b2c)
2019-11-12 12:07:56 +00:00
Michael Telatynski
2ea239d192 Replace rest of defer usages using small shim. Add homebrew promise utils
(cherry picked from commit 6850c14739)
2019-11-12 12:07:56 +00:00
Michael Telatynski
7a512f7299 Revert "Replace rest of defer usages using small shim. Add homebrew promise utils"
This reverts commit 6850c147
2019-11-12 11:56:43 +00:00
Michael Telatynski
f9d6ed63f0 Revert "Replace Promise.delay with promise utils sleep"
This reverts commit 0a21957b
2019-11-12 11:56:32 +00:00
Michael Telatynski
168b1b68bb Revert "s/.done(/.then(/ since modern es6 track unhandled promise exceptions"
This reverts commit 09a8fec2
2019-11-12 11:56:21 +00:00
J. Ryan Stinnett
d72dedb0ce Cache room alias to room ID mapping in memory
This adds very basic cache (literally just a `Map` for now) to store room alias
to room ID mappings. The improves the perceived performance of Riot when
switching rooms via browser navigation (back / forward), as we no longer try to
resolve the room alias every time.

The cache is only in memory, so reloading manually or as part of the clear cache
process will start afresh.

Fixes https://github.com/vector-im/riot-web/issues/10020
2019-11-12 11:54:41 +00:00
Michael Telatynski
09a8fec261 s/.done(/.then(/ since modern es6 track unhandled promise exceptions 2019-11-12 11:51:23 +00:00
Michael Telatynski
0a21957b2c Replace Promise.delay with promise utils sleep 2019-11-12 11:46:58 +00:00
Michael Telatynski
6850c14739 Replace rest of defer usages using small shim. Add homebrew promise utils 2019-11-12 11:45:28 +00:00
Michael Telatynski
2eddb6ca01 DRY context menu placement algorithms 2019-11-12 11:24:14 +00:00
Michael Telatynski
1c4d89f2d7 Migrate all standard Context Menus over to new custom framework 2019-11-11 17:53:17 +00:00
Damir Jelić
2c5565e502 MatrixChat: Add some missing semicolons. 2019-11-11 15:08:00 +01:00
David Baker
d14c0c342d
Merge pull request #3594 from matrix-org/bwindels/fixfilenotifpanel
Fix: file and notifications panel back-paginating forever.
2019-11-06 10:52:15 +00:00
Bruno Windels
842bf77409 prevent error when nextProps is null, cleanup
As the FilePanel is now rendered as part of the RoomView,
we don't need to respond to room changes, as RoomView has
a key of the roomId, so the whole subtree would be recreated.
2019-11-06 10:34:22 +01:00
Bruno Windels
9fa7990996 prevent error for empty list 2019-11-06 10:34:22 +01:00
J. Ryan Stinnett
446e21c2e1 Relax identity server discovery error handling
If discovery results in a warning for the identity server (as in can't be found
or is malformed), this allows you to continue signing in and shows the warning
above the form.

Fixes https://github.com/vector-im/riot-web/issues/11102
2019-11-01 12:27:56 +00:00
David Baker
7d6643664e Fix bug where rooms would not appear when filtering
We need to reset the scroll offset otherwise the component may be
scrolled past the only content it has (Chrome just corrected the
scroll offset but Firefox scrolled it anyway).

NB. Introducing the new deriveStateFromProps method seems to
means that react no longer calls componentWillMount so I've
had to change it to componentDidMount (which it should have
been anyway).

Fixes https://github.com/vector-im/riot-web/issues/11263
2019-10-31 19:42:41 +00:00
Michael Telatynski
3b8cb42108 Fix Room Create ELS using MXID instead of newly set Displayname/Avatar 2019-10-26 09:31:45 +01:00
Michael Telatynski
fac8274559 Add comment
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-23 18:45:04 +01:00
Michael Telatynski
9c63be7dc4 Remove wrapping div around RoomList to fix regression with scrollbars
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-23 18:32:14 +01:00
Michael Telatynski
efcda54c3f Move Jitsi widget above Explore/Filter
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-23 13:05:02 +01:00
Michael Telatynski
d7a64fcacd Move Jitsi widget to bottom and fix keyboard navigation of left panel
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-23 12:12:57 +01:00
Michael Telatynski
744fc5ca6a Specify aria-level="1" on Room List tree RoomSubList
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-23 12:12:54 +01:00
Michael Telatynski
e7f292794c
Merge pull request #3556 from matrix-org/t3chguy/a11y4
Use Navigation Treeview pattern for RoomList Accessibility
2019-10-22 13:42:08 +01:00
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
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
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
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
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
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
Michael Telatynski
6e33cc0650
Merge pull request #3433 from matrix-org/t3chguy/nvl/react16/EventListSummary
Summarise state events after room creation
2019-10-11 09:53:26 +01:00
Michael Telatynski
5643743167 Don't intercept TAB on the app outside of the composer, fix tabIndex > 0
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-10 14:13:29 +01:00
Michael Telatynski
58317b1608 Use Keyboard Key variables instead of hardcoded strings
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-09 19:59:11 +01:00
Michael Telatynski
ff18a04da1
Merge pull request #3529 from matrix-org/t3chguy/react16_cleanup2
React error/warning cleanup
2019-10-09 16:26:24 +01:00
Michael Telatynski
f2d73793ee delint again
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-09 12:51:08 +02:00
Michael Telatynski
9331ca9d07 delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-09 12:51:08 +02:00
Michael Telatynski
6be318b59d Only insert ELS if it'll be non-empty
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-09 12:51:08 +02:00
Michael Telatynski
efde7f289f Use EventListSummary on m.room.create events and state events thereafter
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-09 12:50:03 +02:00
J. Ryan Stinnett
1dc2ae007f Fix soft crash on room join
This fixes a soft crash that can happen on room join if you keep the right panel
open (which is the default). The `MainSplit` component was not properly testing
for the edge cases of when the resize container would be mounted.

Fixes https://github.com/vector-im/riot-web/issues/10997
2019-10-08 15:43:57 +01:00
Michael Telatynski
a782baf510 React error/warning cleanup
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-08 12:10:37 +01:00
Michael Telatynski
df02eb8e92 Add UserInfo panel (consolidation of MemberInfo & GroupMemberInfo) Labs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-07 16:52:50 +01:00
Michael Telatynski
1ec0bb284a Limit Backspace-consuming workaround to just Slate, tidy Keyboard :)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-04 11:47:33 +01:00
Michael Telatynski
fba646d2c5
Merge pull request #3519 from matrix-org/travis/enable-cider
Enable CIDER composer by default
2019-10-04 10:50:28 +01:00
Michael Telatynski
06c612ba3d
Merge pull request #3516 from matrix-org/t3chguy/clean_out_useless_errors
Cull some easily fixable errors which make the console a mess
2019-10-04 10:20:34 +01:00
Michael Telatynski
e200193b0a DRY and fix useCiderComposer being in both labs and preferences
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-04 10:15:00 +01:00
Travis Ralston
853c522467 Enable CIDER composer by default
Also convert the setting to a watched setting to apply in realtime.
2019-10-03 23:20:40 -06:00
Michael Telatynski
47c41759f7
Merge pull request #3518 from matrix-org/t3chguy/attempt_NPE_fix
Handle null from TimelinePanel.getScrollState in RoomView _getScrollState
2019-10-04 00:25:14 +01:00
Michael Telatynski
0f2eee1b1b
Merge pull request #3517 from matrix-org/t3chguy/fix_community_panel_preference
Fix Community Panel preference not taking effect until some refreshing
2019-10-04 00:24:57 +01:00
Michael Telatynski
9e9c56d327 rename settings watcher refs in LeftPanel
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-03 23:21:32 +01:00
Michael Telatynski
9e8234c98f Handle null from TimelinePanel.getScrollState in RoomView _getScrollState
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-03 23:00:08 +01:00
Michael Telatynski
d5f6d781bb Fix Community Panel preference not taking effect until some refreshing
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-03 22:13:10 +01:00
Michael Telatynski
a0de7d5f14 Cull some easily fixable errors which make the console a mess
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-03 21:47:19 +01:00
Michael Telatynski
a9b4abaf78 Fix backspace without slate focus killing everything
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-03 21:16:18 +01:00
Michael Telatynski
8ef61ce43e
Merge pull request #3514 from matrix-org/t3chguy/accessibility3
Various ARIA a11y fixes.
2019-10-03 11:09:01 +01:00
Michael Telatynski
f1db0cf027 Various ARIA a11y fixes.
Notate RightPanel tabs.
Shorten Screen Reader queues.
Make AccessibleTooltipButton screen reader friendly
Flatten DOM for Sticker button using React Fragments

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-03 09:35:39 +01:00
J. Ryan Stinnett
b605c0048d Add an error boundary around the RoomView
This adds a more specific boundary around the `RoomView` for room-specific
errors and is an example how we could use add boundaries around just a portion
of the app.
2019-10-02 17:31:22 +01:00
J. Ryan Stinnett
0e8dc24c3f Add a basic error boundary for the entire app
This adds a basic error boundary around the entire app to catch errors during
rendering and present the user with the options on how to proceed. This is not
implemented as a modal so that it could be used selectively in portions of the
app as well, such as just the `RoomView`.

Fixes https://github.com/vector-im/riot-web/issues/11009
2019-10-02 17:31:22 +01:00
Bruno Windels
c8c4dc29d1
Merge pull request #3503 from matrix-org/bwindels/custom-themes-mvp
Custom theming MVP
2019-10-02 09:14:07 +00:00
Travis Ralston
7d1a04cb12
Merge pull request #3500 from matrix-org/travis/permalinks
Support local permalinks for unfederated instances
2019-10-01 08:41:23 -06:00
Bruno Windels
558f8daeeb support custom themes from setting
also move theme setting code from MatrixChat to own file.
2019-10-01 15:21:22 +02:00
Travis Ralston
fc66e69c02 Rename RoomPermalinkCreator -> Permalinks due to scope
The file handles more than just a RoomPermalinkCreator, so we should name it accordingly.
2019-09-30 20:39:58 -06:00
Travis Ralston
64aa6695f5 Move matrix-to.js to utils/permalinks/RoomPermalinkCreator
Just a little bit of refactoring to make the feature of custom prefixes a bit easier.
2019-09-30 12:16:46 -06:00
Michael Telatynski
2621ad1b43 Group room tiles in room sub list in the room list for ARIA
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-30 16:04:43 +01:00
Michael Telatynski
22fb925743 Stop using deprecated KeyboardEvent properties
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-30 16:04:06 +01:00
Michael Telatynski
ce78de2185 re-order imports
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-27 10:05:08 +01:00
Michael Telatynski
8d1d3090f3 Improve keyboard accessibility using :focus-visible CSS polyfill
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-27 09:00:54 +01:00
Michael Telatynski
3674b87415 delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-26 14:58:40 +01:00
Michael Telatynski
c37e27f03d Improve a11y:
+ Close context menu on escape
+ Use AccessibleButtons for more things (Context Menus and TabbedView)

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-26 14:52:20 +01:00
Michael Telatynski
8ec0ffea3a Make the message context menu more accessible
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-26 14:24:10 +01:00
Michael Telatynski
14e3cb8736 Allow keyboard control even without a screen reader
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-26 13:52:09 +01:00
Michael Telatynski
d588e709e5 Add tab indexes, role=button and aria-labels to TabbedViews for a11y
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-25 18:55:18 +01:00
Travis Ralston
6ab816f79e Hide browser a11y outline on context menus
Fixes https://github.com/vector-im/riot-web/issues/10926
Regressed by https://github.com/matrix-org/matrix-react-sdk/pull/3454/files
Class introduced in https://github.com/matrix-org/matrix-react-sdk/pull/2994
2019-09-24 12:29:20 -06:00
J. Ryan Stinnett
17e42eacd4
Merge pull request #3473 from matrix-org/jryans/rm-id-server-reg-and-reset
Remove id_server param from threepid_creds
2019-09-24 17:34:45 +01:00
Matthew Hodgson
df33d0f74c Remove debug for https://github.com/vector-im/riot-web/issues/10940 2019-09-24 14:57:45 +01:00
J. Ryan Stinnett
0c51e41ea4 Remove id_server param for password reset
For HSes that no longer need it, remove the id_server param from password reset.

Part of https://github.com/vector-im/riot-web/issues/10941
2019-09-24 14:54:26 +01:00
Bruno Windels
26a8398a0e make sure client exists while logging out 2019-09-24 12:53:33 +02:00
Matthew Hodgson
3ce47a0181 notify new screen after setting state 2019-09-24 01:51:21 +01:00
Matthew Hodgson
b85dc7b5a8 add debug for vector-im/riot-web#10940 2019-09-24 01:35:43 +01:00
Matthew Hodgson
54355c0e28 put the room name in the title tag
should fix https://github.com/vector-im/riot-web/issues/4454
2019-09-23 22:01:52 +01:00
Bruno Windels
157a3388a5 change name to Field, no_federate to switch
also construct room create options in dialog,
instead of MatrixChat, as we'll have more to come
2019-09-23 11:22:30 +02:00
Michael Telatynski
d1fb31a6dc Merge branches 'develop' and 't3chguy/register_disable_no_custom_url_spinner' of github.com:matrix-org/matrix-react-sdk into t3chguy/register_disable_no_custom_url_spinner 2019-09-19 10:07:42 +01:00
Michael Telatynski
6209d62f49 Don't show spinner if registration is disabled
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-18 13:19:33 +01:00
Michael Telatynski
c633df3c15 Use same initial device name rules for SSO login as password login
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-18 12:16:41 +01:00
Travis Ralston
9f3f88ba00 Focus context menus so screen readers can find them
Fixes https://github.com/vector-im/riot-web/issues/10899

The `tabIndex` is required to make the thing actually focusable. This is the same trick employed in https://github.com/matrix-org/matrix-react-sdk/pull/2994
2019-09-17 15:41:39 -06:00
Matthew Hodgson
832123524d make the lifetimes of the RM configurable 2019-09-17 17:34:30 +01:00
Michael Telatynski
7f5d38772d don't fire onFinished twice
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-15 21:30:01 +01:00
Michael Telatynski
54d98c22ba Reuse showRoom for onJoinClick so we join using alias if its available
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-15 21:25:36 +01:00
Bruno Windels
40bd1845d2
Merge pull request #3441 from matrix-org/bwindels/fixroomdir-itemclick-bis
Fix: stop propagation click handler for <TR> doesn't run
2019-09-13 13:08:42 +00:00
Bruno Windels
f73f08e998 stop propagation click handler for <TR> doesn't run 2019-09-13 14:33:09 +02:00
Bruno Windels
bf460dbd3d fix clicking on room dir item 2019-09-13 11:09:02 +02:00
Bruno Windels
87f8000621 only hide x button when blurred && no more search term 2019-09-12 17:17:15 +02:00
Michael Telatynski
d7bac95270
Merge pull request #3421 from matrix-org/t3chguy/nvl/fix_sso_flash
Hide the change HS url button on SSO login flow if custom urls disabled
2019-09-12 12:29:03 +01:00
Michael Telatynski
d197fd90ad Merge branches 'develop' and 't3chguy/nvl/fix_sso_flash' of https://github.com/matrix-org/matrix-react-sdk into t3chguy/nvl/fix_sso_flash 2019-09-12 10:25:54 +01:00
Bruno Windels
7c97078764 always show clear button in search box when focused 2019-09-12 11:12:06 +02:00
Michael Telatynski
a4a85dc541 Hide the change HS url button on SSO login flow if custom urls disabled
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-11 23:02:52 +01:00
Travis Ralston
9622ec9a1a
Merge pull request #3416 from matrix-org/t3chguy/nvl/room_directory_pagination_spinner
RoomDirectory: show spinner if loading more results
2019-09-11 14:26:51 -06:00
Michael Telatynski
6f736e8407 Apply PR feedback
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-11 17:44:04 +01:00
Michael Telatynski
76e4363452 Login: Add way to change HS from SSO Homeserver
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-11 17:44:04 +01:00
Michael Telatynski
f1ea5ff6f3 Login: don't assume supported flows, prevent login flash on SSO servers
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-11 17:44:04 +01:00
Michael Telatynski
980e9839ac Update Copyright 2019-09-11 17:22:45 +01:00
Michael Telatynski
0d28cd5840 RoomDirectory: show spinner if loading more results
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-11 17:22:45 +01:00
Michael Telatynski
81ea230a35
Merge pull request #3406 from matrix-org/t3chguy/reply_to_search_results
Fix replying from search results for this and all rooms
2019-09-11 17:14:55 +01:00
Bruno Windels
24c4a16da1 adapt design of room list in directory 2019-09-11 16:23:59 +02:00
Bruno Windels
77175fcbc4 pr feedback 2019-09-11 16:18:34 +02:00
Bruno Windels
094c9e3468
consistent naming
Co-Authored-By: Travis Ralston <travpc@gmail.com>
2019-09-11 14:15:46 +00:00
Bruno Windels
7754e08d84 remove labels and add join/view & preview button instead in directory 2019-09-11 15:45:51 +02:00
Bruno Windels
62ddc1e544
Merge pull request #3412 from matrix-org/bwindels/explore-button
Add explore button in left panel to go show room directory
2019-09-11 11:54:18 +00:00
Bruno Windels
ad2e16d432 keep filter field expanded if it has text in it 2019-09-11 13:46:18 +02:00
Travis Ralston
ccd42900f7
Merge pull request #3414 from matrix-org/travis/address-picker-stack
Make uses of AddressPickerDialog static dialogs
2019-09-10 12:38:40 -06:00
Travis Ralston
4fbedec013 Make uses of AddressPickerDialog static dialogs
Fixes https://github.com/vector-im/riot-web/issues/10603

Static dialogs are ones that stay open underneath other dialogs, like the terms of service prompt. This is how user/room settings operate.
2019-09-10 11:01:20 -06:00
Travis Ralston
096dff4b54
Merge pull request #3395 from matrix-org/travis/hidden_rr
Support sending hidden read receipts
2019-09-10 10:55:45 -06:00
Bruno Windels
68dde07f49 make add room button go to create room dialog instead of room directory 2019-09-10 11:59:59 +02:00
Bruno Windels
1c4093eb0f make filter feed transparent when not focussed 2019-09-10 11:11:08 +02:00
Bruno Windels
15d3774665 show shorter placeholder for filter feed when not focused 2019-09-10 11:11:08 +02:00
Bruno Windels
da98080859 hide explore button when focusing filter field 2019-09-10 10:57:25 +02:00
Bruno Windels
80dd5a1b0a add explore button next to filter field 2019-09-10 10:55:55 +02:00
Michael Telatynski
80add7be92 delint more properly
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-10 08:38:51 +01:00
Michael Telatynski
ef2ff31a46 Fix replying from search results for this and all rooms
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-09 09:34:08 +01:00
Travis Ralston
e29184ae1d Support secret per-room hidden read receipts 2019-09-06 13:02:18 -06:00
Michael Telatynski
4db8ef4d89 Correct case of propTypes property in ES6 React Components. React 16
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-06 14:27:33 +01:00
Travis Ralston
af35cdc2ea Support sending hidden read receipts
Fixes https://github.com/vector-im/riot-web/issues/2527
2019-09-05 20:30:19 -06:00
Michael Telatynski
6cc29b2a8c
Merge pull request #3363 from matrix-org/t3chguy/react16_6
Migrate away from React.createClass for auth and views/auth. React 16 :D
2019-09-01 22:46:55 +01:00
Michael Telatynski
abf111ecbd Migrate away from React.createClass for non-auth structures. React 16 :D
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-30 10:34:59 +01:00
Michael Telatynski
2e1fb4533c Migrate away from React.createClass for auth and views/auth. React 16 :D
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-30 10:27:51 +01:00
J. Ryan Stinnett
72ec6c7062 Reveal custom IS field only when required
This hides the identity server at first from the custom server auth flows. For
the flows that may need an IS if the HS requires it (registration, password
reset), we then check with the HS before proceeding further and reveal the IS
field if it is in fact needed.

Fixes https://github.com/vector-im/riot-web/issues/10553
2019-08-23 18:43:55 +01:00
Bruno Windels
b395fad834 add feature flag, allowing to revert to old slate editor 2019-08-22 14:07:43 +01:00
Bruno Windels
c7c87ccd9c
Merge pull request #3328 from matrix-org/bwindels/modifier-refocus-fix-attempt
Explicitly check for modifier keydown events before focusing composer
2019-08-21 07:39:11 +00:00
Bruno Windels
b42b2825c4 explicitly check for modifier keydown events 2019-08-20 10:43:03 +02:00
Travis Ralston
2d4c2b76d9 Merge branch 'develop' into travis/is-account-data 2019-08-19 10:36:42 -06:00
David Baker
cd26b73386
Merge pull request #3319 from matrix-org/dbkr/allow_pw_reset_no_is
Allow password reset without an ID Server
2019-08-19 11:41:38 +01:00
Travis Ralston
51946d2a74 Persist and maintain identity server in account data
Fixes https://github.com/vector-im/riot-web/issues/10094

MSC: https://github.com/matrix-org/matrix-doc/pull/2230
2019-08-16 13:10:41 -06:00
David Baker
dbe5c2cb45 Allow password reset without an ID Server
If the server advertises that it supports doing so

Requires matrix-org/matrix-js-sdk#1018
Requires matrix-org/matrix-js-sdk#1019
Fixes vector-im/riot-web#10572
2019-08-16 18:11:24 +01:00
David Baker
3c4c595f79 remove old serverCaps 2019-08-16 15:27:11 +01:00
David Baker
41a9db3224 Use new flag in /versions 2019-08-16 15:07:15 +01:00
David Baker
e705d110af Allow registering with email if no ID Server
If the server advertises that it supports doing so

This version uses a random me.dbkr prefix until the MSC is
written.

Requires https://github.com/matrix-org/matrix-js-sdk/pull/1017
Implements https://github.com/matrix-org/matrix-doc/pull/2233
2019-08-16 11:57:32 +01:00
Michael Telatynski
49c7730503 change Modal async/await signature to use raw promises
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-09 17:29:22 +01:00
Michael Telatynski
7fe078c07a Modal.createX return thenable which extends onFinished, for async/await
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-09 16:47:22 +01:00
J. Ryan Stinnett
38e64ce966 Remove 3PID binding during registration
This disables 3PID binding at registration time, so users won't be discoverable
by 3PID by default. Instead, new discovery controls in settings allow you to
opt-in.

Fixes https://github.com/vector-im/riot-web/issues/10424
2019-08-08 16:25:48 +01:00
Travis Ralston
07d6fa7fdb
Merge pull request #3286 from matrix-org/travis/immutable-dms/basic
Reuse DMs whenever possible instead of asking to reuse them
2019-08-08 07:26:17 -06:00
David Baker
54ca7b708e
Merge pull request #3285 from matrix-org/dbkr/work_without_is
Work with no ID server set
2019-08-08 09:48:44 +01:00
Travis Ralston
24705d02b7 Replace DM logic in view_start_chat_or_reuse
Part of https://github.com/vector-im/riot-web/issues/10416

This code is used by the welcome bot logic and the groups/communities section of the app. goHomeOnCancel can be removed because no matter what happens we'll end up in a room with the user (and we aren't showing a dialog anymore).
2019-08-07 12:13:59 -06:00
David Baker
9fa5e01f2f Disable password reset if no ID server 2019-08-07 13:30:52 +01:00
Travis Ralston
610baff09a
Merge pull request #2668 from azuenko/develop
Fix waste of space of collapsed left panel
2019-08-06 13:54:04 -06:00
Michael Telatynski
8c446bbd29
Merge pull request #3279 from matrix-org/t3chguy/remove_withMatrixClient
Remove withMatrixClient as we are committed to using Contexts
2019-08-06 14:12:14 +01:00
Michael Telatynski
d99fb4796f avoid using import * as Matrix
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-06 14:04:33 +01:00
Anton Zuenko
a3eb45e0b9 Fix waste of space of collapsed left panel
Signed-off-by: Anton Zuenko <anton@zuenko.ru>
2019-08-05 18:03:20 +02:00
David Baker
e8fcfbe2bf
Merge pull request #3280 from matrix-org/bwindels/user-deactivated
Let user know their account has been deactivated upon trying to login
2019-08-05 13:23:40 +01:00
Bruno Windels
7a5167b1a3 Let user know their account has been deactivated upon trying to login 2019-08-05 13:48:25 +02:00
Michael Telatynski
224dac3ffb Remove withMatrixClient as we are committed to using Contexts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-05 12:26:31 +01:00
David Baker
1c156f0a5a Don't load guest sessions on post-registration login link
If guest access was enabled, clicking the login link on the 'registration
completed' page would just load the guest account you had before registering.

Fixes https://github.com/vector-im/riot-web/issues/10482
2019-08-02 11:22:42 +01:00
Michael Telatynski
201d7fb448 Merge branches 'develop' and 't3chguy/prop-types' of github.com:matrix-org/matrix-react-sdk into t3chguy/prop-types
# Conflicts:
#	test/components/structures/MessagePanel-test.js
2019-07-31 12:21:00 +01:00
Michael Telatynski
1087e04bb5 Replace React.PropTypes with usage of the prop-types package
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-07-31 12:19:29 +01:00
Michael Telatynski
4517fea496 Introduce RoomContext for sharing state between RoomView and children
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-07-31 00:47:38 +01:00
Bruno Windels
e73690439f
Merge pull request #3239 from matrix-org/bwindels/redirectpastetocomposer
Redirect paste to composer when event target can't receive input
2019-07-23 16:38:55 +00:00
Bruno Windels
82d7617287 add comments 2019-07-23 09:44:17 +02:00
Bruno Windels
ceb53dc0bb Revert "remove unnessary manual focussing of composer"
This reverts commit 57abbc4273.
2019-07-23 09:13:51 +02:00
Bruno Windels
023130bb4b Redirect paste to composer when event target can't receive input 2019-07-19 17:49:04 +02:00
Bruno Windels
84e2333105
Merge pull request #3226 from matrix-org/bwindels/readmarker-invisble-events
Move read marker past invisible events
2019-07-19 15:10:03 +00:00
Bruno Windels
77f5274cd8 don't focus composer on keydown with modifier
this breaks shortcuts like copy, ...
2019-07-19 09:10:20 +02:00
Bruno Windels
4fa7302f69
Merge pull request #3224 from matrix-org/bwindels/focus-composer-on-type
Focus composer when typing anywhere in the app
2019-07-18 16:10:23 +00:00
J. Ryan Stinnett
674f33917f Remove editing feature flag
Part of https://github.com/vector-im/riot-web/issues/10282
2019-07-17 16:56:15 +01:00
Bruno Windels
4bde0c08ad make sure we don't break any A or BUTTON keyboard handling 2019-07-17 16:53:12 +02:00
Bruno Windels
10a74696b3 hack around React having its own bubbling phase 2019-07-17 16:50:05 +02:00
Bruno Windels
3d4cd8aa1c local echos should always be ignored (for both RM and RR),so remove flag
pending events won't be in liveEvents (where we look) anyway
2019-07-17 10:19:44 +02:00
Bruno Windels
c94715150d as both RM and RR move past invisible events, remove the flag 2019-07-17 10:18:51 +02:00
Bruno Windels
741ae9957b also put read marker past (like RR) invisible events 2019-07-17 10:15:09 +02:00
Travis Ralston
2471f92331
Merge pull request #3218 from matrix-org/travis/check-when-dead
Check for liveliness on submission when the server was previously dead
2019-07-15 14:46:55 -06:00
Travis Ralston
2bc0e8e151 Don't rely on React being fast 2019-07-15 10:51:08 -06:00
Bruno Windels
57abbc4273 remove unnessary manual focussing of composer
now that composer is focused automatically when no other shortcuts
apply, remove the manual focusing we have in place where it's not needed
2019-07-15 18:21:10 +02:00
Bruno Windels
4adea67eb3 focus the composer in the body keydown handler if not other shortcuts apply
this allows the user to start typing a message even if the composer is not focused.
2019-07-15 18:12:45 +02:00
Bruno Windels
7e25e1b2fc remove unneeded else 2019-07-15 14:02:41 +02:00
Bruno Windels
034883dc7e improve comments 2019-07-15 14:01:28 +02:00
Bruno Windels
8ac54661be take adjacent no-tile events in combination with ignored events into account when determining the last displayed event 2019-07-15 12:53:39 +02:00
Travis Ralston
c6a18b11f0 Check for liveliness on submission when the server was previously dead
Fixes https://github.com/vector-im/riot-web/issues/10017

Specifically the `return` at the end of the diff fixes the problem, but it seems worthwhile to check for liveliness when we know the server has been dead in previous attempts.
2019-07-14 23:23:48 -06:00
Travis Ralston
000d545ffd Remove misleading text about admins logging people out from soft logout 2019-07-11 09:18:33 -06:00
Travis Ralston
ce11eff1b8 Simplify parameter check 2019-07-10 08:01:32 -06:00
Travis Ralston
2ca6633fda Update copy as per design 2019-07-09 23:55:20 -06:00
Travis Ralston
041379fa3c Don't refuse the soft logout page if the user is soft logged out 2019-07-09 23:44:14 -06:00
Travis Ralston
1eb60ef1c4 Support SSO for rehydrating a soft-logged-out session.
Fixes https://github.com/vector-im/riot-web/issues/10238
2019-07-09 20:16:44 -06:00
Travis Ralston
4b1d78e04d Merge branch 'develop' into travis/soft-logout-design 2019-07-09 11:35:49 -06:00
Travis Ralston
a33e5f1918
Merge pull request #3188 from matrix-org/travis/soft-logout-non-default-hs
Fix React crash when using a non-default homeserver on soft logout
2019-07-09 11:32:31 -06:00
Travis Ralston
ab63e8bd04 Remove backwards compat function 2019-07-08 11:55:00 -06:00
Travis Ralston
d2ab0a5ca7 Move key backup init to componentDidMount 2019-07-08 11:53:26 -06:00
Travis Ralston
3e0be640fd Merge branch 'travis/soft-logout-rehydrate' into travis/soft-logout-keys 2019-07-08 11:52:58 -06:00
Travis Ralston
c3383e9315 Move _initLogin to componentDidMount 2019-07-08 11:51:22 -06:00
Travis Ralston
ae79ce97f3 Dress up the soft logout page to look like the design
Fixes https://github.com/vector-im/riot-web/issues/10262

Also fixes showing the user ID twice. We might have a User object which helpfully sets the display name to the user ID, so check for that.
2019-07-05 15:05:31 -06:00
Travis Ralston
ca6563dce4 Merge branch 'travis/soft-logout-rehydrate' into t1 2019-07-05 15:03:24 -06:00
Travis Ralston
1f1a5b2aac Fix React crash when using a non-default homeserver on soft logout
The function used exists on the peg, not the client. This commit also fixes the name of the function in a backwards compatible way.
2019-07-05 14:35:21 -06:00
Travis Ralston
55b4ef2169 Change soft logout rehydrate text if there's pending key backups
Fixes https://github.com/vector-im/riot-web/issues/10263
Requires https://github.com/matrix-org/matrix-js-sdk/pull/982
2019-07-05 13:52:14 -06:00
Travis Ralston
d39b4e9c7c Merge branch 'travis/soft-logout-rehydrate' into travis/soft-logout-keys 2019-07-05 13:41:04 -06:00
J. Ryan Stinnett
017fc84862
Merge pull request #3184 from matrix-org/jryans/reactions-send-marks-unread
Track live events in timeline and use for read receipts and read markers
2019-07-05 17:55:59 +01:00
J. Ryan Stinnett
3c3426d97e Update copyright header 2019-07-05 15:08:55 +01:00
J. Ryan Stinnett
0ae98a5a4d Track live events in timeline and use for read receipts and read markers
This changes the `TimelinePanel` to track live events (that have committed to
the server and been remote echoed) as well as the full list of events (which
includes pending events).

The code paths that advance read receipt and read markers are then changed to
only use the live events so that these cannot advance into pending events.

Fixes https://github.com/vector-im/riot-web/issues/9952
2019-07-05 14:37:19 +01:00
Travis Ralston
00973a1ee8 Appease the linter 2019-07-04 17:00:09 -06:00
Travis Ralston
03cbd7e8bb Ensure links off the forgot password page land you at soft logout 2019-07-04 16:51:55 -06:00
Travis Ralston
93872e6fa5 Ask for the user's password to rehydrate their soft logged out session
Fixes https://github.com/vector-im/riot-web/issues/10236

The changes to the MatrixClientPeg (assign/start) are to permit the SoftLogout page to access the MatrixClientPeg reliably. This is why assign() is called by Lifecycle as an alternative to start().

Minimal design work has been done here. The majority is deferred to https://github.com/vector-im/riot-web/issues/10262
2019-07-04 16:51:16 -06:00
Travis Ralston
89131be438 Require that users go to the soft logout page if they're soft logged out
Fixes https://github.com/vector-im/riot-web/issues/10234
2019-07-04 15:14:00 -06:00
Travis Ralston
8ea46a8c4d Remove unneeded page types 2019-07-04 09:59:20 -06:00
Travis Ralston
5e5bf21281 Remove irrelevant debugging 2019-07-04 09:59:07 -06:00
Travis Ralston
521bc90b5f Appease the linter 2019-07-03 16:51:09 -06:00
Travis Ralston
42e6287bdb Implement basic soft logout handling
Fixes https://github.com/vector-im/riot-web/issues/10235

CSS and copy are left as an exercise for a later iteration.

Login page handling is left for https://github.com/vector-im/riot-web/issues/10236

This implementation reuses as much of the Lifecycle flow as it can without causing problems. Most importantly, it requires https://github.com/matrix-org/matrix-js-sdk/pull/975 to be able to detect a soft logout and react to it. When it comes time to starting/stopping the Lifecycle, additional parameters are provided so that the auxiliary services can (re)start themselves without the client starting to sync.
2019-07-03 16:46:37 -06:00
David Baker
668d24111c
Merge pull request #3173 from matrix-org/t3chguy/MELS_3pid
MELS handle m.room.third_party_invite
2019-07-03 16:02:10 +01:00
Bruno Windels
353f5a205c
Merge pull request #3170 from matrix-org/bwindels/handle-associated-failures
Handle associated event send failures
2019-07-03 09:02:58 +00:00
Michael Telatynski
429b8e94df MELS handle m.room.third_party_invite
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-07-03 08:58:34 +01:00
Bruno Windels
14caed62d0 make sure scrollpanel is mounted before checking scroll
have seen errors in this direction, so hope this will fix it,
as this is invoked from any EventTile's onHeightChanged callback,
which is often called after some async operation (by when the
timeline can be unmounted already).
doesn't hurt in any case.
2019-07-02 17:29:37 +02:00
Michael Telatynski
46a6043e9b Use title prop instead to minimize changes
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-30 11:00:21 +01:00
Michael Telatynski
8ed336ea08 Add AccessibleTooltipButton and use it for RoomSubList buttons
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-30 10:58:59 +01:00
J. Ryan Stinnett
2d1325686d
Merge pull request #3148 from matrix-org/matthew/fix-horizontal-scrolling
If on trackpad, don't mess with horizontal scrolling.
2019-06-28 15:21:22 +01:00
J. Ryan Stinnett
00dfdfe7f1
Fix linter warning 2019-06-28 15:16:44 +01:00
Travis Ralston
7f2ab39609
Merge pull request #3142 from matrix-org/travis/preview-loading
Show a loading state for slow peeks
2019-06-27 09:24:25 -06:00
Matthew Hodgson
3873dc724a stupid linter >:( 2019-06-26 21:47:55 +01:00
Matthew Hodgson
7fc5d229d6 fix stuff as per review 2019-06-26 21:13:17 +01:00
Matthew Hodgson
3d11eb430b oops, remove old code 2019-06-26 18:38:46 +01:00
Matthew Hodgson
debcafd760 if on trackpad, don't mess with horizontal scrolling.
trackpad heuristic is 'if 15 minutes of no horizontal scrollwheel events, assume user may have switched to mousewheel'
2019-06-26 18:38:03 +01:00
Travis Ralston
838ef7fa40
Merge pull request #3141 from matrix-org/travis/fix-guest-experience
Supply oobData to RoomPreviewBar
2019-06-26 07:14:00 -06:00
Travis Ralston
5f242f0285 Supply oobData instead of erroring 2019-06-25 20:57:07 -06:00
Travis Ralston
ca6ddf324f Show a loading state for slow peeks 2019-06-25 20:56:33 -06:00
Travis Ralston
7b00d29ea6 Don't boost trackpad users in breadcrumbs
Fixes https://github.com/vector-im/riot-web/issues/10005
2019-06-25 16:08:11 -06:00
Travis Ralston
9771ce1e04
Merge pull request #3136 from matrix-org/t3chguy/room_directory_autojoin
When joining from room directory, use auto_join
2019-06-25 12:28:41 -06:00
Michael Telatynski
7391796eab
Only autojoin using the search box enter/join btn 2019-06-25 10:18:47 +01:00
Bruno Windels
8394e162ad cache setting where it's easy 2019-06-24 16:53:31 +02:00
Michael Telatynski
9e7a70b9d5 When joining from room directory, use auto_join
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-23 22:39:04 +01:00
Bruno Windels
5fa3f70fb4 feature flag for displaying edits as well 2019-06-21 18:32:15 +02:00
J. Ryan Stinnett
b16a3c53cd
Merge pull request #3122 from matrix-org/jryans/slim-contextualmenu
Remove unused ContextualMenu features
2019-06-19 19:18:37 +01:00
J. Ryan Stinnett
78b0f61efe
Merge pull request #3119 from matrix-org/jryans/rename-tooltip-button
Fix casing of TooltipButton
2019-06-19 19:18:15 +01:00