Commit graph

499 commits

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