Commit graph

338 commits

Author SHA1 Message Date
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