Commit graph

3574 commits

Author SHA1 Message Date
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
J. Ryan Stinnett
dc9282c539 Remove unused ContextualMenu features 2019-06-19 14:47:15 +01:00
David Baker
6eddce8c32 lint 2019-06-19 12:13:17 +01:00
David Baker
edd43a2706 Fix favicon/title badge count
This was using a separate function (in MatrixChat) that didn't
take into account whether we were supposed to be hiding the badge
for rooms so would include notifs that were hidden everywhere else.

Also make it a function & put it in RoomNotifs with all its friends.

Fixes https://github.com/vector-im/riot-web/issues/3060
2019-06-19 12:06:32 +01:00
J. Ryan Stinnett
4ec7a8ddff Fix casing of TooltipButton
My brain can't deal with two different ways to write "Tooltip", so this
converges the naming to match the rest of the code base. Separate commits will
fix up the file names for case-insensitive file systems.
2019-06-19 11:26:13 +01:00
David Baker
c8e121dc70 Restore warning for if you're already logged in
...when clicking an email link. Although now we can complete the
registration because we can do so without replacing your session.
2019-06-18 18:43:14 +01:00
Bruno Windels
c4fc2a8089 remove redundant localecho part from method name 2019-06-18 14:57:58 +02:00
Bruno Windels
02c9e29937 use renamed method that also takes local redactions into account now 2019-06-18 13:47:33 +02:00
Bruno Windels
32840fc274
Merge pull request #3098 from matrix-org/t3chguy/restore_composer_history
Restore Composer History under shift-up & down
2019-06-18 08:59:11 +00:00
David Baker
10f6abfe17 Allow changing server if validation has failed
Show the server config section if there's an error and fix an if
case where we forgot to un-set the busy flag
2019-06-17 18:47:20 +01:00
David Baker
e3bf4a0b8e Re-enable register button on change to working HS
Register button disabling is done via serverErrorIsFatal so we need
to reset this on a successful validation.

https://github.com/vector-im/riot-web/issues/10029
2019-06-17 16:27:35 +01:00
David Baker
4c036c98ee Fix double-spinner
On registering, we showed a spinner, and then another spinner on
top of the spinner, which led to an interesting spinner-in-box
effect.

Suppress the second type of spinner when we know we already have one.
2019-06-14 17:21:07 +01:00
David Baker
794b04b89a take the debugging out 2019-06-14 16:41:30 +01:00
David Baker
30726d6cf9 Pull out welcome user chat code to a separate function
also expand on comment
2019-06-14 16:29:26 +01:00
David Baker
929e9dc653 Don't forget to show the homepage if no welcome user 2019-06-14 16:04:09 +01:00
David Baker
8fa50b26a6 Fix welcome user
https://github.com/matrix-org/matrix-react-sdk/pull/3101 meant we
don't get logged straight in after registering if using an email
address, but this was the point at which we made a chat with the
welcome user. Instead, set a flag in memory that we should try &
make a chat with the welcome user for that user ID if we get a
session for them.

Of course, if the user logs in on both tabs, this would mean each
would make a chat with the welcome user (although actually this
was a problem with the old code too). Check our m.direct to see if
we've started a chat with the welcome user before making one (which
also means we have to make sure the cached sync is up to date...
see comments).
2019-06-14 15:31:19 +01:00
Michael Telatynski
6a10f0068d Use Alt-UP/DOWN for Composer History instead of random room change
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-14 12:26:52 +01:00
David Baker
446b20c454
Merge pull request #3101 from matrix-org/dbkr/simplify_email_reg
Simplify email registration
2019-06-13 18:22:30 +01:00
David Baker
81327264f7 Remove unused inhibitlogin param
and fix docs.
2019-06-13 17:44:00 +01:00
David Baker
048d8d2ec7 Simplify email registration
You now don't get automatically logged in after finishing
registration. This makes a whole class of failures involving race
conditions and multiple devices impossible.

https://github.com/vector-im/riot-web/issues/9586
2019-06-13 16:24:09 +01:00
Bruno Windels
3d944b715e
Merge pull request #3097 from matrix-org/bwindels/edit-unsent
Edit unsent messages
2019-06-13 14:00:46 +00:00
David Baker
1139f68de8 Pass in object of the right type 2019-06-12 18:11:58 +01:00
Bruno Windels
41e41269dc use EditorStateTransfer to pass on state to newly mounted editor 2019-06-12 18:52:34 +02:00
David Baker
10377b42e9 Fix registration with email + non-default HS
We were ignoring the hs/is from the query parameters so after
clicking the link, the new client tried to use the wrong server.

Broken by https://github.com/matrix-org/matrix-react-sdk/pull/2941
Fixes https://github.com/vector-im/riot-web/issues/9659
2019-06-12 17:42:09 +01:00
J. Ryan Stinnett
413bff084c
Merge pull request #3087 from matrix-org/jryans/context-menu-clipping
Align message context menu to right and vertically where space available
2019-06-12 10:19:47 +01:00
J. Ryan Stinnett
b8ed731c89 Allow registration to submit for non-fatal errors
This allows you to proceed with registration even if the IS is down, for
example.

Fixes https://github.com/vector-im/riot-web/issues/10018
2019-06-11 18:01:27 +01:00
J. Ryan Stinnett
21099052fc Clear the login busy state after .well-known discovery
This always clear the login busy state after .well-known discovery without
waiting for the resulting server config. This is important for the case where
the HS that a full MXID resolves to matches the default HS, as without it we'd
be stuck in a busy state forever.

Fixes https://github.com/vector-im/riot-web/issues/10014
2019-06-11 15:41:47 +01:00
David Baker
a6c5ac669b Don't show spinner once liveness check has failed
We're not doing anything at that point so it's a lie
2019-06-11 12:10:44 +01:00
David Baker
5eccd14120 Fix registration after fail-fast
The lineness checks meant that we could no longer assume we always
had a matrix client, so don't assume we do.

Fixes https://github.com/vector-im/riot-web/issues/10011
2019-06-11 12:02:14 +01:00
David Baker
e1a1492f6f
Merge pull request #3085 from matrix-org/dbkr/one_request_at_a_time_two
Use setBusy interface of js-sdk interactive auth
2019-06-11 10:42:27 +01:00
David Baker
7b3d1ad08d
Typo 2019-06-11 10:29:00 +01:00
Travis Ralston
bd3237500f Fix submit disabled condition 2019-06-10 20:24:06 -06:00
Travis Ralston
aacb942d57 Don't handle identity server failure as fatal, and use the right message
Fixes https://github.com/vector-im/riot-web/issues/10002
2019-06-10 19:28:32 -06:00
David Baker
db867d1a58 s/setBusy/busyChanged/ 2019-06-10 16:27:27 +01:00
David Baker
cb4af9d043 Fix test fail 2019-06-10 16:18:58 +01:00
J. Ryan Stinnett
3126880345 Extend context menu alignment without chevrons
For context menus without chevrons, this changes the menu components to still
set default styles that align the menu based on the edges used to specify the
menu's position. This is not intended to change the positioning of any existing
menus.
2019-06-10 16:07:28 +01:00
David Baker
4597dcd221 Fix exception on logout
Don't try to unregister if we never registered
2019-06-10 15:27:59 +01:00
David Baker
a8a4ca2ed1 Use setBusy interface of js-sdk interactive auth
This helps to make sure we only do one auth request at a time.

https://github.com/matrix-org/matrix-js-sdk/pull/951
2019-06-10 15:22:53 +01:00
David Baker
2c10557f26 Don't NPE if no third party invite 2019-06-10 12:32:53 +01:00
David Baker
80812db466 Remember we were trying to accept an invite
When the user was on an invite page and clicked the sign up/sign in
buttons, remember that invite so we can show it again after they're
done signing up/in.

https://github.com/vector-im/riot-web/issues/9816
2019-06-10 10:24:06 +01:00
Travis Ralston
795a273e26
Merge pull request #3067 from matrix-org/travis/fail-fast-but-not-too-fast
Fail more softly on homeserver liveliness errors
2019-06-07 07:43:45 -06:00
Travis Ralston
59ba5fe62a Don't block submit if the server is dead
But still check so we can clear any errors, maybe
2019-06-07 07:36:46 -06:00
Travis Ralston
120123bcb1 Allow submit on forgot password page 2019-06-07 07:27:15 -06:00
Michael Telatynski
3f6b266256
Merge pull request #3077 from matrix-org/t3chguy/change_keybind
change profile keybind to backtick from i due to italics conflict
2019-06-07 00:16:54 +01:00
Michael Telatynski
bea4f557a1 change profile keybind to backtick from i due to italics conflict
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-07 00:08:51 +01:00
David Baker
aba329cab5 Look busy whilst requesting the email token
We need to wait for it to finish before letting the user start
completing the steps since if it fails, we can't complete the auth.
2019-06-06 19:41:57 +01:00
Travis Ralston
d59ad605a6 Allow the login form to be submitted, and clarify other things 2019-06-06 12:18:41 -06:00
David Baker
b365c9dfe6
Merge pull request #3074 from matrix-org/dbkr/fix_email_invite_address_match_check
Fix email invites address-match checking
2019-06-06 15:06:36 +01:00
David Baker
9816fe0ed7 Fix email invites address-match checking
Riot was always saying the email address that the invite was sent
to was not associated with your account.

Two fixes here:
 1. We mounted RoomPreviewBar with no invitedEmail prop and then
    changed the prop later, but RoomPreviewBar only checked for it
    on mount. Make sure we re-check when the props change.
 2. Pass oobData through RoomPreviewBar because we need to pass it
    to the RoomAvatar for 3pid invites.

https://github.com/vector-im/riot-web/issues/9816
2019-06-06 14:34:57 +01:00
Travis Ralston
ace1bde238 Implement design and copy for errors 2019-06-05 11:32:02 -06:00
Travis Ralston
38a4031299
Merge pull request #3066 from matrix-org/travis/no-button-guest
Add a logged in class to EmbeddedPage and react to MatrixClient changes
2019-06-05 07:23:45 -06:00
Bruno Windels
940b2a7ef2
Merge pull request #3058 from matrix-org/bwindels/redactions-local-echo
Don't show "can't redact" dialog on network error, with redaction having local echo & queuing now.
2019-06-05 07:49:51 +00:00
Travis Ralston
e2fdeec71a Fail more softly on homeserver liveliness errors
This performs liveliness checks on the auth pages to try and show a friendlier error. Earlier checks in the app startup are expected to not block the app from loading on such failures.

See https://github.com/vector-im/riot-web/issues/9828
2019-06-04 23:42:38 -06:00
Travis Ralston
4fc054e1c9 Add a logged in class to EmbeddedPage and react to MatrixClient changes
See https://github.com/vector-im/riot-web/pull/9957

The two hacks introduced here are for different reasons, mostly related to the welcome page. If you land directly on the welcome page, the app's lifecycle is highly unlikely to have a bootstrapped client. This results in the loggedIn class being false. When the client is later set up (loaded from session, new guest account registered, etc) the context fails to update for the EmbeddedPage, and we need to give it a kick to re-render. It's arguable if we should even keep using the context here.
2019-06-04 16:08:32 -06:00
Bruno Windels
ef7b7628ac use Room.redactionCancelled event 2019-06-04 21:37:57 +02:00
David Baker
b412103f21
Merge pull request #3062 from matrix-org/dbkr/dont_break_on_wrong_password
Fix login page breaking on wrong password
2019-06-04 18:02:22 +01:00
J. Ryan Stinnett
4956dcf45e
Merge pull request #3056 from matrix-org/jryans/read-receipts-relations-review
Ensure we always show read receipts even with hidden events
2019-06-04 16:24:05 +01:00
J. Ryan Stinnett
8e811fc78e Use the existing room object
For some reason, we were getting the room object for every event during read
receipt processing, even though it has been passed in as a prop already.
2019-06-04 16:01:02 +01:00
J. Ryan Stinnett
06547ef5b3 Cache hidden events setting
Settings is too expensive to query in a hot code path, so this caches the value
on the MessagePanel component instead.
2019-06-04 16:01:02 +01:00
J. Ryan Stinnett
bea845a80d
Merge pull request #3059 from matrix-org/jryans/read-receipts-relations-send-review
Advance read receipts into trailing events without tiles
2019-06-04 14:35:14 +01:00
David Baker
9897e99195 Fix login page breaking on wrong password
Fixes https://github.com/vector-im/riot-web/issues/9942
2019-06-04 13:51:33 +01:00
David Baker
e1fa53e5d4 Remove unused errorText prop
Login is only used from MatrixChat and that doesn't specify it
2019-06-04 13:30:36 +01:00
J. Ryan Stinnett
e5abb2e089 Add more read receipt comments 2019-06-04 11:12:52 +01:00
J. Ryan Stinnett
96b213e7cb Advance read receipts into trailing events without tiles
This changes read receipt sending logic to allow it advance further into events
without tiles (such as edits or reactions) that may exist after the last
displayed event.

By allowing the read receipt to advance past such events, this also marks as
read any related notifications. For example, edits trigger notifications by
default since they are `m.room.message` events, and with this change, such edit
notifications can finally be marked read.

Part of https://github.com/vector-im/riot-web/issues/9745
2019-06-03 18:25:35 +01:00
J. Ryan Stinnett
4cea2f0af1 Ensure we always have receipts for users we've seen
This adds additional receipt storage to so that we can handle cases where the
receipts and events lists get out of sync. If we ever find a user who previously
had a receipt but momentarily no longer does, we recover their previous receipt
and go with that until we hear something new.

Part of https://github.com/vector-im/riot-web/issues/9745
2019-06-03 15:05:03 +01:00
J. Ryan Stinnett
f8eb449dd7 Show read receipts for hidden events on last shown event
This changes how we determine read receipts for the entire message panel. We now
calculate read receipts for all events up front, which makes it easier to handle
hidden events by moving their read receipts up to the last shown event for
display purposes.

Part of https://github.com/vector-im/riot-web/issues/9745
2019-06-03 15:05:03 +01:00
J. Ryan Stinnett
91e86d2b02 Fix linting in MessagePanel 2019-06-03 15:03:59 +01:00
Travis Ralston
ad84144543
Merge pull request #3053 from matrix-org/travis/bc-labs
Convert breadcrumbs from labs to real setting
2019-06-03 07:10:51 -06:00
Travis Ralston
7f0282a2e8 Convert breadcrumbs from labs to real setting
Fixes https://github.com/vector-im/riot-web/issues/9391
2019-06-03 00:15:33 -06:00
Travis Ralston
8c414a9333 Counteract smooth scrolling on breadcrumbs
Smooth scrolling browsers (Firefox) use the relative area to determine how much scroll to apply. Because breadcrumbs are short vertically, the scroll amount is minimal (3 units) in the Y direction. On browsers which don't smooth scroll the units are usually much higher (100 in Chrome on Win 10). Users seem to expect the scrolling to be quicker due to the horizontal space on breadcrumbs, so we add a bit more power to their scroll when it looks small.

Fixes https://github.com/vector-im/riot-web/issues/9394
2019-06-02 23:59:02 -06:00
Travis Ralston
1c41629376
Merge pull request #3043 from matrix-org/travis/check-login-for-config
Accept JSX into the GenericErrorPage and expose local session vars
2019-05-31 11:03:41 -06:00
Travis Ralston
d81804e0fe Merge branch 'develop' into matthew/low_bandwidth 2019-05-30 19:42:09 -06:00
Travis Ralston
5c85f4609e Accept JSX into the GenericErrorPage and expose local session vars 2019-05-29 12:09:04 -06:00
Bruno Windels
4626581dbe scroll event into view when starting to edit 2019-05-24 15:38:51 +02:00
Travis Ralston
14dc4b47fa Merge branch 'develop' into travis/feature/wellknown2 2019-05-22 23:05:54 -06:00
Travis Ralston
f7ba8ffbd0 Translate scroll movement if the deltaX is the same as the threshold
Because the threshold is zero and the X movement is zero, we were not translating vertical movement to horizontal scrolling. 

Fixes https://github.com/vector-im/riot-web/issues/9804
2019-05-22 10:19:38 -06:00
David Baker
03d092c574
Merge pull request #3010 from matrix-org/dbkr/uiauth_send_email
js-sdk interactive auth now sends email token
2019-05-22 14:24:14 +01:00
David Baker
90eb3ce9ec js-sdk interactive auth now sends email token
We previously sent it in componentWillMount of the email token
auth component which definitely gets us on react's naughtly list.
We now pass the js-sdk a callback it can call at the appropriate
time to send the token (https://github.com/matrix-org/matrix-js-sdk/pull/926).

We should make password reset and adding email addresses work the
same way, but currently they don't even use the interactive-auth
helpers(!) so they're unaffected.

https://github.com/vector-im/riot-web/issues/9586
2019-05-22 11:51:26 +01:00
Bruno Windels
038cc45ee1
Merge pull request #3008 from matrix-org/matthew/fontmanager
load twemoji dynamically as colr or sbix; fix monospace
2019-05-22 09:36:15 +00:00
J. Ryan Stinnett
2648dbd221 Guard against null rooms in onEventDecrypted
Timeline sets may have a null room, such as with the notification timeline set.
Here we check that case when events are decrypted to avoid throw an error.

Fixes https://github.com/vector-im/riot-web/issues/9798
2019-05-22 10:08:16 +01:00
J. Ryan Stinnett
4b4d09266e
Merge pull request #3005 from matrix-org/jryans/notif-error
Only show reactions in main message timeline
2019-05-22 09:15:04 +01:00
Matthew Hodgson
4ae652e5c3 load twemoji dynamically as colr or sbix; fix monospace 2019-05-22 02:31:24 +01:00
Travis Ralston
c2c55e06e6 Add voice labels for quick add room buttons
See https://github.com/vector-im/riot-web/issues/9747
2019-05-21 12:16:34 -06:00
J. Ryan Stinnett
238e967470 Only show reactions in main message timeline
This fixes an error that crashed that notifications panel because it was trying
to read reactions, even though we currently don't aggregate them there. This
change is more explicit about exactly which views should try to show reactions.

Fixes https://github.com/vector-im/riot-web/issues/9713
2019-05-21 18:27:10 +01:00
Travis Ralston
907c7ed119
Merge pull request #2994 from matrix-org/travis/screenreader/topleftmenu
Update TopLeftMenu for accessibility: Keyboard shortcut, reduced screen reader noise
2019-05-21 09:52:26 -06:00
J. Ryan Stinnett
b4ca586431 Fix lint errors in NotificationPanel 2019-05-21 16:38:48 +01:00
Matthew Hodgson
30a485bddd
Merge pull request #2995 from matrix-org/matthew/twemoji
Replace emojione with twemoji + emojibase
2019-05-21 11:32:53 +01:00
Travis Ralston
aac87c4635 Move focusing to the context menu create call 2019-05-20 21:07:55 -06:00
Travis Ralston
52b0f285c6 Add some clarifying comments 2019-05-20 21:07:12 -06:00
Travis Ralston
7ecab35062 Add a null guard for serverConfig
This is often null while the component is on its first render, and is called during that render. It is eventually populated by React, and the function re-called - we just have to be patient.
2019-05-20 20:10:10 -06:00
Travis Ralston
595b490fd7 Don't act busy on the login page for moving your cursor
If you were in the username field and simply tabbed out without entering anything, the form would become "busy" and not let you submit. We should only be doing this if we have work to do, like .well-known discovery of the homeserver.
2019-05-20 20:10:10 -06:00
Travis Ralston
3476be3327 Merge branch 'develop' into travis/feature/wellknown2 2019-05-20 19:50:02 -06:00
Michael Telatynski
868c99d140 Hide WhoIsTyping component if the MessagePanel is shaped e.g file grid
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-05-20 21:53:15 +01:00
Matthew Hodgson
d3f06763b3
Merge branch 'develop' into matthew/twemoji 2019-05-20 16:38:44 +01:00
Bruno Windels
1368a5eb80
Merge pull request #2996 from matrix-org/bwindels/composerdesign
Message editing: apply design
2019-05-20 08:42:41 +00:00
Matthew Hodgson
c63419f8a2 typos 2019-05-19 16:31:25 +01:00
Matthew Hodgson
dc72641264 replace emojione with twemoji. completely untested & debugged & unoptimised 2019-05-19 15:23:43 +01:00
Travis Ralston
c5757d8303 Support CTRL+I for opening TopLeftMenu 2019-05-17 15:29:16 -06:00
J. Ryan Stinnett
45cdf880b1 Change setting style 2019-05-17 17:43:08 +01:00
J. Ryan Stinnett
3a405701a3 Debug: Show all events 2019-05-17 16:34:01 +01:00
Bruno Windels
9a3752c571 show message editor in textual body instead of replacing event tile 2019-05-17 15:30:07 +01:00
Travis Ralston
bc5227a191 Fix some source strings noticed as incorrect by translators 2019-05-16 14:35:56 -06:00
Travis Ralston
0c7aa39273 Merge branch 'develop' into travis/feature/wellknown2 2019-05-16 12:59:50 -06:00
Travis Ralston
1ea5b42cf5
Merge branch 'travis/feature/wellknown2' into travis/wk/mxid 2019-05-16 12:47:37 -06:00
Travis Ralston
f75dc9c804
Merge pull request #2971 from matrix-org/travis/wk/fallback_hs
Only expose the fallback_hs_url if the homeserver is the default homeserver
2019-05-16 12:46:52 -06:00
Travis Ralston
8c326bff9e
Merge pull request #2964 from matrix-org/travis/wk/simplify-phases
Refactor "Next" button into ServerConfig components
2019-05-16 12:46:35 -06:00
Bruno Windels
3ef631191b show sending status for replacements as well on local echo 2019-05-16 14:44:00 +01:00
Bruno Windels
f7de8d4f58 use new events to find out about replacements 2019-05-16 14:43:32 +01:00
Travis Ralston
60a13652df
Merge pull request #2965 from matrix-org/travis/wk/tooltip
Render underlines and tooltips on custom server names in auth pages
2019-05-15 14:13:44 -06:00
Travis Ralston
6e3b06f364 Human de-linting 2019-05-15 13:56:15 -06:00
Bruno Windels
5805a88ab9 adjust to js-sdk changes of marking original event as replaced 2019-05-15 11:54:26 +01:00
Travis Ralston
9b5830bb08 Restore use of full mxid login
See https://github.com/vector-im/riot-web/issues/9290
2019-05-14 15:01:22 -06:00
Travis Ralston
34719b9a2e Only expose the fallback_hs_url if the homeserver is the default HS
See https://github.com/vector-im/riot-web/issues/9290
2019-05-14 13:10:02 -06:00
Travis Ralston
4c1ac38dd4 Merge branch 'develop' into travis/feature/wellknown2 2019-05-14 10:53:01 -06:00
Bruno Windels
15df72e629 reload events when event gets replaced in the timeline 2019-05-14 15:39:24 +01:00
Bruno Windels
6599d605cd wire up editor component (somewhat hacky) 2019-05-14 15:38:16 +01:00
David Baker
c11d26d809 Fix email registration, pt. 2
Regressed in https://github.com/matrix-org/matrix-react-sdk/pull/2768
where we check for an existing stored account first and restore that
instead if it exist, telling the user. We usually make a guest account
when the user first hits the page though, so this just restored this
guest account.

Don't restore the account if it's just a guest account (which, as per
comment, is not perfect, but is definitely better than the current
behaviour).

Fixes https://github.com/vector-im/riot-web/issues/9581
2019-05-14 11:59:38 +01:00
David Baker
a0ecd89c94 Fix email registration: pt. 1
We look to see if there's already a user logged in and if there is,
restore that session instead of logging the user in as their new
account. We still set this 'is_registered' flag though, even though
in that case it's not a newly registered account that's being restored,
so don't set in that case.
2019-05-14 11:44:00 +01:00
Travis Ralston
e4576dac28 Render underlines and tooltips on custom server names in auth pages
See https://github.com/vector-im/riot-web/issues/9290
2019-05-13 17:16:40 -06:00
Travis Ralston
ee33a4e9ba Refactor "Next" button into ServerConfig components
TODO still remains about making ModularServerConfig extend ServerConfig instead of duplicating everything.

See https://github.com/vector-im/riot-web/issues/9290
2019-05-13 16:30:34 -06:00
Travis Ralston
83737654ff Merge branch 'develop' into travis/feature/wellknown2 2019-05-13 09:20:10 -06:00
Travis Ralston
6a941aca91
Merge pull request #2941 from matrix-org/travis/guests/block-ui
Use validated server config for login, registration, and password reset
2019-05-10 11:21:21 -06:00
J. Ryan Stinnett
8fdb59a909 Use basic read path from JS SDK for reactions
This displays existing reactions correctly in the action bar and reaction row,
but it doesn't yet update after a new reaction is sent.
2019-05-10 17:19:27 +01:00
J. Ryan Stinnett
74189b2164 Fix indentation in MessagePanel 2019-05-10 17:19:27 +01:00
J. Ryan Stinnett
3beb70814c Fix indentation in TimelinePanel 2019-05-10 17:19:27 +01:00
Léo Mora
2342eb5426
Update 'Rooms' import 2019-05-09 16:17:54 +02:00
Travis Ralston
eab209a26b Log in to the right homeserver when changing the homeserver 2019-05-06 12:00:48 -06:00
Travis Ralston
58b9eb4cb2 Add a serverConfig property to MatrixChat for unit tests 2019-05-03 16:25:54 -06:00
Travis Ralston
a4b6464902 Appease the linter 2019-05-03 11:34:30 -06:00
Travis Ralston
1f527e71b1 Bring server config juggling into MatrixChat
This way the server config is consistent across login, password reset, and registration. This also brings the code into a more generic place for all 3 duplicated efforts.
2019-05-03 11:34:30 -06:00
Travis Ralston
0b1a0c77b7 Make login pass around server config objects
Very similar to password resets and registration, the components pass around a server config for usage by other components. Login is a bit more complicated and needs a few more changes to pull the logic out to a more generic layer.
2019-05-03 11:33:36 -06:00
Travis Ralston
b6e027f5cb Make password resets use server config objects
Like registration, the idea is that the object is passed around between components so they can take details they need.
2019-05-03 11:33:36 -06:00
Travis Ralston
00ebb5e1fd Make registration work with server configs
The general idea is that we throw the object around between components so they can pull off the details they care about.
2019-05-03 11:33:36 -06:00
Travis Ralston
6b45e60314 Update ServerTypeSelector for registration to use a server config 2019-05-03 11:32:59 -06:00
Travis Ralston
35ad68751b Remove unused skipServerDetails prop from registration 2019-05-03 11:13:36 -06:00
Travis Ralston
1620ccac53 Always default to the registration form
Fixes https://github.com/vector-im/riot-web/issues/8886
2019-05-02 23:55:40 -06:00
Travis Ralston
5a204edf90 Remove timeline explosion rageshake prompt
Concludes https://github.com/vector-im/riot-web/issues/8593

We are no longer seeing this error being triggered, and are considering it fixed. As a result, the dialog can be removed to reduce the amount of dead code in the project.
2019-05-01 13:37:57 -06:00
J. Ryan Stinnett
f4b783e802 Fix lint errors in TimelinePanel 2019-05-01 14:30:50 +01:00