Commit graph

1267 commits

Author SHA1 Message Date
David Baker
4c101628b5 Add 'send without verifying' to status bar
Fixes other part of https://github.com/vector-im/riot-web/issues/5936
2018-01-09 13:52:37 +00:00
Aidan Gauland
35780f5ae0 Remove use of deprecated React.PropTypes
Replace all uses of React.PropTypes with PropTypes and importing PropTypes from
'prop-types'.
2017-12-26 14:03:18 +13:00
Aidan Gauland
9531b219d2 Remove unused imports 2017-12-26 12:53:01 +13:00
Aidan Gauland
e6dbc3b863 Use DialogButtons in UnknownDeviceDialog
Use DialogButtons to eliminate duplicate button code.
2017-12-23 17:02:19 +13:00
Aidan Gauland
2674fcb6d3 Use DialogButtons in TextInputDialog
Use DialogButtons to eliminate duplicate button code.
2017-12-23 17:02:19 +13:00
Aidan Gauland
a11146f39d Use DialogButtons in SessionRestoreErrorDialog
Use DialogButtons to eliminate duplicate button code.
2017-12-23 17:02:19 +13:00
Aidan Gauland
93b789438b Use DialogButtons in ConfirmUserActionDialog
Use DialogButtons to eliminate duplicate button code.
2017-12-23 17:02:19 +13:00
Aidan Gauland
7a761dbf6b Use DialogButtons in ChatCreateOrReuseDialog
Use DialogButtons to eliminate duplicate button code.
2017-12-23 17:02:19 +13:00
Aidan Gauland
aecb4650bc Correct order of buttons in CreateGroupDialog
We can't use DialogButtons because the primary button is an <input> element.
2017-12-23 17:02:19 +13:00
Aidan Gauland
c863dbfc76 Use DialogButtons in CreateRoomDialog
Use DialogButtons to eliminate duplicate button code.
2017-12-23 17:02:19 +13:00
Aidan Gauland
0f6125e749 Use DialogButtons in AddressSelector
Use DialogButtons to eliminate duplicate button code.
2017-12-23 17:02:19 +13:00
Aidan Gauland
3b2c61e456 Use DialogButtons in QuestionDialog
Use DialogButtons to eliminate duplicate button code.
2017-12-23 17:02:19 +13:00
Aidan Gauland
9ebd58852c Rebase DeactivateAccountDialog on BaseDialog 2017-12-23 17:02:19 +13:00
Aidan Gauland
c5284eb070 Allow BaseDialog to take a class for the title <div>
Some dialogs need to set additional classes on the `mx_Dialog_title` `div`
element (for example `danger`).
2017-12-23 17:02:19 +13:00
Aidan Gauland
8bb16466d6 Rebase AddressSelector on BaseDialog 2017-12-23 17:02:19 +13:00
Peter Vágner
f2ca02eaf8 SetEmailDialog: use autoFocus prop on the EditableText rather than using
its ref inside onComponentDidMount function. This is shorter better and
has been requested.
2017-12-20 10:13:37 +01:00
Peter Vágner
20c485d85e Move aria-hidden management from the BaseDialog component to the Modal 2017-12-20 10:09:26 +01:00
Peter Vágner
9f5857a7cc Merge branch 'develop' into dialog-a11y 2017-12-14 11:04:59 +01:00
Peter Vágner
642675c96d Address review request comments 2017-12-14 10:31:28 +01:00
Peter Vágner
ab0ff9b781 BaseDialog: split a very long line 2017-12-12 18:55:57 +01:00
David Baker
0d38e7510d
Merge pull request #1600 from matrix-org/dbkr/udd_no_auto_show
Don't Auto-show UnknownDeviceDialog
2017-12-08 16:33:25 +00:00
Peter Vágner
321b1adb99 Elliminate lint errors and warnings 2017-12-08 07:47:08 +01:00
Peter Vágner
4171675221 Add some comments explaining how we are using aria-hidden property to
hide content outside of the BaseDialog to screen reader users.
2017-12-07 09:44:00 +01:00
David Baker
2a01985076 better proptypes 2017-12-06 19:07:12 +00:00
David Baker
0deed4bb88 null guard 2017-12-06 19:05:25 +00:00
Peter Vágner
f9b0243c8e Merge branch 'develop' into dialog-a11y 2017-12-06 11:10:18 +01:00
Peter Vágner
60ada30680 Forgot to turn div displaying error text into an aria-alert in the
create group dialog.
2017-12-05 23:46:02 +01:00
Peter Vágner
a31af39ca8 Applied aria-describedby to all other dialogs that are using BaseDialog.
Also added initial focus where it has not been set.
2017-12-05 13:52:20 +01:00
Peter Vágner
4f83f6cf25 Move keyboard focus management back to the BaseDialog rather than
leaving it in the Modal manager.
We are using Modal manager to load other components not just BaseDialog
and its subclasses and they might require different keyboard handling.
Also depend on focus-trap-react rather than react-focus-trap for locking
keyboard focus inside the dialog. The experience is much nicer and even
the FocusTrap element it-self no longer gains the focus.
On a side note using the FocusTrap element outside the dialog (on
its parent) stops it from working properly.
2017-12-05 08:50:40 +01:00
Peter Vágner
5ccbcf02e2 Several changes improving accessibility of the dialogs
- Wrapped all the modals inside a react-focus-trap component disabling
keyboard navigation outside the modal dialogs
- Disabled our custom key handling at dialog level. Cancelling on esc
key is now handled via FocusTrap component.
- Removed onEnter prop from the BaseDialog component. Dialogs that
submit data all now embed a form with onSubmit handler. And since
keyboard focus is now managed better via FocusTrap it no longer makes
sense for the other dialog types. Fixes
https://github.com/vector-im/riot-web/issues/5736
- Set aria-hidden on the matrixChat outer node when showing dialogs to
disable navigating outside the modals by using screen reader specific
features.
2017-12-03 21:38:21 +01:00
Luke Barnard
fe81fcb8c6 Factor out isCtrlOrCmdKeyEvent, use that in TagPanel
as opposed to the incorrect ctrl || meta
2017-12-01 10:30:49 +00:00
Stefan Parviainen
437a440bdf Add missing id
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-11-30 08:32:18 +01:00
Stefan Parviainen
cb5c9f2c5a Make Dialogs more accessible
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-11-29 21:13:48 +01:00
Luke Barnard
7ec4010881 Make GroupStore use MatrixClientPeg
To avoid weirdness with using a cached matrix client
2017-11-28 11:54:05 +00:00
Aidan Gauland
3358fdc906 Address eslint errors
* Remove space before curly brace.
* Remove unused import.
2017-11-26 16:04:24 +13:00
Aidan Gauland
aaf8106e9e Rebase ConfirmRedactDialog on QuestionDialog
Rewrite the ConfirmRedactDialog component to derive from the QuestionDialog component.
2017-11-26 15:46:24 +13:00
David Baker
65e1d49f37 More sensible buttons in UnknownDeviceDialog
Just say 'Send' (or equiv) if you actually verify all the devices,
rather than 'Send Anyway'.
2017-11-16 17:59:42 +00:00
David Baker
196eafdc7f Merge remote-tracking branch 'origin/develop' into dbkr/udd_no_auto_show 2017-11-16 15:59:16 +00:00
David Baker
6f8427a5af Revert rest of https://github.com/matrix-org/matrix-react-sdk/pull/1584
Because apparently the revert did not revert this part
2017-11-16 15:11:47 +00:00
Luke Barnard
dad797d4a2 Run linting --fix 2017-11-16 13:19:36 +00:00
Stefan Parviainen
2c1618bc10 Fix conflict and update strings
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-11-15 20:40:51 +01:00
David Baker
b0027525f3 Wire up Unknown Devices popup for outbound calls 2017-11-15 17:21:04 +00:00
David Baker
93800be742 Factor out showing UnknownDeviceDialog
So we can re-use it for calls that fail due to unknwon devices
2017-11-15 15:15:21 +00:00
David Baker
f8fc6dc83e Merge remote-tracking branch 'origin/develop' into dbkr/udd_no_auto_show 2017-11-15 12:11:33 +00:00
Stefan Parviainen
df6d5cc2b4 Pass plain components, rather than functions returning them 2017-11-14 20:09:52 +01:00
Stefan Parviainen
3afbaf61e7 Refactor i18n stuff a bit 2017-11-13 20:19:33 +01:00
Travis Ralston
c5c346f0b7 Merge branch 'develop' into travis/granular-settings 2017-11-13 12:18:41 -07:00
David Baker
0659ac1ccb Merge remote-tracking branch 'origin/develop' into dbkr/udd_no_auto_show 2017-11-13 17:45:57 +00:00
Luke Barnard
d179267714 Add prop type 2017-11-10 11:41:36 +00:00
David Baker
820d9c1c25 Show staus bar on Unknown Device Error
Don't pop up the dialog as soon as we can't send a message.

Also removes dispatches used to keep the RoomStatusBar up to date.
We can get the same events straight from the js-sdk via the
pending events event.
2017-11-09 15:58:15 +00:00
Luke Barnard
6eeb91ee2e Display group member profile (avatar/displayname) in ConfirmUserActionDialog
Fixes https://github.com/vector-im/riot-web/issues/5486
2017-11-09 12:24:20 +00:00
Travis Ralston
030633fa90 Merge remote-tracking branch 'matrix-org/develop' into travis/granular-settings 2017-11-08 17:43:38 -07:00
Travis Ralston
2711da28b4 Use the SettingsStore in the UnknownDeviceDialog 2017-11-08 17:43:06 -07:00
Travis Ralston
f7da5836e1 Make blacklistUnverifiedDevices override the level order
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-08 17:41:32 -07:00
David Baker
7b243bf64d
Revert "UnknownDeviceDialog: get devices from SDK" 2017-11-08 18:49:50 +00:00
Luke Barnard
077ca36b05 Rank rooms with shorter matching aliases first 2017-11-08 10:47:45 +00:00
Luke Barnard
b3674f503d Do not search through room topics 2017-11-08 10:32:48 +00:00
Luke Barnard
4c47f75918
Merge pull request #1587 from matrix-org/luke/groups-add-rooms-with-visibility
Add checkbox to GroupAddressPicker for determining visibility of group rooms
2017-11-08 10:04:41 +00:00
Luke Barnard
8fbe50a1cf
Merge pull request #1580 from matrix-org/luke/groups-new-group-settings
Improve group creation UX
2017-11-07 18:55:34 +00:00
Luke Barnard
edc744067f Add checkbox to GroupAddressPicker for determining visibility of group rooms 2017-11-07 18:51:41 +00:00
David Baker
10f15dfc56 Unmounted guard 2017-11-07 17:10:40 +00:00
David Baker
ec560345c7 UnknownDeviceDialog: get devices from SDK
rather than having to have the error message passed in.

This is in preparation for not having the dialog pop up straight
away when a message isn't sent so we don't have to keep the error
object knocking around somewhere.
2017-11-07 16:37:43 +00:00
Luke Barnard
36cd22663a Open group settings when the group is created 2017-11-06 18:02:50 +00:00
Luke Barnard
b88c13d527 Use prefixed class names to avoid collisions with other libraries 2017-11-03 16:02:41 +00:00
Luke Barnard
e84e4ed5f5 Add CSS classes to group ID input in CreateGroupDialog 2017-11-03 15:38:12 +00:00
Stefan Parviainen
d6f1e12bee Fix merge conflict
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-11-01 15:50:45 +01:00
Luke Barnard
302bd6c3e9 Escape dash in regex 2017-10-31 11:48:56 +00:00
Luke Barnard
53938f7998 Change client-side validation of group IDs to match synapse 2017-10-31 10:25:06 +00:00
Stefan Parviainen
53e983f9c7 Fix merge conflict
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-10-25 18:19:27 +02:00
Luke Barnard
27f845a7aa Match on any alias 2017-10-25 12:42:58 +01:00
Luke Barnard
7029ab07fc If no canonical alias, use first alias (and fallback to Unnamed) 2017-10-25 12:38:39 +01:00
Stefan Parviainen
115772d526 Fix merge conflict
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-10-23 19:57:52 +02:00
Luke Barnard
a133fd1cf4 Fix "failed to create community" message 2017-10-23 14:57:40 +01:00
David Baker
cbb36f4780 Lint 2017-10-19 17:31:06 +01:00
David Baker
b9574ff382 Group create dialog: only enter localpart
Since we currently can only create groups on the local server anyway,
there's no point making the user jump through the hoop of forming the
whole group ID and telling them off if they got the server name wrong.
2017-10-19 16:47:43 +01:00
David Baker
19173ab4d6 Space, man. 2017-10-19 16:31:45 +01:00
David Baker
4abaa93cf0 Add clientside error for non-alphanumeric group ID 2017-10-19 16:28:02 +01:00
Luke Barnard
2be0ebdd1d More Groups->Communities 2017-10-19 15:01:16 +01:00
Luke Barnard
1b8c5b50db Don't show room IDs when picking rooms 2017-10-17 18:02:35 +01:00
Stefan Parviainen
9495ccdbb5 Don't hardcode ConfirmUserActionDialog title
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-10-12 22:15:53 +02:00
Luke Barnard
d3f9a3aeb5 Run eslint --fix
Fixing 1000s of lint issues. Some rules cannot be `--fix`ed but this goes some way to linting the entire codebase.
2017-10-11 17:56:17 +01:00
Luke Barnard
ffb9dd844a Merge pull request #868 from psaavedra/set_default_federate_by_settings
Added TextInputWithCheckbox dialog
2017-10-11 16:28:03 +02:00
Luke Barnard
99aabd9025 Merge pull request #1451 from matrix-org/t3chguy/redundant_thing
Remove redundant stale onKeyDown
2017-10-11 14:31:08 +02:00
Luke Barnard
917957c1dc Modify the group store to include group rooms
and modify components to use this new part of the store such that feedback can be given
when adding or removing a room from the room list.
2017-10-05 14:30:04 +01:00
Michael Telatynski
a8231f7bf9
Remove redundant stale onKeyDown
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-10-05 08:26:57 +01:00
Michael Telatynski
c115980f21
remove redundant&stale onKeyDown
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-10-05 08:08:39 +01:00
Michael Telatynski
38de4ae152
delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-10-05 08:00:22 +01:00
Michael Telatynski
7492f2dffa
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into set_default_federate_by_settings 2017-10-04 22:35:29 +01:00
Stefan Parviainen
a96169e80e Fix merge conflict 2017-10-02 17:57:22 +02:00
Luke Barnard
6b9a2909df Add rule to enforce spacing in curly brackets in JSX children
This required an updated in version of eslint-plugin-react to 7.4.0.
2017-09-28 11:21:06 +01:00
Luke Barnard
38fdd155f0 Construct address picker message using provided validAddressTypes 2017-09-28 10:06:51 +01:00
Luke Barnard
d52355f80e Implement adding rooms to a group (or group summary) by room ID 2017-09-27 15:30:58 +01:00
Luke Barnard
e3405cfd95 shouldOmitSelf -> includeSelf 2017-09-27 11:52:05 +01:00
Luke Barnard
6bc9b32ab7 Fix ability to feature self in a group summary
By default the AddressPicker would omit the currently logged-in user. This adds a property to override that to allow "self" to be picked.
2017-09-27 11:04:41 +01:00
Stefan Parviainen
35cb52febc Fix merge conflict 2017-09-27 08:41:37 +02:00
Luke Barnard
20d65535c0 Use all known rooms instead of public rooms 2017-09-26 17:11:54 +01:00
Luke Barnard
ddab8d7b5c Implement "Add room to group" feature 2017-09-26 14:49:13 +01:00
Stefan Parviainen
cc441f42f9 Some more translatable strings
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-09-23 09:02:51 +02:00
Luke Barnard
5f840a3031 Implement adding rooms to the group summary
This includes making UserPickerDialog more generic such that it can also pick rooms from groups.
2017-09-21 16:53:10 +01:00
Luke Barnard
9cd4cdf6df Filter group users results based on query 2017-09-21 10:52:28 +01:00
Luke Barnard
7ef55946da Fix console error log statement 2017-09-20 17:04:05 +01:00
Luke Barnard
1c1bf82c2a Add users to group summary using new API 2017-09-20 16:32:02 +01:00
Luke Barnard
44c38652ab Implement UserPickerDialog for adding users
Also, use AccessibleButtons.
2017-09-20 15:44:42 +01:00
David Baker
299db845ff PR feedback 2017-08-25 12:10:13 +01:00
David Baker
5f816666e1 Merge remote-tracking branch 'origin/develop' into dbkr/group_userlist 2017-08-22 10:08:02 +01:00
David Baker
ac64e9b705 Lint 2017-08-21 19:34:07 +01:00
David Baker
e77ea352e4 Support full group membership cycle
Apart from knocking, ie. Invite / accept / reject / leave
2017-08-21 19:18:32 +01:00
Richard van der Hoff
764d5891ad Fix proptypes on UserPickerDialog
... so that it doesn't log an error
2017-08-21 16:30:49 +01:00
Michael Telatynski
bdb2d6b475
Merge remote-tracking branch 'remotes/origin/develop' into set_default_federate_by_settings
# Conflicts:
#	src/components/structures/MatrixChat.js
2017-08-17 13:39:19 +01:00
Michael Telatynski
ca5e26744f
Make dialog more specific and hide options behind advanced spoiler 2017-08-17 13:33:07 +01:00
David Baker
e1ddd3781d Merge branch 'dbkr/userpicker' into dbkr/group_userlist 2017-08-15 14:10:45 +01:00
David Baker
81273ec855 Move non-invite specific stuff to UserAddress 2017-08-15 13:42:23 +01:00
David Baker
bbcf7e1d9b s/inviteList/userList/ 2017-08-15 13:30:13 +01:00
David Baker
fa660c8211 PR feedback 2017-08-15 10:57:24 +01:00
David Baker
64f352dda7 Merge remote-tracking branch 'origin/develop' into dbkr/group_userlist 2017-08-15 10:49:07 +01:00
David Baker
b7b449434d Lint 2017-08-15 09:10:13 +01:00
David Baker
1b66e88b6e ChatInviteDialog -> UserPickerDialog pt 2
The other changes I forgot to add
2017-08-14 17:43:00 +01:00
David Baker
447aa1e5a0 Refactor ChatInviteDialog to be UserPickerDialog
Now it's just a means of choosing users and all the actual inviting
functionality is moved out to Invite.js. This will allow us to
reuse it for inviting to groups.

Adds the ability to restrict what types of addresses may be chosen,
although this isn;t used yet, it will be necessary for groups
because groups don't support 3pid invites.
2017-08-14 17:38:59 +01:00
Michael Telatynski
b19c1010aa
Merge branches 'develop' and 't3chguy/i18n_analytics' of github.com:matrix-org/matrix-react-sdk into t3chguy/i18n_analytics
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

# Conflicts:
#	src/Analytics.js
2017-08-10 13:54:55 +01:00
Michael Telatynski
67f9c3774d
make string more human-friendly
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-10 13:51:47 +01:00
Michael Telatynski
24599ace32
don't track error messages
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-10 13:49:11 +01:00
Michael Telatynski
579090a4e3 add comment 2017-08-09 16:37:38 +01:00
David Baker
234a88c098 WIP group member list/tiles 2017-08-04 15:00:34 +01:00
Michael Telatynski
6e39e72849
fix m.federate always being false because value is a string. Y HTML...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-02 14:00:24 +01:00
Michael Telatynski
4b4b730233
fix and i18n the impl
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-02 13:41:26 +01:00
Michael Telatynski
fd454b476a
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into set_default_federate_by_settings 2017-08-02 12:15:00 +01:00
Michael Telatynski
62af06104d
resolve -> reject because semantics. 2017-07-31 14:22:05 +01:00
Michael Telatynski
f310d4446c
i18n the title of the set mxid dialog 2017-07-31 13:31:07 +01:00
Michael Telatynski
25d1d21d93
copy logic from RegistrationForm to detect invalid localparts 2017-07-31 13:28:43 +01:00
Michael Telatynski
bf98c0da7c
un-i18n Modal Analytics
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-27 17:19:18 +01:00
Richard van der Hoff
0d7cc59d99 replace q method calls with bluebird ones
```
find src test -name '*.js' |
    xargs perl -i -pe 's/q\.(all|defer|reject|delay|try|isFulfilled)\(/Promise.$1(/'
```
2017-07-12 18:05:40 +01:00
Richard van der Hoff
a06bd84213 replace imports of q with bluebird
update `package.json`

```
find src test -name '*.js' |
   xargs perl -i -pe 'if (/require\(.[qQ].\)/) { $_ = "import Promise from '\''bluebird'\'';\n"; }'

find src test -name '*.js' |
   xargs perl -i -pe 'if (/import [qQ]/) { $_ = "import Promise from '\''bluebird'\'';\n"; }'
```
2017-07-12 18:05:08 +01:00
David Baker
1e713557bb PR feedback 2017-07-07 18:34:40 +01:00
David Baker
fea0a941ce Fix lint 2017-07-07 11:01:54 +01:00
David Baker
84e13d5437 Add GroupAvatar to handle fallback images etc.
And a few misc tidyups
2017-06-29 17:51:38 +01:00
David Baker
f99c540b3d Groups page / Create Group dialog 2017-06-29 17:03:05 +01:00
Luke Barnard
2c2091438e Fix ability to invite users with caps in their user IDs
By lowercasing only when testing against local user IDs/display names. The user_directory shouldn't care. And when we make the placeholder "We didn't get any results, but here's the user with the exact mxid you typed in", use the original query.
2017-06-20 15:46:54 +01:00
Luke Barnard
f15292becf Merge branch 'develop' into luke/fix-email-cancel-button-text 2017-06-20 13:30:34 +01:00
Richard van der Hoff
a0534e7477 Merge branch 'develop' into rav/handle_received_room_key_requests 2017-06-20 00:25:14 +01:00
Luke Barnard
83d5822c85 Show a "Skip" button instead of "Cancel" in SetEmailDialog
Fixes https://github.com/vector-im/riot-web/issues/4309
2017-06-19 13:17:12 +01:00
David Baker
9ecf82a1f2 Show correct text in set email password dialog (2)
Fixes https://github.com/vector-im/riot-web/issues/4311

The cancel button onClick was hooked directly up to onFinished, so
the mouse event ended up as the boolean for whether an email had
been set.
2017-06-14 16:06:28 +01:00
Luke Barnard
1d4a3ae5a3 Give password confirmation correct title, description
Fixes https://github.com/vector-im/riot-web/issues/4311

This was due to `BaseDialog` calling `onFinished` with a mouse event instead of `false` (and it was assumed to call with `true/false`, but doesn't)
2017-06-14 14:58:39 +01:00
Luke Barnard
57dfbc4701 Remove unused imports 2017-06-14 10:53:02 +01:00
Luke Barnard
4344af58ee Ask for email address after setting password for the first time
So that the user can reset their password.
2017-06-14 09:31:16 +01:00
Luke Barnard
10ba5f8c3c Only process user_directory response if it's for the current query 2017-06-13 11:03:22 +01:00
Luke Barnard
1ce1984858 Fix regressions with starting a 1-1. 2017-06-13 10:15:29 +01:00
Richard van der Hoff
e6d7eedbe6 Remove NeedToRegisterDialog
- since it's no longer used anywhere
2017-06-12 08:36:41 +01:00
Kegan Dougal
9baaf5499f Linting 2017-06-08 14:58:54 +01:00
Kegan Dougal
c57823a31d Merge branch 'develop' into kegan/translation-tamarin 2017-06-08 14:19:56 +01:00
Kegan Dougal
1c58a9cd5e Everything but src/components/views/rooms 2017-06-08 12:33:29 +01:00
Kegan Dougal
0f4028da07 Add more translations.. 2017-06-08 09:44:58 +01:00
Matthew Hodgson
8228db88d2 oops, fix more i18n var name typos 2017-06-07 18:28:49 +01:00
Matthew Hodgson
ef2fedc3a9 fix missing translations and typos in i18n 2017-06-07 18:24:35 +01:00
Luke Barnard
29da25529c Make it backwards compatible
Hit the user_directory API and if M_UNRECOGNIZED, do a local search and continue to search locally therein.
2017-06-07 17:53:58 +01:00
Luke Barnard
68ddf35db4 Use then, catch, done and display any errors that occur during search 2017-06-07 17:33:15 +01:00
Luke Barnard
3b6599dcdc Use user_directory endpoint to populate ChatInviteDialog
Also attempt to slightly improve the feedback given when searching. There is still room for improvement - it's not totally obvious whether to display a spinner because it's quite jarring were it to replace the dd. This does mean that "No results" will flash awkardly between two queries, neither of which return any results.
2017-06-07 16:05:36 +01:00
Richard van der Hoff
27e5098e00 Merge remote-tracking branch 'origin/develop' into rav/handle_received_room_key_requests 2017-06-07 15:44:33 +01:00
Richard van der Hoff
c1151fd31c Merge branch 'develop' into rav/handle_received_room_key_requests 2017-06-07 15:37:38 +01:00
Luke Barnard
53ea41e8a5 Merge branch 'develop' into new-guest-access 2017-06-07 12:08:37 +01:00
Richard van der Hoff
32e3ea0601 Address review comments 2017-06-05 17:58:11 +01:00
Luke Barnard
619830617a Merge branch 'develop' into luke/ilag-i18n
In order to get ILAG internationalised

Conflicts:
	src/components/structures/LoggedInView.js
	src/components/structures/MatrixChat.js
	src/components/views/dialogs/ChatCreateOrReuseDialog.js
	src/components/views/dialogs/SetDisplayNameDialog.js
	src/createRoom.js
	src/i18n/strings/en_EN.json
2017-06-05 16:08:03 +01:00
Luke Barnard
6125395675 _t for SetMxIdDialog 2017-06-05 15:36:10 +01:00
Michael Telatynski
464863acd6 remove unused imports
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-02 21:35:55 +01:00
Michael Telatynski
5e85723b5a fix typo and missing import
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-02 21:09:19 +01:00
Luke Barnard
6e84b6e996 Display profile errors better 2017-06-02 11:50:58 +01:00
Luke Barnard
defecb1b14 Implement /user/@userid:domain?action=chat
This is a URL that can be used to start a chat with a user.
 - If the user is a guest, setMxId dialog will appear before anything and a defered action will cause `ChatCreateOrReuseDialog` to appear once they've logged in.
 - If the user is registered, they will not see the setMxId dialog.

fixes https://github.com/vector-im/riot-web/issues/4034
2017-06-02 11:36:18 +01:00
Kegan Dougal
f54c182eb1 Add remaining strings for vector-im/riot-web#4151 2017-06-02 10:47:08 +01:00
Richard van der Hoff
d5bc24d9f7 Initial implementation of KeyRequestHandler, KeyShareDialog etc 2017-06-01 18:40:04 +01:00
Richard van der Hoff
cbbed3f544 Fixes to i18n code 2017-05-31 18:31:10 +01:00
Matthew Hodgson
e30e45a82c Merge branch 'develop' into new-guest-access 2017-05-30 21:05:07 +01:00
Matthew Hodgson
93a35dc07a Merge branch 'develop' into t3chguy/piwik 2017-05-30 15:58:55 +01:00
Marcel
70e7d81093 More i18n strings (#963)
* Add i18n for E2E import and Export Dialogs

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add various previous missing i18n strings

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Translate CreateRoomButton

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add ChatInviteDialog and fix missing to.

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add ConfitmRedactDialog translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add DeactivateAccountDialog translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add DeviceVerifyDialog translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add SessionRestoreErrorDialog translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add SetDisplayNameDialog translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add UnknownDeviceDialog translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add AddressTile translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add DeviceVerifyButtons translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add Dropdown translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add UserSelector translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add CaptchaForm translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add CasLogin translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add CustomServerDialog translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add InteractiveAuthEntryComponents translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add LoginFooter translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add RegistrationForm translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add ServerConfig translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add MAudioBody translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add MImageBody translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add MVideoBody translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add TextualBody translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add UnknownBody translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add UrlPreviewSettings translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add AuxPanel translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add PresenceLabel translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* fix syntax error

* weird space :P

* missing ','

* fix missing value

* fix json fail

* remove acidential added file

* fix another json fail
2017-05-30 15:09:57 +01:00
Luke Barnard
47bf5401fa Use KeyCode.ENTER instead of 13 2017-05-30 13:14:14 +01:00
Luke Barnard
952651c685 Allow pressing Enter to submit setMxId 2017-05-30 13:02:35 +01:00
Luke Barnard
4e4c670458 Improve ChatInviteDialog perf by ditching fuse, using indexOf and lastActiveTs() 2017-05-30 12:34:19 +01:00
Michael Telatynski
b65e4960a5 move Dialog analytics to Modal controller
mark title as required, it sorta is, why isn't this based on BaseDialog?

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-29 17:39:03 +01:00
Michael Telatynski
42e20c38f9 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/piwik 2017-05-29 15:23:05 +01:00
Matthew Hodgson
df599890c5 add login link to SetMxIdDialog 2017-05-29 01:32:31 +01:00
Matthew Hodgson
1efc5c2b25 speed up SetMxIdDialog user check to 250ms as it was driving me MAD
i18nize new bottomleftmenu buttons
2017-05-28 23:28:40 +01:00
Matthew Hodgson
5c885922d9 Merge branch 'develop' into new-guest-access 2017-05-28 22:58:18 +01:00
Travis Ralston
1b6685c5da Merge branch 'develop' into travis/redact-to-remove 2017-05-28 17:45:32 -04:00
Michael Telatynski
fb3187b58e change event wording
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-28 13:26:33 +01:00
Michael Telatynski
98c2f9201b initial piwik stuff
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-27 20:47:09 +01:00
Luke Barnard
28094a9a66 Show "Something went wrong!" when errcode undefined 2017-05-26 13:13:57 +01:00
David Baker
443ab1add7 Put back default strings on dialogs
But make them work by calling _t in render rather than
getDefaultProps().

Also sort out some 'Warning!' strings
2017-05-25 18:20:48 +01:00
Luke Barnard
2265b59287 Remove warm-fuzzy after setting mxid 2017-05-25 14:54:28 +01:00
David Baker
5c359e63ab Bulk change counterpart imports
to use languageHandler wrapper func
2017-05-25 11:39:08 +01:00
Luke Barnard
298c5e4df3 Implement a store for RoomView
This allows for a truely flux-y way of storing the currently viewed room, making some callbacks (like onRoomIdResolved) redundant and making sure that the currently viewed room (ID) is only stored in one place as opposed to the previous many places.

This was required for the `join_room` action which can be dispatched to join the currently viewed room.

Another change was to introduce `LifeCycleStore` which is a start at encorporating state related to the lifecycle of the app into a flux store. Currently it only contains an action which will be dispatched when the sync state has become PREPARED. This was necessary to do a deferred dispatch of `join_room` following the registration of a PWLU (PassWord-Less User).

The following actions are introduced:
 - RoomViewStore:
    - `view_room`: dispatch to change the currently viewed room ID
    - `join_room`: dispatch to join the currently viewed room
 - LifecycleStore:
    - `do_after_sync_prepared`: dispatch to store an action which will be dispatched when `sync_state` is dispatched with `state = 'PREPARED'`
 - MatrixChat:
    - `sync_state`: dispatched when the sync state changes. Ideally there'd be a SyncStateStore that emitted an `update` upon receiving this, but for now the `LifecycleStore` will listen for `sync_state` directly.
2017-05-24 16:56:13 +01:00
David Baker
d419c42a4f Squash merge https://github.com/matrix-org/matrix-react-sdk/pull/801 2017-05-23 15:16:31 +01:00
Luke Barnard
05aaa599cc Merge branch 'develop' into new-guest-access
Conflicts:
	src/components/structures/MatrixChat.js
2017-05-22 16:19:10 +01:00
Richard van der Hoff
fc08dc33c6 Group e2e keys into blocks of 4 characters
Hopefully this will make them a bit easier to compare.
2017-05-22 12:01:09 +01:00
Richard van der Hoff
574b820d11 Factor out DeviceVerifyDialog 2017-05-22 11:12:36 +01:00
Luke Barnard
96c3bf56f8 Implement warm-fuzzy success dialog for SetMxIdDialog 2017-05-19 09:43:56 +01:00
David Baker
ebfafb3639 Revert "Merge pull request #807 from matrix-org/matthew/quick-search"
This reverts commit 0ad1d8caf3, reversing
changes made to 1189368aab.
2017-05-16 16:11:01 +01:00
David Baker
ff9c40472a Revert "Merge pull request #822 from t3chguy/BaseDialog_restore_focus"
This reverts commit 0ac836919d, reversing
changes made to 7e07ffd55f.
2017-05-16 14:50:29 +01:00
David Baker
19dcd83aeb Revert "Merge pull request #841 from matrix-org/luke/fix-double-dialogs"
This reverts commit 1913a32fbd, reversing
changes made to 0c16298c45.
2017-05-16 14:50:19 +01:00
David Baker
6bd7af2917 Revert "Merge pull request #867 from matrix-org/t3chguy/BaseDialog-patch1"
This reverts commit 3549ff2543, reversing
changes made to 1db677141e.
2017-05-16 14:00:09 +01:00
Luke Barnard
f199f3599e Replace NeedToRegisterDialog /w SetMxIdDialog
This uses MatrixChat's `view_set_mxid`
2017-05-15 17:31:26 +01:00
Luke Barnard
5151264f60 Merge branch 'develop' into new-guest-access
Conflicts:
	src/component-index.js
2017-05-11 13:22:30 +01:00
Luke Barnard
6257bfcd87 Add prop type for onDifferentServerClicked 2017-05-10 14:28:48 +01:00
Luke Barnard
ad2ed12980 Redesign mxID chooser, add availability checking
Requires https://github.com/matrix-org/matrix-js-sdk/pull/432 for availability checking.

Changes:
 - Redesign the dialog to look more like https://github.com/vector-im/riot-web/issues/3604#issuecomment-299226875
 - Attempt to fix wrong password being stored by generating one per SetMxIdDialog (there's no issue tracking this for now, I shall open one if it persists)
 - Backwards compatible with servers that don't support register/availability - a spinner will appear the first time a username is checked because server support can only be determined after a request.
 - Rate-limited by a 2s debounce
 - General style improvements
2017-05-10 14:22:17 +01:00
Michael Telatynski
f02e659fb7 Consume key{up,down,pressed} events
so they don't trigger other things bubbling up
until Modal is closed
2017-05-09 11:27:06 +01:00
Pablo Saavedra
17262ad80d Added TextInputWithCheckbox dialog 2017-05-08 12:18:31 +02:00
Michael Telatynski
bd32df4ef6 comment wording 2017-05-07 20:58:30 +01:00
Michael Telatynski
360f1cd250 completely missed the ESC check
I need sleep
2017-05-07 20:57:54 +01:00
Michael Telatynski
78e7272344 Fixes 2 issues with Dialog closing
+ Upload Confirmation dialog would just change focus on ESC and not close
+ Keywords Dialog in UserSettings would also close UserSettings because event bubbled up
2017-05-07 20:43:42 +01:00
Michael Telatynski
18ba5d3e49 fix typo
made in #849
2017-05-03 12:39:24 +01:00
Luke Barnard
4f71f4c331 Store mx_pass at the same point as access_token
So that we don't overwrite the existing one every time we try to register.
2017-05-02 10:07:06 +01:00
Luke Barnard
a887af9f92 copyright 2017-05-02 09:56:14 +01:00
Luke Barnard
8774100508 Initial implementation: SetDisplayName -> SetMxIdDialog
- Replaces SetDisplayNameDialog with SetMxIdDialog. This new dialog will use InteractiveAuth to authenticate a user with their chosen mxid.

De-scoped:
 - style tweaks for the InteractiveAuth in the dialog (capcha) and error message.
 - checking for mxid availability
2017-04-28 13:22:55 +01:00
Luke Barnard
5f0ecc588f Fix dialog reappearing after hitting Enter
Fixes https://github.com/vector-im/riot-web/issues/3714

https://github.com/vector-im/riot-web/issues/3714#issuecomment-297460620 :
> It's as if there are two dialogs and as one closes, the other one appears. For some reason matrix-org/matrix-react-sdk#822 is causing this.
> I've realised it's because the `priorActiveElement` is probably the button that opened the dialog. If this is focused and the enter key is released, this triggers a keyPress which fires once the dialog has closed and the button has been focused 😬 the BaseDialog only calls stopPropagation _onKeyDown.

The soln. was to submit the dialog as finished `onKeyUp`. This means the `priorActiveElement` is focussed after any key events that should be associated with the dialog.
2017-04-26 17:37:52 +01:00
Luke Barnard
5c83d4d2ed Merge pull request #832 from t3chguy/ude_break_out_room
show the room name in the UDE Dialog
2017-04-25 10:04:23 +01:00
Michael Telatynski
e64b647799 show the room name in the UDE Dialog
especially useful when it appears after you switch rooms

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-25 09:26:21 +01:00
turt2live
e6fd380947 Change redact -> remove for clarity
Addresses vector-im/riot-web#2814

Non-technical users may not understand what 'redact' means and can more easily understand what 'Remove' does. See discussion on vector-im/riot-web#2814 for more information.

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-04-24 12:49:09 -06:00
Matthew Hodgson
a2be764681 display err.message to user if available in error msgs 2017-04-23 01:48:27 +01:00
Matthew Hodgson
34c1a8f3cf make autofocus explicit on errordialog as it autoFocus attr seems unreliable 2017-04-22 17:28:48 +01:00
Michael Telatynski
6a657a6555 Remember element that was in focus before rendering dialog
restore focus to that element when we unmount

also remove some whitespace because ESLint is a big bad bully...

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-22 05:44:27 +01:00
Matthew Hodgson
90f526bdeb autofocus doesn't seem to work on this button 2017-04-20 00:42:13 +01:00
David Baker
db3339de33 I still can't type 2017-03-27 17:03:59 +01:00
David Baker
9125c1b2cc I can't type 2017-03-27 17:00:05 +01:00
David Baker
a230354dbe Fix bug where you can't invite a valid address
Always show the entered text as an option if it's a valid address,
otherwise there's no way to invite an address that is valid and
also returns other mxids in the search results.

Fixes https://github.com/vector-im/riot-web/issues/3496
2017-03-27 16:40:01 +01:00
Matthew Hodgson
df63c779dd clarify that redact === delete 2017-03-19 02:34:25 +00:00
Keyvan Fatehi
25a4f4e3b6 Add ConfirmRedactDialog component
Signed-off-by: Keyvan Fatehi <keyvanfatehi@gmail.com>
2017-03-18 18:58:28 -07:00
Luke Barnard
b21f016d37 Add "Export E2E keys" option to logout dialog
Fixes https://github.com/vector-im/riot-web/issues/3184
2017-03-16 14:18:18 +00:00
Luke Barnard
ba0715ba7c Fix import for Lifecycle
This fixes https://github.com/vector-im/riot-web/issues/2991 although we might need to give more feedback than just showing the login screen. Maybe a dialog that says "your account has been deactivated".
2017-03-13 14:10:14 +00:00
Matthew Hodgson
925bbb79ad fix kick dialog CSS 2017-03-13 00:47:33 +00:00
Matthew Hodgson
8a0b08e7f6 fix CSS for ChatCreateOrReuseDialog.js 2017-03-13 00:03:33 +00:00
Matthew Hodgson
bf64f387ce name class to match file 2017-03-12 23:50:12 +00:00
Matthew Hodgson
3a849bce60 name class to match file 2017-03-12 23:48:57 +00:00
Matthew Hodgson
3aaf37df1a beautify a tonne more errors 2017-03-12 22:59:41 +00:00
Matthew Hodgson
e5a5b5cd08 oops 2017-03-12 20:13:39 +00:00
Matthew Hodgson
b7d5d2fd56 beautify UserSettings error msg
fix up default dialog cancel button
2017-03-12 20:03:14 +00:00
Luke Barnard
b7f1b1a424 Merge pull request #736 from matrix-org/luke/chat-create-or-reuse-dialog
Allow user to choose from existing DMs on new chat
2017-03-07 16:22:52 +00:00
Luke Barnard
bf348a0f78 Instead of listening for view_room, use a callback
But make sure that nothing other than the callback is done when RoomTile is clicked.
2017-03-06 17:44:29 +00:00
Luke Barnard
20fa36325f Remember to unregister on unmoun 2017-03-06 15:01:46 +00:00
Luke Barnard
4548d1b824 Use dispatch instead of passing onClick, adjust dialog wording. 2017-03-06 14:51:01 +00:00
Luke Barnard
a122b5d88e Style 2017-03-06 14:22:12 +00:00
David Baker
30eddf9fda Merge pull request #734 from matrix-org/luke/fix-resend
Fix resend bar and "send anyway" in UDD
2017-03-06 11:06:52 +00:00
David Baker
62d9439530 Remove old import & pass through result
in InteractiveAuthDialog
2017-03-03 14:31:52 +00:00
Luke Barnard
ca5c2fb82e Allow user to choose from existing DMs on new chat
When creating a new chat with one person, show a dialog that asks the user whether they'd like to use an existing chat or actually create a new room.

Fixes https://github.com/vector-im/riot-web/issues/2760
2017-03-03 13:48:37 +00:00
David Baker
1bdf213d67 Merge pull request #729 from matrix-org/dbkr/register_ui_auth
Port registration over to use InteractiveAuth
2017-03-03 13:37:41 +00:00
David Baker
977b8a7379 Make UIAuth Dialog show an error
when auth fails
2017-03-03 12:08:26 +00:00
Luke Barnard
ab9aaa9174 Merge pull request #732 from matrix-org/luke/fuse-test
Test to see how fuse feels
2017-03-03 10:46:41 +00:00
Luke Barnard
b822bc66ee Remove redundant null check 2017-03-03 10:22:02 +00:00
Luke Barnard
4fff383de5 Fix resend bar and "send anyway" in UDD 2017-03-03 10:02:08 +00:00
David Baker
0035a91596 Merge pull request #731 from matrix-org/luke/warn-users-e2e-first-time
Warn users about using e2e for the first time
2017-03-02 13:28:15 +00:00
Luke Barnard
6d296a0e7a Warn users about using e2e for the first time 2017-03-01 15:41:13 +00:00
Luke Barnard
7221900497 Refactor remove resend_all_events and cancel_all_events dispatches 2017-02-27 13:39:12 +00:00
David Baker
51467506f8 Port registration over to use InteractiveAuth
These changes are moved over from the dbkr/msisdn_signin branch
2017-02-24 11:41:23 +00:00
Luke Barnard
439bde309e General ChatInviteDialog optimisations
- Use avatar initial instead of "R" or "?"
- Use Fuse.js to do case-insensitive fuzzy search. This allows for better sorting of results as well as search based on weighted keys (so userId has a high weight when the input starts with "@").
- Added debounce of 200ms to prevent analysis on every key stroke. Fuse seems to degrade performance vs. simple, non-fuzzy, unsorted matching, but the debounce should prevent too much computation.
- Move the selection to the top when the query is changed. There's no point in staying mid-way through the items at that point.
2017-02-23 12:12:25 +00:00
Luke Barnard
b41787c335 Initial work on improving invite dialog 2017-02-23 09:03:20 +00:00
Luke Barnard
b68b0e25c8 Merge Matthew's wording patch 2017-02-22 16:59:45 +00:00
Luke Barnard
436e6b36f1 Move UDE handling to a its own file, adjust wording 2017-02-22 16:42:14 +00:00
Luke Barnard
816e0be3a0 Retry->Send anyway 2017-02-22 16:17:49 +00:00
Luke Barnard
c13ff254b1 Add "Retry" button to UDE 2017-02-22 10:21:43 +00:00
Luke Barnard
878e31eba2 Show UDDialog on m.call.invite failure
Requires https://github.com/matrix-org/matrix-js-sdk/pull/378

Also, refactored UDDialog creation into its own dispatch event, because there will be other parts of the code that will want to spawn one.
2017-02-21 17:22:22 +00:00
David Baker
db4b9691cc Support reasons for kick / ban
Don't ban me for fun, girl
Let me be the one, girl
Ban me for a reason
Let the reason be love.
2017-02-17 17:27:46 +00:00
Richard van der Hoff
bdb8f9d052 Don't force-logout the user if reading localstorage fails
Give them a modal dialog to give them a chance to abort.
2017-02-15 19:33:39 +00:00
David Baker
ec0ce76d87 Clarify docs 2017-02-14 16:09:02 +00:00
David Baker
8001c0b16b Add confirmation dialog to kick/ban buttons
Add a specific dialog used for confirming member actions.

Also remove onFinished from MemberInfo which did absolutely
nothing.
2017-02-14 13:40:19 +00:00
David Baker
36d126f3a9 PR feedback 2017-02-13 19:09:43 +00:00
David Baker
77b226631a Copyright 2017-02-13 16:15:00 +00:00
David Baker
79d9deb339 Split out InterActiveAuthDialog
Into a component that does Interactive Auth and a dialog that
wraps it, so we can do interactive auth not necessarily in a
dialog.

As a side effect:
 * Put the buttons for each auth stage in the stage itself.
   Some stages don't have submit buttons (and it's very possible
   other stages may have other buttons entirely, like 'resend')
   so it makes more sense for the buttons to live in the stage
   components themselves. Plus it saves the slightly evil
   calling-functions-on-react-children thing we were doing (and
   indeed extending that to show the submit button at all).
 * Give all BaseDialogs a cross in the top right to cancel. They
   were all dismissable by clicking outside or pressing esc, so
   this adds a more visually obvious way of dismissing them. Plus,
   it means our InteractiveAuthDialog can have a way of canceling
   the whole operation separate from buttons for the individual
   stages.
2017-02-13 16:03:21 +00:00
Richard van der Hoff
484d9d708e Logging to try to track down riot-web#3148
Since I can't figure out how this is happening, add a shedload of logging to
try to pin it down.
2017-02-06 16:01:25 +00:00
Richard van der Hoff
e018eef9fa UnknownDeviceDialog.js: tweak warning 2017-02-03 10:50:03 +00:00
Matthew Hodgson
5de84f845a tweak verbiage 2017-02-03 01:49:05 +00:00
Matthew Hodgson
be41462f3a merge 2017-02-02 22:05:44 +00:00
Matthew Hodgson
5d5125df15 fix copyright & always show gemini 2017-02-02 18:02:07 +00:00
Matthew Hodgson
5e5b7f89f4 support scrollable content for UnknownDeviceDialog 2017-02-02 00:25:49 +00:00
Matthew Hodgson
c09d173415 Merge branch 'develop' into matthew/warn-unknown-devices 2017-02-01 22:34:55 +00:00
David Baker
f5458d34aa Fix inviting import fail 2017-01-27 21:57:34 +00:00
Richard van der Hoff
2c7b3d9a02 UnknownDeviceDialog: Reword the warning 2017-01-26 14:55:58 +00:00
Richard van der Hoff
0a3d9fc17f Fix lint 2017-01-26 14:12:00 +00:00
Richard van der Hoff
67bd2cf9dd Merge branch 'matthew/warn-unknown-devices' into matthew/blacklist-unverified 2017-01-26 14:09:25 +00:00
David Baker
c42b705497 Use a cancel function
rather than checking queryList each time
2017-01-26 10:54:07 +00:00
David Baker
23a25e550d Missed a function 2017-01-26 10:09:33 +00:00
David Baker
bf66f77acb Set state in _lookupThreepid 2017-01-26 10:08:44 +00:00
Richard van der Hoff
60d7575146 Merge branch 'matthew/warn-unknown-devices' of github.com:matrix-org/matrix-react-sdk into matthew/warn-unknown-devices 2017-01-25 23:17:57 +00:00
Matthew Hodgson
ebf6ba8994 explicitly set device known-ness 2017-01-25 23:52:56 +01:00
Richard van der Hoff
5da6ca8fc1 Refactor UnknownDeviceDialog
hopefully make this a bit more readable, and use our new BaseDialog.
2017-01-25 22:23:21 +00:00
David Baker
e1e87807b5 Look up email addresses in ChatInviteDialog
So email addresses known to the IS get a display name & avatar
2017-01-25 18:51:28 +00:00
Richard van der Hoff
a2dd1fa0a9 Merge branch 'develop' into matthew/warn-unknown-devices 2017-01-25 16:44:03 +00:00
David Baker
a3b938427d Merge pull request #625 from matrix-org/dbkr/user_search_feedback
Better feedback in invite dialog
2017-01-25 15:59:47 +00:00
David Baker
ced1c45a34 Doc state in getinitialstate 2017-01-25 15:23:50 +00:00
David Baker
e9804086ca Point to InviteAddressType 2017-01-25 15:03:01 +00:00
Richard van der Hoff
adf8f50f6e Merge remote-tracking branch 'origin/develop' into rav/base_dialog 2017-01-25 15:01:11 +00:00
David Baker
9020a7515c Correctly bail out on unknown address 2017-01-25 14:50:00 +00:00
David Baker
e567162d28 Merge pull request #648 from matrix-org/rav/fix_set_displayname
Fix SetDisplayNameDialog
2017-01-25 14:32:52 +00:00
David Baker
fc9987a827 Merge pull request #646 from matrix-org/matthew/password-reset-warning
Warn users of E2E key loss when changing/resetting passwords or logging out
2017-01-25 11:04:35 +00:00
Richard van der Hoff
29b4dde878 Fix SetDisplayNameDialog
SetDisplayNameDialog got broken by the changes to support asynchronous loading
of dialogs.

Rather than poking into its internals via a ref, make it return its result via
onFinished.

Fixes https://github.com/vector-im/riot-web/issues/3047
2017-01-25 08:01:45 +00:00
Richard van der Hoff
770820e6fa Fix a bunch of lint complaints 2017-01-24 22:41:52 +00:00
Matthew Hodgson
6e55bb4956 actually, move signout warning to UserSettings.js
also, kill off the inexplicably useless LogoutPrompt in favour of a normal QuestionDialog.
This in turn fixes https://github.com/vector-im/riot-web/issues/2152
2017-01-24 23:15:00 +01:00
Richard van der Hoff
79e1108564 Merge branch 'develop' into rav/base_dialog 2017-01-24 21:03:08 +00:00
Richard van der Hoff
6dd46d532a Merge remote-tracking branch 'origin/develop' into rav/hotkey-ux 2017-01-24 20:47:24 +00:00
David Baker
6c263c1c89 Change what AddressTile takes to be Objects
Rather than just passing in a list of strings. This paves the way
for passing in display names & avatars of looked-up threepids.
2017-01-24 18:23:34 +00:00
Richard van der Hoff
56cf7a6af7 Create a common BaseDialog
I'm fed up with copying the boilerplate for modal dialogs the whole time.
2017-01-24 18:18:54 +00:00
David Baker
f1f6fc809c Merge remote-tracking branch 'origin/develop' into dbkr/user_search_feedback 2017-01-24 11:26:09 +00:00
David Baker
506d37bbad Merge remote-tracking branch 'origin/develop' into dbkr/add_searching_known_users 2017-01-23 11:34:44 +00:00
David Baker
f64a4e0ecb Merge pull request #623 from matrix-org/dbkr/user_search_word_boundary
Make user search do a bit better on word boundary
2017-01-23 11:31:26 +00:00
Matthew Hodgson
7bc3fc8696 make UnknownDeviceDialog work again, other than the mess of vector-im/vector-web#3020 2017-01-22 01:28:43 +01:00
Matthew Hodgson
532f4e59c9 literally blindly add verification buttons 2017-01-21 19:06:15 +01:00
Matthew Hodgson
071e364be2 improve the verify warning if blacklisting is unabled 2017-01-21 17:56:48 +00:00
Matthew Hodgson
3071fc0ddc UI for blacklisting unverified devices per-room & globally
(written blind; untested as yet)
2017-01-21 17:39:39 +00:00
Matthew Hodgson
2e15e8f9b4 very barebones support for warning users when rooms contain unknown devices 2017-01-21 05:13:36 +00:00
David Baker
18d4d3392a Fix a bunch of linting errors
eslint --fix and a few manual ones
2017-01-20 14:22:27 +00:00
Richard van der Hoff
2d060c8d2e Fix error display in account deactivate dialog 2017-01-20 11:04:47 +00:00
David Baker
afa384c4f3 Use null instead of false 2017-01-19 18:13:27 +00:00
David Baker
a2ff1cd8e6 Factor out adding the input field to the list 2017-01-19 17:03:16 +00:00
David Baker
ee1f6c772e Remove duplicate case handled above
And fix typo where it was handled
2017-01-19 16:50:09 +00:00
David Baker
2a08abaa95 Keep old behaviour of submitting on enter
if input is empty
2017-01-19 16:35:40 +00:00
David Baker
d8bcc1f067 Merge remote-tracking branch 'origin/develop' into dbkr/sanitize_chatinvitedialog 2017-01-19 16:26:59 +00:00
David Baker
b58a67f6b1 Add more punctuation. Also s/let/const/ 2017-01-19 10:51:43 +00:00
David Baker
242f5e0301 PR feedback
* Doc & properly indent escapeRegExp
 * Add close bracket to the list of punctuation chars we search after
2017-01-19 10:24:21 +00:00
David Baker
7b7728c93a Make behaviour of ChatInviteDialog more consistent
* Pressing enter now always adds whatever was in the input box
   to the invite list, if it's a valid address (previously it
   added it to the list of it was a search result but submitted
   the form straight away if there were no results).
 * Remove isValidAddress as it was only used in the context of
   testing whether its return value was true or null (where null
   meant "unsure") so just use getAddressType instead.
2017-01-18 18:32:38 +00:00
David Baker
f105ec2794 Attempt to sanitize ChatInviteDialog a bit
* Use binds rather than onFoo functions which aren't actually
   handler functions themselves but return them
 * Rename onKeyUp to moveSelectionDown etc,, reserving onKeyUp
   for "a key has been released" rather than, "the up arrow key
   has been pressed"
2017-01-18 17:51:39 +00:00
David Baker
de621902fc Better feedback in invite dialog
Show feedback if you enter a valid but unknown email address
or mxid

Fixes https://github.com/vector-im/riot-web/issues/2933
2017-01-18 15:21:50 +00:00
David Baker
a87e7d6617 Make user search do a bit better on word boundary 2017-01-17 18:17:51 +00:00
David Baker
0b67fd5b4e Add 'searching known users' to the user picker
So it's more obvious it's only finding people you've already seen

Fixes https://github.com/vector-im/riot-web/issues/2931
2017-01-17 14:48:50 +00:00
Richard van der Hoff
ac22803ba0 Allow Modal to be used with async-loaded components
Add Modal.createDialogAsync, which can be used to display asynchronously-loaded
React components. Also make EncryptedEventDialog use it as a handy
demonstration.
2017-01-16 17:18:38 +00:00
Jani Mustonen
959163f2ef Proper accessible buttons 2017-01-13 19:36:41 +02:00
Jani Mustonen
8d79716421 Turned the links to buttons to comply with MDN's recommendations 2017-01-13 19:36:40 +02:00
Jani Mustonen
ad072cc179 Turned buttons from divs to links. Makes it possible for screen readers and hotkeys to recognize the buttons. 2017-01-13 19:36:40 +02:00
Matthew Hodgson
cc8b3d4ba4 spell out email invites better 2017-01-12 13:46:19 +00:00
Richard van der Hoff
c7fb83ed2d s/block/blacklist for e2e
Fixes https://github.com/vector-im/vector-web/issues/2315
2016-11-29 18:48:43 +00:00
Richard van der Hoff
1a81397d31 InteractiveAuthDialog
A dialog which will take the user through an interactive-auth process
2016-10-12 08:23:28 +01:00
Richard van der Hoff
2f7b4f74fd Move the device verification buttons to their own class
Instead of pulling in the whole of MemberDeviceInfo into EncryptedEventDialog
for utterly no reason and breaking everything
2016-09-22 19:24:09 +01:00
Richard van der Hoff
2842506b27 EncryptedEventDialog updates
* Separate info on the event from info on the device, and add a couple of new
   fields.

 * Use MatrixClient.getEventSenderDeviceInfo (requires
   https://github.com/matrix-org/matrix-js-sdk/pull/214)

 * Don't force a download of the device keys every time we open the dialog

 * Fix a react warning if the device query takes a while
2016-09-21 10:36:23 +01:00
Matthew Hodgson
6e57faecb0 trim whitespace when adding to list 2016-09-17 16:14:02 +01:00
Matthew Hodgson
da85df9d1a let comma trigger autocomplete. hook up backspace. search displaynames that include space 2016-09-17 15:21:08 +01:00
Matthew Hodgson
671eacaac7 fix self/this crash, and don't let guests invite 2016-09-17 02:05:27 +01:00
Matthew Hodgson
8519756c8c add dialog keyboard shortcuts. 2016-09-16 02:26:17 +01:00
Matthew Hodgson
eeb01563f8 add dialog keyboard shortcuts. download keys on demand 2016-09-16 02:26:09 +01:00
Matthew Hodgson
b98c2ae25e update crypto state of the room in realtime when turned on 2016-09-15 19:25:53 +01:00
Matthew Hodgson
2bd408983d Merge pull request #475 from matrix-org/wmwragg/remove-old-filter
Wmwragg/remove old filter
2016-09-15 15:01:19 +01:00
wmwragg
54a65f8bd7 Corrected onKeyUp misstype and return can now be used instead of clicking the button 2016-09-15 12:17:32 +01:00
wmwragg
27456d0e20 Removed no longer used MultiInviteDialog, as it's now been replaced with the ChatInviteDialog 2016-09-15 11:46:06 +01:00
Matthew Hodgson
ce655c7f50 improve device info 2016-09-15 02:44:55 +01:00
Matthew Hodgson
1a126fee54 Merge pull request #473 from matrix-org/wmwragg/multi-invite-bugfix
Wmwragg/multi invite bugfix
2016-09-14 22:06:28 +01:00
Matthew Hodgson
acd999be45 better describe keys 2016-09-14 18:23:14 +01:00
wmwragg
a06896f96c Added the room name to the error message 2016-09-14 16:28:44 +01:00
wmwragg
435570a022 Better error reporting for failed multi invites 2016-09-14 16:19:09 +01:00
wmwragg
75c9f707e0 Don't show current user in queryList 2016-09-14 15:35:04 +01:00
wmwragg
d3a709f98e Missed a _isDmChat call when refactoring 2016-09-14 15:19:57 +01:00
wmwragg
c3566e0b49 _isDmChat needs to check the passed in addrs rather than the state.inviteList as they may now differ 2016-09-14 15:17:29 +01:00
wmwragg
a7a81c8a32 A manual address doesn't have to be converted to an address tile before it can be used if it is the still in the input field when the start/invite button is pressed 2016-09-14 15:09:23 +01:00
wmwragg
2a8518b72b Tab can now be used for selection of address from list, as well as adding a manual mxid or email address 2016-09-14 14:53:13 +01:00
wmwragg
7fa102998c Added valid but unknown mx user 2016-09-13 17:09:40 +01:00
wmwragg
890100a5bc Silly mistake fixed, spotted by Dave (cheers) 2016-09-13 16:28:35 +01:00
wmwragg
272dd82b9d Added multi invite functionality 2016-09-13 16:06:04 +01:00
wmwragg
538b68a6b2 Updated with the new createRoom DM stuff 2016-09-13 12:47:31 +01:00
wmwragg
524eeaa315 Merge up from develop 2016-09-13 12:37:52 +01:00
wmwragg
cba76d651a Moved the isValidAddress method to the Invite utilty object 2016-09-13 12:12:33 +01:00
wmwragg
0b267763e2 Small refactor to handle Direct Message chat as well as multi invite chat 2016-09-13 12:07:49 +01:00
wmwragg
ca2ba55288 Added error checking, and UI 2016-09-13 11:02:59 +01:00
wmwragg
a7ea193189 A supplied roomId property, will make the dialog use that room for the invites, rather than creating a new one 2016-09-13 10:29:17 +01:00
Matthew Hodgson
ce40fa1a8f add missing dialog 2016-09-12 23:43:00 +01:00
Matthew Hodgson
9b7ab46a72 dedicated dialog box for E2E messages 2016-09-12 23:42:24 +01:00
David Baker
e49547eb3e Merge pull request #461 from matrix-org/dbkr/dont_reuse_parted_rooms
Don't re-use parted rooms for DMs
2016-09-12 18:30:55 +01:00
wmwragg
0f720dd6b8 Oops, toLowerCase call in wrong place 2016-09-12 17:41:32 +01:00
wmwragg
96299e864a Need cto push the actual userId not the toLowerCase version, as userId's are case sensitive 2016-09-12 17:38:32 +01:00
wmwragg
44b8c29c84 Allow addresses to be added as text when space or comma are pressed 2016-09-12 17:06:43 +01:00
wmwragg
5b2cc555a3 Refactored AddressTile to use string address rather than user object, so it can user email as well mx userId 2016-09-12 16:52:04 +01:00
David Baker
6ffa7c23cd Don't re-use parted rooms for DMs 2016-09-12 16:05:51 +01:00
wmwragg
e28a3f10a0 Don't allow someone who is already on the invite list to appear in the AddressSelector 2016-09-12 15:48:32 +01:00
wmwragg
4836025a1d First pass at adding multiple addresses, can only add from AddressSelector at the moment 2016-09-12 15:21:17 +01:00
wmwragg
5acdb8233b The dismiss function now correctly deletes the dismissed element. Also the query render, will now render all invitees 2016-09-12 15:04:32 +01:00
wmwragg
d538377b82 Added an inviteList state to hold all the users to invite, but currently pretend it only has one users (the first one) 2016-09-12 14:48:00 +01:00
wmwragg
28dcbb2a78 Refactored the queryList into seperate AddressSelector component 2016-09-12 13:00:44 +01:00
David Baker
96fabe09d2 Update createRoom to support creating DM rooms
* Make ChatInviteDialog and MemberInfo createRoom use it
* Fix bug in setDMRoom
2016-09-09 19:25:00 +01:00
wmwragg
d1974a75fd Only Direct Message rooms, that aren't parted or forgotten are used 2016-09-08 13:09:54 +01:00
wmwragg
d0523cae70 If a Direct Message room already exists for the users specified, then just go to that room, rather than creating another one 2016-09-08 11:45:09 +01:00
wmwragg
ca3910f5a8 Mouse actions on the queryList added, as well as better queryListElement styling 2016-09-07 16:18:50 +01:00
wmwragg
dd186dd612 Fixed wrong type to justified prop 2016-09-07 10:59:06 +01:00
wmwragg
7e60012bd4 Added justification for the AddressTile, when requested 2016-09-07 10:55:44 +01:00
wmwragg
45256f5d58 Validation checks added 2016-09-06 17:46:00 +01:00
wmwragg
52f050b5f9 Better scrolling UX, and fixed bug which created a room when no address supplied 2016-09-06 17:20:37 +01:00
wmwragg
c03f145f04 Basic keyboard scrolling of queryList 2016-09-06 17:00:28 +01:00
wmwragg
91b1c1f0fc Initial highlighting selected address - styling not final 2016-09-06 16:39:50 +01:00
wmwragg
d1398b137a Circumventing autofill by using a textarea rather than an input type=text 2016-09-06 16:15:48 +01:00
wmwragg
0f73c4326e Added scrolling to queryList 2016-09-06 15:46:58 +01:00
wmwragg
391fe0ab77 Basic address list created, and UX tweaks for interaction 2016-09-06 15:24:23 +01:00
wmwragg
ddf1e4841a Selecting users with arrow keys added 2016-09-06 13:07:06 +01:00
wmwragg
1fe85f37fd Correct AddressTile and ChatInviteDialog styling, and performance tweak to searching 2016-09-06 11:34:38 +01:00
wmwragg
5ed680e5ce Picking the top of the queryList not _userList, as the queryList is the query filtered _userList 2016-09-05 17:34:20 +01:00
wmwragg
3dd84e2b8a Initial AddressTile added 2016-09-05 17:28:08 +01:00
wmwragg
d9c6448a0f Adding better deafults and ErrorDialog message 2016-09-05 14:29:21 +01:00
wmwragg
3d66dff0aa Basic ChatInviteDialog functionality - Creates new room, and tries to invite the address typed into the text box, and reports errors, if any 2016-09-05 14:16:21 +01:00
wmwragg
ca443e01d8 Initial commit of the new ChatInviteDialog 2016-09-05 12:03:16 +01:00
David Baker
a58a6275e5 Just use _canceled
Instead of both that and _unmounted
2016-08-11 10:06:22 +01:00
David Baker
cab95f43ff Show cancel button whilst inviting is in progress
And make it actually cancel the process.
2016-08-10 18:58:36 +01:00
David Baker
d6f7358f81 Make completionStates an object
So that we can sensibly track the number completed by taking the length of it.
2016-08-10 18:50:56 +01:00
David Baker
fa498eb8c6 Comment typo 2016-08-10 18:37:21 +01:00
David Baker
6b3b2e30fe Don't reset completionStates
We now set them in the constructor
2016-08-10 18:36:33 +01:00
David Baker
b9f0b72ae1 Missing proptypes 2016-08-10 18:35:59 +01:00
David Baker
54b3638a85 Better support for inviting multiple people
Pasting a list of addresses into the box will now pop up a dialog to confirm and show you the success / failure state of each address. It will also not die if it gets rate limited.

Fixes https://github.com/vector-im/vector-web/issues/1713
2016-08-10 17:11:49 +01:00
David Baker
f7fda68e26 Use p tags instead of brs 2016-08-04 10:53:07 +01:00
David Baker
c017e8dcf4 Initialise _passwordField & delete stale comment 2016-08-04 10:51:31 +01:00
David Baker
ffa97a4095 Log out when account is deactivated 2016-08-03 11:47:29 +01:00
David Baker
2f0fd6da05 Actually commit the deactivate account dialog 2016-08-03 11:34:13 +01:00
wmwragg
febd2110c5 Updated all dialogs to define their primary button, I've selected the one that had been specified for focus, but the primary button isn't dependent on focus, it's a UX feature 2016-07-15 11:23:58 +01:00
Matthew Hodgson
532e93d7cb fix up trailing whitespace and put the buttons in the right order 2016-06-02 21:07:04 +01:00
David Baker
e20c599273 Swap register & cancel buttons for matthew 2016-03-23 11:48:47 +00:00
David Baker
4e9c37c069 Remove unused prop 2016-03-22 17:23:46 +00:00
David Baker
7f6eabe657 Fix doc for NeedToRegisterDialog and the place I copied it from 2016-03-22 17:20:22 +00:00
David Baker
5f1fabd982 Error message #1: guests can't invite people. Also add a dialog box for telling people they need to register. 2016-03-22 10:57:05 +00:00
Matthew Hodgson
03bdcf265a fix proptypes on dialogs 2016-03-18 11:20:00 +00:00
Matthew Hodgson
e63990a66e ensure we call onFinished successfully if the user actually hits submit 2016-03-18 11:12:37 +00:00
Matthew Hodgson
396d23b267 kill annoying warning 2016-03-17 18:49:40 +00:00
Matthew Hodgson
61018f4f38 whitespace 2016-02-15 20:42:44 +00:00
Matthew Hodgson
dfbc88d421 fix keyboard shortcuts on logout prompt 2016-02-15 22:01:05 +02:00
Matthew Hodgson
e17d77778f sanitize setting displayname prompt 2016-02-15 19:37:03 +02:00
David Baker
167da10b8b address PR comments 2016-02-04 15:07:30 +00:00
David Baker
47fef0896f Prompt for display name before joining your first room (if you haven't set one).
Fixes https://github.com/vector-im/vector-web/issues/758
2016-02-04 11:49:10 +00:00
manuroe
7985413893 Created TextInputDialog
In css, created a generic mx_Dialog_title class for all dialogs
2016-01-13 16:32:41 +01:00
Matthew Hodgson
0772f50fab update copyright for 2016 2016-01-07 04:06:52 +00:00
Kegan Dougal
e008b5578d Move and merge LogoutPrompt 2015-11-30 15:23:16 +00:00
Kegan Dougal
fcb6db684b Move and merge QuestionDialog and ErrorDialog 2015-11-30 14:11:04 +00:00